Subsecções de O Que Há de Novo
v26.5
Novo Recurso Sanitizar para Segurança de PDF
- Sanitiza dados ocultos de um documento PDF, garantindo que informações sensíveis ou desnecessárias, como metadados, anexos, anotações, JavaScripts, formulários, camadas, índice de pesquisa ou conteúdo privado, sejam removidos ou transformados.
- Class PdfSecurity: adicionou o método Sanitize para sanitizar documentos PDF.
- Class SanitizeOptions: representa as opções de configuração para a sanitização de dados ocultos em um documento para a classe PdfSecurity.
- Property Input: obtém ou define os dados de entrada.
- Property Output: obtém ou define os dados de saída.
- Property ConvertPagesToImages: obtém ou define a opção de converter páginas em imagens.
- Property ImageDpi: obtém ou define a opção de resolução das imagens das páginas durante a conversão de páginas para imagens.
- Property RemoveAnnotations: obtém ou define um valor que indica se as anotações devem ser removidas do documento.
- Property RemoveSearchIndexAndPrivateInfo: obtém ou define um valor que indica se o índice de pesquisa e as informações privadas devem ser removidos do documento.
- Property FlattenForms: obtém ou define um valor que indica se os formulários do documento devem ser achatados durante o processo de sanitização.
- Property FlattenLayers: obtém ou define a opção de achatar as camadas no documento PDF.
- Property RemoveJavaScriptsAndActions: obtém ou define um valor que indica se os JavaScripts e ações associadas devem ser removidos do documento.
- Property RemoveMetadata: obtém ou define uma opção para remover metadados do documento.
- Property RemoveAttachments: obtém ou define a opção de remover todos os arquivos anexados do documento.
Exemplo de Uso:
O exemplo demonstra como Sanitizar um documento PDF.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Perform the process
PdfSecurity.Sanitize(options);
Exemplo de Uso:
O exemplo demonstra como Sanitizar PDF de stream para stream.
// Prepare input and output streams
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
using var outputStream = new MemoryStream();
// Create SanitizeOptions object to set input and output streams
var options = new SanitizeOptions(inputStream, outputStream);
// Perform the process
PdfSecurity.Sanitize(options);
Exemplo de Uso:
O exemplo demonstra como Sanitizar PDF de arquivo para stream.
// Prepare output stream
using var outputStream = new MemoryStream();
// Create SanitizeOptions object to set input file and output stream
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", outputStream);
// Perform the process
PdfSecurity.Sanitize(options);
Exemplo de Uso:
O exemplo demonstra como Sanitizar PDF de arquivo para stream definindo manualmente as propriedades de entrada e saída.
// Create SanitizeOptions object
var options = new SanitizeOptions();
//Set Input file
options.Input = new FileData("path_to_your_pdf_file.pdf");
//Set Output file
options.Output = new FileData("path_to_result_pdf_file.pdf");
// Perform the process
PdfSecurity.Sanitize(options);
Exemplo de Uso:
O exemplo demonstra como Sanitizar PDF sem remover Metadados.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveMetadata = false;
// Perform the process
PdfSecurity.Sanitize(options);
Exemplo de Uso:
O exemplo demonstra como Sanitizar PDF sem remover Anexos.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveAttachments = false;
// Perform the process
PdfSecurity.Sanitize(options);
Exemplo de Uso:
O exemplo demonstra como Sanitizar PDF convertendo todas as páginas em imagens e definindo o DPI de resultado.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Turn on conversion and set dpi
options.ConvertPagesToImages = true;
options.ImageDpi = 200;
// Perform the process
PdfSecurity.Sanitize(options);
Exemplo de Uso:
O exemplo demonstra como Sanitizar PDF sem remover JavaScripts e Ações.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveJavaScriptsAndActions = false;
// Perform the process
PdfSecurity.Sanitize(options);
Exemplo de Uso:
O exemplo demonstra como Sanitizar um arquivo PDF da forma mais curta possível.
PdfSecurity.Sanitize(new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf"));
- Representa opções base para operações com 1 dado de entrada e 1 dado de saída.
- Based on OptionsWithInput.
- Property Input: obtém ou define os dados de entrada.
- Property Output: obtém ou define os dados de saída.
Desempenho Aprimorado de Conversão de PDF para JPEG
Página do produto “FAQs” atualizada para este site
https://docs.documentize.com/faqs/
Outras correções
- Corrigido problema de velocidade na conversão de HTML grande para PDF
- Corrigido PDF para HTML: ocorre OutOfMemoryException
- Corrigido PDF para PDFA: conteúdo da página é cortado
- Corrigido PDF para PDFA: problema de renderização de imagens transparentes
- Corrigido PDF para PDFA2b: anotações são perdidas na saída
- Corrigido PDF para PDF/A - Imagem aparece invertida no arquivo de saída
- Corrigido PDF para PDF/A - Arquivo resultante falha na conformidade PDF/A_2a
- Corrigido PDF para PDF/A - Arquivo resultante falha na conformidade
- Corrigido PDF para PDF/A - Assinatura fica preta após a conversão
- Corrigido PDF para PDF/A - Justificação de texto muda inesperadamente
- Corrigido PDF para PNG - Conversão leva tempo excessivo
- Corrigido PDF para PNG - Imagem de saída está incorreta
- Corrigido PDF para PNG - Imagem de saída apresenta bandas escuras
- Corrigido Incapacidade de validar a conformidade PDF/A_1b do documento
v26.4
- Method PdfExtractor.Extract: não lança uma exceção se as datas Created e Modified não forem encontradas no documento de entrada.
- Property PdfProperties.Created: retorna null se o valor não for encontrado no documento de entrada. Tipo de dado alterado de “DateTime” para “DateTime?”.
- Property PdfProperties.Modified: retorna null se o valor não for encontrado no documento de entrada. Tipo de dado alterado de “DateTime” para “DateTime?”.
Exemplo de uso:
O exemplo demonstra como extrair as propriedades Created e Modified
// Create ExtractPropertiesOptions object to set input file
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var created = pdfProperties.Created;
var modified = pdfProperties.Modified;
Desempenho aprimorado na renderização de PDF para TIFF
Página de produto criada para “PDF Converter” neste site
https://products.documentize.com/pdf-converter/
Outras correções
- Corrigido HTML para PDF – O desempenho era muito lento com textos HTML extensos
- Corrigido HTML para PDF – Cabeçalho e rodapé não apareciam nas páginas subsequentes
- Corrigido HTML para PDF – Tooltip não era renderizado corretamente
- Corrigido PDF para DOC – A conversão disparava exceção OutOfMemory
- Corrigido PDF para XLS – Colunas mescladas eram combinadas em uma única coluna
- Corrigido PDF para HTML – Imagens de fundo estavam ausentes
- Corrigido PDF para HTML – Hiperlinks locais não eram exibidos
- Corrigido PDF para JPEG – A imagem de saída aparecia preta
- Corrigido PDF para PDF/A – Problemas de formatação no arquivo resultante
- Corrigido PDF para PDF/A_1b – O arquivo resultante não estava em conformidade
- Corrigido PDF para PDF/A_3b – Problemas de formatação de texto no arquivo de saída
- Corrigido PDF para PDF/A-2B – A conversão removia caracteres matemáticos ao usar fontes OpenType MATH
v26.3
Renomeado IDataSource para IData
- Interface IDataSource: renomeada para IData.
- As classes de opções agora são mais fáceis de usar.
Renomeado FileDataSource para FileData
- Class FileDataSource: renomeada para FileData.
- As classes de opções agora são mais fáceis de usar.
- Comentários XML atualizados e corrigidos.
- Todos os exemplos com Entrada e Saída foram atualizados.
Exemplo de Uso:
O exemplo demonstra como usar FileData em Entrada e Saída.
// Create EncryptOptions object to set instructions
var options = new EncryptOptions("123456", "qwerty");
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Encrypt(options);
Renomeado StreamDataSource para StreamData
- Class StreamDataSource: renomeada para StreamData.
- As classes de opções agora são mais fáceis de usar.
- Comentários XML atualizados e corrigidos.
- Todos os exemplos com Entrada e Saída foram atualizados.
Exemplo de Uso:
O exemplo demonstra como usar StreamData na Saída.
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output stream
var outputStream = new MemoryStream();
options.AddOutput(new StreamData(outputStream));
options.CloseOutputStreams = false;
// Perform the process
PdfManager.AddTableOfContents(options);
Renomeado DirectoryDataSource para DirectoryData
- Class DirectoryDataSource: renomeada para DirectoryData.
- As classes de opções agora são mais fáceis de usar.
- Todos os exemplos com Entrada e Saída foram atualizados.
Exemplo de Uso:
O exemplo demonstra como Exportar valores de Formulário para um arquivo TSV e definir Propriedades.
// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryData("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);
Um erro de digitação nas palavras foi corrigido.
Exemplo de Uso:
O exemplo demonstra como Exportar valores de Formulário para um arquivo TSV e definir Propriedades.
// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions();
//Set Delimiter
options.Delimiter = '\t';
//Add Field Names to result
options.AddFieldName = true;
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_csv_file.tsv"));
// Perform the process
PdfExtractor.Extract(options);
Página de produto criada para “PDF Manager” neste site
https://products.documentize.com/pdf-manager/
https://products.documentize.com/pdf-form/
Problemas Resolvidos
- Problema corrigido onde Imagem para PDF causava uma exceção de Falta de Memória
- Problema corrigido onde a geração de Sumário resultava em resultados incorretos
- Problema corrigido onde a propriedade UnembedFonts de OptimizeResources disparava uma exceção
- Problema corrigido onde PDF para HTML não aplicava fontes corretamente ao ser visualizado no Internet Explorer
- Problema corrigido onde PDF para HTML produzia elementos deslocados e símbolos de formatação
- Problema corrigido onde o processo de conversão de PDF para PDF/A travava
- Problema corrigido onde PDF para PDF/A removia campos de formulário e seus valores
- Problema corrigido onde a saída de PDF para PDF/A não estava em conformidade com PDF/A_1a
- Problema corrigido onde a saída de PDF para PDF/A não estava em conformidade com PDF/A_2b
- Problema corrigido onde a saída de PDF para PDF/A-3A falhava na verificação de conformidade Preflight
- Problema corrigido onde a saída de PDF para PDF/A-3B falhava na verificação de conformidade Preflight
v26.2
- Class Extractor: pode extrair novos metadados de documentos PDF.
- Class PdfProperties: propriedades adicionadas: FileName, Created, Modified, Application, PdfProducer.
Exemplo de Uso:
O exemplo demonstra como extrair propriedades (FileName, Title, Author, Subject, Keywords, Created, Modified, Application, PDF Producer, Number of Pages) de um arquivo PDF.
// Create ExtractPropertiesOptions object to set input file
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var filename = pdfProperties.FileName;
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var created = pdfProperties.Created;
var modified = pdfProperties.Modified;
var application = pdfProperties.Application;
var pdfProducer = pdfProperties.PdfProducer;
var numberOfPages = pdfProperties.NumberOfPages;
Exemplo de Uso:
O exemplo demonstra como extrair propriedades (Title, Author, Subject, Keywords, Created, Modified, Application, PDF Producer, Number of Pages) de um fluxo PDF.
// Create ExtractPropertiesOptions object to set input stream
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractPropertiesOptions(stream);
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var created = pdfProperties.Created;
var modified = pdfProperties.Modified;
var application = pdfProperties.Application;
var pdfProducer = pdfProperties.PdfProducer;
var numberOfPages = pdfProperties.NumberOfPages;
- Trabalhar com extração de texto e parâmetros de extração agora está mais fácil: você pode especificar os dados de entrada e obter o resultado de forma mais simples.
- Class ExtractTextOptions: implementa IHaveInput. Use apenas 1 dado de entrada. Tipos de dados permitidos: File e Stream.
- Method Extract(ExtractTextOptions options): devolve uma string com os resultados.
- Object ResultContainer: removido de ExtractTextOptions.
Exemplo de Uso:
O exemplo demonstra como extrair o conteúdo de texto de um arquivo PDF.
// Create ExtractTextOptions object to set input file path
var options = new ExtractTextOptions("path_to_your_pdf_file.pdf");
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);
Exemplo de Uso:
O exemplo demonstra como extrair o conteúdo de texto de um fluxo PDF.
// Create ExtractTextOptions object to set input stream
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractTextOptions(stream);
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);
Exemplo de Uso:
O exemplo demonstra como extrair o conteúdo de texto de um documento PDF usando TextFormattingMode.
// Create ExtractTextOptions object to set input file path and TextFormattingMode
var options = new ExtractTextOptions("path_to_your_pdf_file.pdf", TextFormattingMode.Pure);
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);
Exemplo de Uso:
O exemplo demonstra como extrair texto de um arquivo PDF da forma mais concisa possível.
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(new ExtractTextOptions("path_to_your_pdf_file.pdf", TextFormattingMode.Pure));
Bugs Corrigidos
- Falha na conversão de arquivo Jpeg2000 para PDF
- Problema de concatenação de PDFs
- Redimensionamento de página PDF gera saída em branco
- PDF para HTML: cor de destaque visível, mas o texto está ausente
- PDF para HTML: HTML gerado incorreto
- PDF para HTML: texto vertical do lado esquerdo está ausente
- PDF para HTML: texto no cabeçalho desaparece
- PDF para HTML: texto anotado transparente não é exibido
- PDF para PNG: alguns caracteres chineses não são renderizados
v26.1
- Extrair Propriedades do PDF: Título, Autor, Assunto, Palavras‑chave, Número de Páginas.
- Class PdfExtractor: método Extract adicionado para extrair as Propriedades do PDF.
- Class ExtractPropertiesOptions: Representa as Opções de Extração de Propriedades do PDF para o plugin PdfExtractor.
- Class PdfProperties: Representa as Propriedades e informações de metadados do documento PDF.
- Interface IHaveInput: Usada para Opções com um único dado de entrada.
- Class OptionsWithInput: Usada para Opções com um único dado de entrada.
- Funcionalidade completa e gratuita.
Exemplo de Uso:
O exemplo demonstra como Extrair Propriedades (Título, Autor, Assunto, Palavras‑chave, Número de Páginas) de um arquivo PDF.
// Create ExtractPropertiesOptions object to set input file
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var numberOfPages = pdfProperties.NumberOfPages;
Exemplo de Uso:
O exemplo demonstra como Extrair Propriedades (Título, Autor, Assunto, Palavras‑chave, Número de Páginas) de um fluxo PDF.
// Create ExtractPropertiesOptions object to set input stream
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractPropertiesOptions(stream);
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var numberOfPages = pdfProperties.NumberOfPages;
Exemplo de Uso:
O exemplo demonstra como Extrair Propriedades de um arquivo PDF no estilo mais compacto possível.
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(new ExtractPropertiesOptions("path_to_your_pdf_file.pdf"));
Melhorias
- Melhoria de HTML para PDF suporta texto alternativo para imagens
- Conformidade de PDF para PDFA1b
Correção de Bugs
- Erro ocorre ao tentar otimizar o arquivo PDF
- Problema de alinhamento vertical de Campo de Formulário
- Problema corrigido ao exibir texto japonês em FormField
- HTML para PDF – Problema de formatação de tabela
- Otimizar o tamanho do PDF antes da conversão de PDF para PDF/A resulta em saída corrompida
- PDF para DOC – Tabela renderizada incorretamente
- PDF para Excel – Problemas de formatação do arquivo de saída
- PDF para HTML – ArgumentException durante a conversão
- Conversão de PDF para HTML omitindo alguns links
- Texto ausente ao converter PDF para HTML
v25.12
- Class PdfForm: contém todas as funções dos plugins: FormFlattener, FormExporter. Também permite excluir e obter campos.
- Class FormFlattener: será excluída em breve, use PdfForm.
- Class FormFlattenerOptions: renomeada para Class FlattenFieldsOptions.
- Class GetFieldNamesOptions: permite definir opções para obter nomes de campos.
- Class RemoveFieldsOptions: permite definir opções para remover campos.
- See The New Plugin Architecture.
Exemplo de Uso:
O exemplo demonstra como achatar campos em um arquivo PDF.
// Create FlattenFieldsOptions object to set instructions
var options = new FlattenFieldsOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfForm.Flatten(options);
Exemplo de Uso:
O exemplo demonstra como obter nomes de campos de um arquivo PDF.
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));
Exemplo de Uso:
O exemplo demonstra como exportar valores de formulário para um arquivo CSV.
// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions(',', true);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Perform the process
PdfForm.Extract(options);
Exemplo de Uso:
O exemplo demonstra como remover campos de um arquivo PDF.
// Create RemoveFieldsOptions object to set instructions
var options = new RemoveFieldsOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfForm.Remove(options);
- Method ExtractText: renomeado para Method Extract.
- Method ExtractImages: renomeado para Method Extract.
- Method ExtractFormData: renomeado para Method Extract.
Exemplo de Uso:
O exemplo demonstra como extrair o conteúdo de texto de um documento PDF.
// Create ExtractTextOptions object to set instructions
var options = new ExtractTextOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Perform the process
var results = PdfExtractor.Extract(options);
// Get the extracted text from the ResultContainer object
var textExtracted = results.ResultCollection[0].ToString();
Exemplo de Uso:
O exemplo demonstra como extrair imagens de um documento PDF.
// Create ExtractImagesOptions to set instructions
var options = new ExtractImagesOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Perform the process
var results = PdfExtractor.Extract(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();
Exemplo de Uso:
O exemplo demonstra como exportar valores de formulário para um arquivo CSV.
// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions(',', true);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Perform the process
PdfExtractor.Extract(options);
Melhorias
- Class PdfConverterOptions, PdfToXlsOptions - use Class PluginBaseOptions
- Conversão PDF/A-1b
- Conversão PDF/A-2b
Bugs Corrigidos
- Corrigidos problemas de formatação na conversão de HTML para PDF
- Conversão de PDF para HTML perdeu alguns links
v25.11
Novo plugin PDF Converter
- Class PdfConverter: contém todas as funções dos plugins: DocConverter, XlsConverter, HtmlConverter, JpegConverter, PdfAConverter, PngConverter, TiffConverter.
- Class DocConverter: será excluída em breve, use PdfConverter.
- Class XlsConverter: será excluída em breve, use PdfConverter.
- Class HtmlConverter: será excluída em breve, use PdfConverter.
- Class JpegConverter: será excluída em breve, use PdfConverter.
- Class PdfAConverter: será excluída em breve, use PdfConverter.
- Class PngConverter: será excluída em breve, use PdfConverter.
- Class TiffConverter: será excluída em breve, use PdfConverter.
- Class PdfAConvertOptions: renomeada para Class PdfToPdfAOptions.
- Veja The New Plugin Architecture.
Exemplo de Uso:
O exemplo demonstra como converter um documento PDF para o formato Doc.
// Cria o objeto PdfToDocOptions para definir instruções
var options = new PdfToDocOptions();
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Realiza o processo
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter um PDF para um documento XLSX.
// Cria o objeto PdfToXlsOptions para definir instruções
var options = new PdfToXlsOptions();
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_xlsx_file.xlsx"));
// Realiza o processo
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter um PDF para um documento HTML.
// Cria o objeto PdfToHtmlOptions para definir o tipo de dados de saída como arquivo com recursos incorporados
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_output.html"));
// Realiza o processo
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter HTML para um documento PDF.
// Cria HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_input.html"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Realiza o processo
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter um documento PDF para o formato JPEG.
// Cria o objeto PdfToJpegOptions para definir instruções
var options = new PdfToJpegOptions();
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Define o caminho do diretório de saída
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Realiza o processo
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter um documento PDF para o formato PNG.
// Cria o objeto PdfToPngOptions para definir instruções
var options = new PdfToPngOptions();
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Define o caminho do diretório de saída
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Realiza o processo
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter um documento PDF para o formato TIFF.
// Cria o objeto PdfToTiffOptions para definir instruções
var options = new PdfToTiffOptions();
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Define o caminho do diretório de saída
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Realiza o processo
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter o documento PDF para um formato PDF/A (PDF/A-3b neste caso):
// Cria a classe de opções para configurar o processo de conversão
var options = new PdfToPdfAOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_3B
};
// Adiciona o arquivo de origem
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // substitua pelo caminho real do seu arquivo
// Adiciona o caminho para salvar o arquivo convertido
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// Executa a conversão
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como validar a conformidade do documento PDF com o formato PDF/A (PDF/A-1a neste caso):
// Cria a classe de opções para configurar o processo de validação
var options = new PdfAValidateOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_1A
};
// Adiciona um ou mais arquivos a serem validados
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // substitua pelo caminho real do seu arquivo
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// adicione mais arquivos conforme necessário
// Executa a validação e obtém resultados
var resultContainer = PdfConverter.Validate(options);
// Verifique a propriedade resultContainer.ResultCollection para os resultados de validação para cada arquivo:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
var result = resultContainer.ResultCollection[i];
var validationResult = (PdfAValidationResult) result.Data;
var isValid = validationResult.IsValid; // Resultado da validação para o documento i-ésimo
}
Novo plugin PDF Security
- Class PdfSecurity: contém todas as funções dos plugins: Security, Signature, Timestamp.
- Class Security: será excluída em breve, use PdfSecurity.
- Class Signature: será excluída em breve, use PdfSecurity.
- Class Timestamp: será excluída em breve, use PdfSecurity.
- Class DecryptionOptions: renomeada para Class DecryptOptions.
- Class EncryptionOptions: renomeada para Class EncryptOptions.
- Class SignOptions: agora tem propriedades para Class Timestamp.
- Veja The New Plugin Architecture.
Exemplo de Uso:
O exemplo demonstra como criptografar um documento PDF.
// Cria o objeto EncryptOptions para definir instruções
var options = new EncryptOptions("123456", "qwerty");
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realiza o processo
PdfSecurity.Encrypt(options);
Exemplo de Uso:
O exemplo demonstra como descriptografar um documento PDF.
// Cria o objeto DecryptOptions para definir instruções
var options = new DecryptOptions("123456");
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realiza o processo
PdfSecurity.Decrypt(options);
Exemplo de Uso:
O exemplo demonstra como assinar um documento PDF.
// Cria o objeto SignOptions para definir instruções
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realiza o processo
PdfSecurity.Sign(options);
Exemplo de Uso:
O exemplo demonstra como assinar um documento PDF com Timestamp.
// Cria o objeto SignOptions para definir instruções
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file");
options.TimestampOptions = new TimestampOptions("server_url");
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realiza o processo
PdfSecurity.Sign(options);
Plugin PdfChatGpt integrado ao PdfManager
- Class PdfChatGpt: será excluída em breve, use PdfManager.
- Class PdfChatGptRequestOptions: renomeada para Class ChatGptRequestOptions.
- Class ChatCompletion: permite verificar os resultados da solicitação.
- Class Choice: permite verificar os resultados da solicitação.
- Class Usage: permite verificar os resultados da solicitação.
- Class ChatGptConsts: permite usar configurações extras como ModelName, URL da API e outras.
Exemplo de Uso:
O exemplo demonstra como usar o ChatGpt adicionando mensagens à solicitação.
var options = new ChatGptRequestOptions();
// Define o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
options.ApiKey = "Your API key."; // Você precisa fornecer a chave para acessar a API.
options.MaxTokens = 1000; // O número máximo de tokens a serem gerados na conclusão do chat.
// Adiciona as mensagens de solicitação.
options.Messages.Add(new Message
{
Content = "You are a helpful assistant.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "What is the biggest pizza diameter ever made?",
Role = Role.User
});
// Processa a solicitação.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // O objeto de conclusão do chat da API ChatGPT.
Melhorias
- PDF para Imagem - Melhorar o desempenho da conversão
- PDF para TIFF - Melhorar a velocidade de conversão
- PDF para Doc - Melhorar o desempenho
Correção de Bugs
- Corrigido HTML para PDF - Problemas de formatação no arquivo resultante
- Corrigido problema de desempenho na conversão de PDF para TIFF
- Corrigido HTML para PDF - Arquivo CSS como Recurso Externo não aplicando ao arquivo PDF gerado
v25.10
- Class PdfExtractor: contém todas as funções dos plugins: TextExtractor, ImageExtractor, FormExporter.
- Class TextExtractor: será removida em breve, use PdfExtractor.
- Class ImageExtractor: será removida em breve, use PdfExtractor.
- Class FormExporter: será removida em breve, use PdfExtractor.
- Class TextExtractorOptions: renomeada para Class ExtractTextOptions.
- Class ImageExtractorOptions: renomeada para Class ExtractImagesOptions.
- Class FormExportToDsvOptions: renomeada para Class ExtractFormDataToDsvOptions.
- Veja A Nova Arquitetura de Plugin.
Exemplo de Uso:
O exemplo demonstra como extrair o conteúdo de texto de um documento PDF.
// Crie um objeto ExtractTextOptions para definir as instruções
var options = new ExtractTextOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Realize o processo
var results = PdfExtractor.ExtractText(options);
// Obtenha o texto extraído do objeto ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
Exemplo de Uso:
O exemplo demonstra como extrair o conteúdo de texto de um documento PDF com TextFormattingMode.
// Crie um objeto ExtractTextOptions para definir o TextFormattingMode
var options = new ExtractTextOptions(TextFormattingMode.Pure);
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Realize o processo
var results = PdfExtractor.ExtractText(options);
// Obtenha o texto extraído do objeto ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
Exemplo de Uso:
O exemplo demonstra como extrair imagens de um documento PDF.
// Crie ExtractImagesOptions para definir as instruções
var options = new ExtractImagesOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do diretório de saída
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Realize o processo
var results = PdfExtractor.ExtractImages(options);
// Obtenha o caminho da imagem resultante
var imageExtracted = results.ResultCollection[0].ToFile();
Exemplo de Uso:
O exemplo demonstra como exportar valores de formulário para um arquivo CSV.
// Crie um objeto ExtractFormDataToDsvOptions para definir as instruções
var options = new ExtractFormDataToDsvOptions(',', true);
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Realize o processo
PdfExtractor.ExtractFormData(options);
Novo plugin PDF Manager
- Class PdfManager: contém todas as funções dos plugins: Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
- Class Merger: será removida em breve.
- Class Optimizer: será removida em breve, use PdfManager.
- Class Splitter: será removida em breve, use PdfManager.
- Class TableGenerator: será removida em breve, use PdfManager.
- Class TocGenerator: será removida em breve, use PdfManager.
- Veja A Nova Arquitetura de Plugin.
Exemplo de Uso:
O exemplo demonstra como mesclar dois documentos PDF.
// Crie um objeto MergeOptions para definir as instruções
var options = new MergeOptions();
// Adicione os caminhos dos arquivos de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realize o processo
PdfManager.Merge(options);
Exemplo de Uso:
O exemplo demonstra como dividir um documento PDF.
// Crie um objeto SplitOptions para definir as instruções
var options = new SplitOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina os caminhos dos arquivos de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Realize o processo
PdfManager.Split(options);
Exemplo de Uso:
O exemplo demonstra como otimizar um documento PDF.
// Crie um objeto OptimizeOptions para definir as instruções
var options = new OptimizeOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realize o processo
PdfManager.Optimize(options);
Exemplo de Uso:
O exemplo demonstra como girar um documento PDF.
// Crie um objeto RotateOptions para definir as instruções
var options = new RotateOptions();
// Defina a nova rotação
options.Rotation = Rotation.On90;
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realize o processo
PdfManager.Rotate(options);
Exemplo de Uso:
O exemplo demonstra como redimensionar um documento PDF.
// Crie um objeto ResizeOptions para definir as instruções
var options = new ResizeOptions();
// Defina o novo PageSize
options.PageSize = PageSize.A3;
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realize o processo
PdfManager.Resize(options);
Exemplo de Uso:
O exemplo demonstra como comprimir um documento PDF.
// Crie um objeto CompressOptions para definir as instruções
var options = new CompressOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realize o processo
PdfManager.Compress(options);
Exemplo de Uso:
O exemplo demonstra como adicionar uma tabela a um arquivo PDF.
// Configurar opções de tabela
var options = new TableOptions();
options.InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Nome")
.AddCell().AddParagraph("Idade")
.AddRow()
.AddCell().AddParagraph("Bob")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Sam")
.AddCell().AddParagraph("20")
.AddRow()
.AddCell().AddParagraph("Sandy")
.AddCell().AddParagraph("26")
.AddRow()
.AddCell().AddParagraph("Tom")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Jim")
.AddCell().AddParagraph("27");
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Realize o processo
PdfManager.AddTable(options);
Exemplo de Uso:
O exemplo demonstra como adicionar uma tabela de conteúdos a um arquivo PDF.
// Crie um objeto TocOptions para definir as instruções
var options = new TocOptions();
// Defina o título
options.Title = "Minha Tabela de Conteúdos";
// Projetar Títulos
options.Headings.Add(new TocHeading("Introdução", 2));
options.Headings.Add(new TocHeading("Capítulo I", 3));
options.Headings.Add(new TocHeading("Capítulo II", 4));
options.Headings.Add(new TocHeading("Capítulo III", 5));
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realize o processo
PdfManager.AddTableOfContents(options);
Exemplo de Uso:
O exemplo demonstra como adicionar uma tabela de conteúdos a um arquivo PDF gerando marcadores.
// Crie um objeto TocOptions para definir as instruções
var options = new TocOptions();
// Defina o título
options.Title = "Minha Tabela de Conteúdos";
// Gerar links em marcadores
options.GenerateBookmarks = true;
// Projetar Títulos
options.Headings.Add(new TocHeading("Introdução", 2, false, 1));
options.Headings.Add(new TocHeading("Capítulo I", 3, true, 1));
options.Headings.Add(new TocHeading("Capítulo II", 4, true, 1));
options.Headings.Add(new TocHeading("Exemplo A", 4, true, 2));
options.Headings.Add(new TocHeading("Exemplo B", 4, true, 2));
options.Headings.Add(new TocHeading("Exemplo C", 4, true, 2));
options.Headings.Add(new TocHeading("Exemplo D", 4, true, 2));
options.Headings.Add(new TocHeading("Capítulo III", 5, true, 1));
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realize o processo
PdfManager.AddTableOfContents(options);
Exemplo de Uso:
O exemplo demonstra como adicionar uma tabela de conteúdos a um arquivo PDF e salvar como fluxo.
// Crie um objeto TocOptions para definir as instruções
var options = new TocOptions();
// Defina o título
options.Title = "Minha Tabela de Conteúdos";
// Projetar Títulos
options.Headings.Add(new TocHeading("Introdução", 2, false, 1));
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o fluxo de saída
var outputStream = new MemoryStream();
options.AddOutput(new StreamDataSource(outputStream));
options.CloseOutputStreams = false;
// Realize o processo
PdfManager.AddTableOfContents(options);
Usabilidade melhorada do TableGenerator
- Class TableGenerator: é estática e não requer o uso de um construtor.
- Class TableGenerator: marcada como Obsoleta. Use PdfManager em vez disso.
Usabilidade melhorada do PdfChatGpt
- Class PdfChatGpt: é estática e não requer o uso de um construtor.
- Class PdfChatGptRequestOptions: propriedade CancellationToken adicionada (Movida de PdfChatGpt).
Exemplo de Uso:
O exemplo demonstra como usar o plugin PdfChatGpt adicionando mensagens à solicitação.
var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // Adicione o caminho do arquivo de saída.
options.ApiKey = "Sua chave de API."; // Você precisa fornecer a chave para acessar a API.
options.MaxTokens = 1000; // O número máximo de tokens a serem gerados na conclusão do chat.
// para cancelar
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;
// Adicione as mensagens da solicitação.
options.Messages.Add(new Message
{
Content = "Você é um assistente útil.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "Qual é o maior diâmetro de pizza já feito?",
Role = Role.User
});
// Processar a solicitação.
await PdfChatGpt.ProcessAsync(options);
Erros Corrigidos
- Corrigida conversão de html para pdf metadados
- Corrigidos problemas de formatação de texto e imagens escaladas no PDF para PDFA_3b
- Corrigido erro na impressão do PDFA resultante
- Corrigido imagem resultante no PDF para HTML contém fundo
- Corrigidos caracteres chineses que aparecem como caixas no HTML para PDF
- Corrigido fonte personalizada em Base64 não é respeitada no HTML para PDF
- Corrigido CSS de campo de formulário não sendo aplicado no HTML para PDF
- Corrigido gráfico não está sendo renderizado corretamente no HTML para PDF
- Corrigidos caracteres especiais não sendo renderizados no HTML para PDF
v25.9
- Classe DocConverter: é estática e não requer o uso de um construtor.
- Classe PdfToDocOptions: adicionada propriedade “Modo” que permite personalizar o processo de conversão.
- Enum DocConversionMode: permite personalizar o processo de conversão de pdf-doc. Valores:
- TextBox: Este modo é rápido e bom para preservar ao máximo a aparência original do arquivo PDF, mas a editabilidade do documento resultante pode ser limitada. Cada bloco de texto visualmente agrupado no arquivo PDF original é convertido em uma caixa de texto no documento resultante.
- Flow: Modo de reconhecimento completo, o mecanismo realiza agrupamento e análise de múltiplos níveis para restaurar a intenção original do autor do documento e produzir um documento maximamente editável.
Exemplo de Uso:
// O exemplo demonstra como converter um documento PDF para o formato Doc.
// Crie um objeto PdfToDocOptions para definir as instruções
var options = new PdfToDocOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Realize o processo
DocConverter.Process(options);
Exemplo de Uso:
// O exemplo demonstra como converter um documento PDF para o formato Doc configurando o Modo.
// Crie um objeto PdfToDocOptions para definir as instruções
var options = new PdfToDocOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Defina o Modo
options.Mode = DocConversionMode.Flow;
// Realize o processo
DocConverter.Process(options);
Melhor usabilidade do PdfAConverter
Classe PdfAConverter: é estática e não requer o uso de um construtor.
Exemplo de Uso:
// O exemplo demonstra como converter o documento PDF em um formato PDF/A (PDF/A-3b neste caso):
// Crie a classe de opções para configurar o processo de conversão
var options = new PdfAConvertOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_3B
};
// Adicione o arquivo fonte
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // substitua pelo caminho do seu arquivo
// Adicione o caminho para salvar o arquivo convertido
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// Execute a conversão
PdfAConverter.Process(options);
Exemplo de Uso:
// O exemplo demonstra como validar a conformidade do documento PDF com o formato PDF/A (PDF/A-1a neste caso):
// Crie a classe de opções para configurar o processo de validação
var options = new PdfAValidateOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_1A
};
// Adicione um ou mais arquivos para serem validados
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // substitua pelo caminho do seu arquivo
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// adicione mais arquivos conforme necessário
// Execute a validação e obtenha os resultados
var resultContainer = PdfAConverter.Process(options);
// Verifique a propriedade resultContainer.ResultCollection para os resultados da validação de cada arquivo:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
var result = resultContainer.ResultCollection[i];
var validationResult = (PdfAValidationResult) result.Data;
var isValid = validationResult.IsValid; // Resultado da validação para o i-ésimo documento
}
Melhor usabilidade do Timestamp
Classe Timestamp: é estática e não requer o uso de um construtor.
Exemplo de Uso:
// O exemplo demonstra como adicionar um Timestamp ao documento.
// Crie um objeto AddTimestampOptions para definir as instruções
var options = new AddTimestampOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file", "timestamp_server_url");
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realize o processo
Timestamp.Process(options);
Documentação atualizada
Exemplos atualizados, adicionados exemplos extras:
- Informações sobre licença e Avaliação
- Páginas do produto
- Gerador de Tabelas PDF
- Gerador de TOC PDF
- Adicionador de Timestamp PDF
- Conversor PDF/A
- Extrator de Imagem PDF
- Extrator de Texto PDF
- Conversor PDF para XLS
- Conversor PDF para HTML
Bugs corrigidos
- Corrigidos problemas com HTML para PDF
- Corrigidos problemas com PDF para PDF/A-2B
- Melhorado PDF para JPEG: alguns caracteres de texto gerados como quadrados
- Corrigido renderização de PDF para TIFF
- Corrigidos exceções inesperadas de PDF para JPEG
v25.8
Melhoria na usabilidade do JpegConverter
Class JpegConverter: é estático e não requer o uso de um construtor.
Exemplo de uso:
// O exemplo demonstra como converter um documento PDF em formato JPEG.
// Crie um objeto PdfToJpegOptions para definir as instruções
var options = new PdfToJpegOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Defina o caminho do diretório de saída
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Execute o processo
JpegConverter.Process(options);
Melhoria na usabilidade do PngConverter
Class PngConverter: é estático e não requer o uso de um construtor.
Exemplo de uso:
// O exemplo demonstra como converter um documento PDF em formato PNG.
// Crie um objeto PdfToPngOptions para definir as instruções
var options = new PdfToPngOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Defina o caminho do diretório de saída
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Execute o processo
PngConverter.Process(options);
Melhoria na usabilidade do XlsConverter
- Class XlsConverter: é estático e não requer o uso de um construtor.
- Class XlsConverter: descrição corrigida.
Exemplo de uso:
// O exemplo demonstra como converter PDF em documento XLSX.
// Crie um objeto PdfToXlsOptions para definir as instruções
var options = new PdfToXlsOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_xlsx_file.xlsx"));
// Execute o processo
XlsConverter.Process(options);
Melhoria na usabilidade da Assinatura
- Class Signature: é estático e não requer o uso de um construtor.
- Class Signature: descrição corrigida.
- Class Signature: interface IPlugin removida.
Exemplo de uso:
// O exemplo demonstra como assinar um documento PDF.
// Crie um objeto SignOptions para definir as instruções
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Execute o processo
Signature.Process(options);
Construtores modificados de PdfToHtmlOptions
Construtores e argumentos otimizados.
Texto da marca de avaliação alterado.
Documentação atualizada
Exemplos atualizados, adicionados exemplos extras:
- Conversor de PDF para JPEG
- Conversor de PDF para PNG
- Conversor de PDF para TIFF
- Aplainador de Formulários PDF
- Conversor HTML
- Segurança de PDF
- Otimizador de PDF
- Mesclador de PDF
- Divisor de PDF
Bugs corrigidos
- Corrigir problemas com Anotações
- Corrigir problemas após redimensionamento
- Corrigir a transformação de Nomes de Fonte de PDF para PDF/A
- Corrigir PDF para DOCX - Espaço adicionado no cabeçalho e outros problemas
- Corrigir HTML para PDF - Fundo PNG Transparente
- Corrigir PDF Comprimido - Melhorar o trabalho com Adobe Acrobat
v25.7
- Class TextExtractor: é estática e não requer o uso de um construtor.
- Class TextExtractor: comportamento melhorado ao rodar em modo de avaliação. Sem exceção com documentos de 4+ páginas.
- Class TextExtractor: problemas corrigidos no método Process.
- Class PdfExtractorOptions: removido.
- Class TextExtractorOptions: refatorado.
- Enum TextFormattingMode: renomeado e melhorado.
Exemplo de Uso:
// O exemplo demonstra como extrair o conteúdo de texto de um documento PDF.
// Crie um objeto TextExtractorOptions para definir instruções
var options = new TextExtractorOptions(TextFormattingMode.Pure);
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Realize o processo
var results = TextExtractor.Process(options);
// Obtenha o texto extraído do objeto ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
Melhor usabilidade do Conversor Html
- Class HtmlConverter: é estática e não requer o uso de um construtor.
- Class HtmlConverter: problemas corrigidos no método Process.
- Class HtmlConverter: lógica IDisposable removida.
- Class PdfConverterOptions: removido.
Exemplos de Uso:
// O exemplo demonstra como converter PDF para documento HTML.
// Crie um objeto PdfToHtmlOptions para definir o tipo de dados de saída como arquivo com recursos incorporados
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_output.html"));
// Realize o processo
HtmlConverter.Process(options);
// O exemplo demonstra como converter HTML para documento PDF.
// Crie HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_input.html"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Realize o processo
HtmlConverter.Process(options);
- Class ImageExtractor: é estática e não requer o uso de um construtor.
Exemplo de Uso:
// O exemplo demonstra como extrair imagens de um documento PDF.
// Crie ImageExtractorOptions para definir instruções
var options = new ImageExtractorOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do diretório de saída
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Realize o processo
var results = ImageExtractor.Process(options);
// Obtenha o caminho da imagem resultante
var imageExtracted = results.ResultCollection[0].ToFile();
Correções Menores
- Correções internas.
- Exemplos e dicas do Conversor Tiff corrigidos.
- Duração de otimização de página minimizada.
- Corrigido: imagem de saída incorreta na conversão de PDF para PNG.
- Corrigido: caracteres chineses não exibidos corretamente durante a conversão de PDF para PNG.
- Melhorado: Performance durante a conversão de PDF para HTML.
v25.6
Melhorias na usabilidade do Conversor Tiff
- Classe PdfToTiffOptions: Adicionado parâmetro adicional para conversão - Compressão.
- Classe PdfToTiffOptions: Adicionado parâmetro adicional para conversão - Profundidade de Cor.
- Classe TiffConverter é estática e não requer o uso de um construtor.
- Exemplos principais melhorados.
Exemplos de Uso:
// O exemplo demonstra como converter um documento PDF em formato TIFF.
// Crie um objeto PdfToTiffOptions para definir as instruções
var options = new PdfToTiffOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do diretório de saída
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Realize o processo
TiffConverter.Process(options);
// O exemplo demonstra como converter um documento PDF em formato TIFF com parâmetros adicionais.
// Crie um objeto PdfToTiffOptions para definir as instruções
var options = new PdfToTiffOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do diretório de saída
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Parâmetros opcionais
options.PageList = new List<int> { 1, 3 };
options.MultiPage = true;
options.OutputResolution = 400;
options.Compression = TiffCompression.RLE;
options.ColorDepth = TiffColorDepth.Format24bpp;
// Realize o processo
TiffConverter.Process(options);
Correções Menores
v25.5
- Class FormExporter: Representa o plugin Documentize.FormExporter que é utilizado para Exportar os valores de Formulários de documentos PDF para arquivos DSV ou CSV
- Class FormExportToDsvOptions: Representa as opções para Exportar os valores de documentos PDF para arquivos DSV ou CSV pelo plugin Documentize.FormExporter.
Exemplo de Uso:
// O exemplo demonstra como Exportar valores de Formulário para um arquivo CSV.
// Crie um objeto FormExportToDsvOptions para definir as instruções
var options = new FormExportToDsvOptions(',', true);
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Execute o processo
FormExporter.Process(options);
Melhorias na Usabilidade da Segurança
- A classe é estática e não requer o uso de um construtor.
- Exemplos principais aprimorados.
Exemplos de Uso:
// O exemplo demonstra como criptografar um documento PDF.
// Crie um objeto EncryptionOptions para definir as instruções
var options = new EncryptionOptions("123456", "qwerty");
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Execute o processo
Security.Process(options);
// O exemplo demonstra como descriptografar um documento PDF.
// Crie um objeto DecryptionOptions para definir as instruções
var options = new DecryptionOptions("123456");
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Execute o processo
Security.Process(options);
Correções Menores
- Dicas e licenças de classe aprimoradas.
v25.4
Usabilidade melhorada do Otimizador
- A classe é estática e não requer o uso de um construtor.
- Exemplo principal melhorado.
- Exemplos adicionais adicionados.
Exemplos de Uso:
// O exemplo demonstra como Otimizar o documento PDF.
// Crie um objeto OptimizeOptions para definir instruções
var options = new OptimizeOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Execute o processo
Optimizer.Process(options);
// O exemplo demonstra como Rotacionar o documento PDF.
// Crie um objeto RotateOptions para definir instruções
var options = new RotateOptions();
// Defina a nova Rotação
options.Rotation = Rotation.On90;
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Execute o processo
Optimizer.Process(options);
// O exemplo demonstra como Redimensionar o documento PDF.
// Crie um objeto ResizeOptions para definir instruções
var options = new ResizeOptions();
// Defina o novo Tamanho da Página
options.PageSize = PageSize.A3;
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Execute o processo
Optimizer.Process(options);
// O exemplo demonstra como Comprimir o documento PDF.
// Crie um objeto CompressOptions para definir instruções
var options = new CompressOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Execute o processo
Optimizer.Process(options);
Usabilidade melhorada do Plugin Splitter
- A classe é estática e não requer o uso de um construtor.
- Exemplo principal melhorado.
Exemplos de Uso:
// O exemplo demonstra como Dividir o documento PDF.
// Crie um objeto SplitOptions para definir instruções
var options = new SplitOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina os caminhos dos arquivos de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Execute o processo
Splitter.Process(options);
Usabilidade melhorada do Plugin Merger
- A classe é estática e não requer o uso de um construtor.
- Exemplo principal melhorado.
Exemplos de Uso:
// O exemplo demonstra como Mesclar dois documentos PDF.
// Crie um objeto MergeOptions para definir instruções
var options = new MergeOptions();
// Adicione os caminhos dos arquivos de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Execute o processo
Merger.Process(options);
Correções Menores
- Dicas de classe melhoradas.
v25.3
- Classe FormFlattener: Representa o plugin Documentize.FormFlattener que é usado para achatar campos em documentos PDF.
- Classe FormFlattenerOptions: Representa opções para Achatar Campos em documentos pelo plugin Documentize.FormFlattener.
Exemplo de Uso:
//O exemplo demonstra como achatar campos em um arquivo PDF.
// Crie um objeto FormFlattenerOptions para definir instruções
var options = new FormFlattenerOptions();
// Adicione o caminho do arquivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Defina o caminho do arquivo de saída
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
//Parâmetro opcional para pular o campo com o nome "Surname".
options.SkipFields.Add("Surname");
// Execute o processo
FormFlattener.Process(options);
//O exemplo demonstra como obter nomes de campos de um arquivo PDF.
var fieldNames = FormFlattener.GetFieldNames("path_to_your_pdf_file.pdf");
Correções Menores
- Melhorou dicas de classe e exemplos.
v25.2
Adicionado novo Plugin: Gerador de TOC
- Classe TocGenerator: Representa o plugin Documentize.TocGenerator. Usado para adicionar um Índice a documentos PDF.
- Classe TocOptions: Representa opções para adicionar Índice ao documento pelo plugin Documentize.TocGenerator.
- Classe TocHeading: Representa opções para Títulos ou Títulos do Índice no documento pelo plugin Documentize.TocGenerator.
Exemplo de Uso:
// O exemplo demonstra como adicionar um Índice ao arquivo PDF.
var options = new TocOptions();
// Defina o Título
options.Title = "Meu Índice";
// Gerar links em marcadores
options.GenerateBookmarks = true;
// Projetar Títulos
options.Headings.Add(new TocHeading("Introdução", 2, false, 1));
options.Headings.Add(new TocHeading("Capítulo I", 3, true, 1));
options.Headings.Add(new TocHeading("Capítulo II", 4, true, 1));
options.Headings.Add(new TocHeading("Exemplo A", 4, true, 2));
options.Headings.Add(new TocHeading("Exemplo B", 4, true, 2));
options.Headings.Add(new TocHeading("Exemplo C", 4, true, 2));
options.Headings.Add(new TocHeading("Exemplo D", 4, true, 2));
options.Headings.Add(new TocHeading("Capítulo III", 5, true, 1));
// Adicionar caminho do arquivo de entrada
options.AddInput(new FileDataSource("caminho_para_seu_arquivo_pdf.pdf"));
// Definir caminho do arquivo de saída
options.AddOutput(new FileDataSource("caminho_para_arquivo_pdf_resultante.pdf"));
// Realizar o processo
TocGenerator.Process(options);
Correções Menores
- Melhoria nas dicas de classe e exemplos.
- Atualização de marcas d’água.
- Melhoria na conversão de PDF para XSLX.
- Melhoria na conversão de PDF para PDF/A-1a.
v25.1
- Adicionada Coleta de Saída para ImageExtractorOptions.
- Adicionada suporte para múltiplas Entradas em ImageExtractorOptions.
- Corrigidos fluxos de saída fechados.
Exemplo de Uso:
// criar objeto ImageExtractor para extrair imagens
var plugin = new ImageExtractor();
// criar ImageExtractorOptions
var opt = new ImageExtractorOptions();
// adicionar caminho do arquivo de entrada
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// definir diretório de saída
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// realizar processo de extração
var resultContainer = plugin.Process(opt);
// obter a imagem do objeto ResultContainer
var imageExtracted = resultContainer.ResultCollection[0].ToFile();
Correções Menores
- Melhoradas dicas de classe e exemplos.
- Validação de assinatura PDF.
- Melhorado suporte a caracteres chineses.
v24.12
Adicionado novo Plugin: Converta PDF para PNG
- Classe PngConverter: Representa o plugin Documentize.PngConverter. Usado para converter documentos PDF para o formato PNG.
- Classe PdfToPngOptions: Representa as opções do conversor de PDF para PNG para o plugin Documentize.PngConverter.
Exemplo de Uso:
// criar PngConverter
var plugin = new PngConverter();
// criar objeto PdfToPngOptions para definir instruções
var opt = new PdfToPngOptions();
// adicionar caminho do arquivo de entrada
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// definir caminho do arquivo de saída
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// executar o processo
plugin.Process(opt);
Adicionado novo Plugin: Converta PDF para TIFF
- Classe TiffConverter: Representa o plugin Documentize.TiffConverter. Usado para converter documentos PDF para o formato TIFF.
- Classe PdfToTiffOptions: Representa as opções do conversor de PDF para TIFF para o plugin Documentize.TiffConverter.
Exemplo de Uso:
// criar TiffConverter
var plugin = new TiffConverter();
// criar objeto PdfToTiffOptions para definir instruções
var opt = new PdfToTiffOptions();
// adicionar caminho do arquivo de entrada
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// definir caminho do arquivo de saída
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// executar o processo
plugin.Process(opt);
Adicionado novo Plugin: Gerador de Tabelas PDF
- Classe TableGenerator: Representa o plugin Documentize.TableGenerator. Usado para adicionar uma tabela a um documento PDF.
- Classe TableBuilder: Classe representa o construtor para a tabela na página PDF.
- Classe TableRowBuilder: Classe representa o construtor para a linha da tabela.
- Classe TableCellBuilder: Classe representa o construtor para a célula da tabela.
Exemplo de Uso:
// criar TableGenerator
var plugin = new TableGenerator();
// criar objeto TableOptions para definir instruções
TableOptions opt = new TableOptions().InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Nome")
.AddCell().AddParagraph("Idade")
.AddRow()
.AddCell().AddParagraph("Bob")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Sam")
.AddCell().AddParagraph("20")
.AddRow()
.AddCell().AddParagraph("Sandy")
.AddCell().AddParagraph("26")
.AddRow()
.AddCell().AddParagraph("Tom")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Jim")
.AddCell().AddParagraph("27");
// adicionar caminho do arquivo de entrada
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// definir caminho do arquivo de saída
opt.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// executar o processo
plugin.Process(opt);
Renomeada Classe PdfDoc para DocConverter
- Classe DocConverter: Representa o plugin Documentize.DocConverter. Usado para converter documentos PDF para o formato DOC/DOCX.
Exemplo de Uso:
// criar DocConverter
var plugin = new DocConverter();
// criar objeto PdfToDocOptions para definir instruções
var opt = new PdfToDocOptions();
// adicionar caminho do arquivo de entrada
opt.AddInput(new FileDataSource(inputPath));
// definir caminho do arquivo de saída
opt.AddOutput(new FileDataSource(outputPath));
// executar o processo
plugin.Process(opt);
v24.11
Novo Plugin Adicionado: Conversor de PDF para JPEG
- Propósito: A classe
JpegConverter é projetada para converter documentos PDF em formato JPEG, facilitando para os usuários manusear e compartilhar imagens derivadas de PDFs. - Construtor:
JpegConverter(): Inicializa uma nova instância do conversor JPEG.
Exemplo de Uso:
var plugin = new JpegConverter();
var opt = new PdfToJpegOptions();
opt.AddInput(new FileDataSource("caminho_do_seu_arquivo_pdf.pdf"));
opt.AddOutput(new DirectoryDataSource("caminho_do_diretório_de_resultados"));
plugin.Process(opt);
- Método:
Process(PdfToJpegOptions options): Inicia o processo de conversão JPEG usando as opções especificadas.
Classe DirectoryDataSource Adicionada
- Propósito: A classe
DirectoryDataSource permite que os usuários gerenciem dados de diretório para operações de carregamento e salvamento dentro dos plugins. - Construtor:
DirectoryDataSource(string path): Inicializa um novo objeto de dados de diretório com o caminho especificado.
Exemplo de Uso:
var directorySource = new DirectoryDataSource("caminho_do_seu_diretório");
- Propriedades:
DataType: Recupera o tipo de fonte de dados.Path: Obtém o caminho do diretório de dados atual.
Classe PdfToJpegOptions Adicionada
- Propósito: Esta classe contém opções para configurar o processo de conversão JPEG, permitindo que os usuários especifiquem resolução, listas de páginas e qualidade da imagem.
- Construtor:
PdfToJpegOptions(): Inicializa uma nova instância de opções para o conversor JPEG.
Propriedades:
OutputResolution: Especifica a resolução das imagens JPEG resultantes.PageList: Uma lista de páginas a serem convertidas do PDF.Quality: Define a qualidade da saída JPEG.
v24.10
Novo Plugin Adicionado: Conversor PDF/A
- Uma nova funcionalidade de conversão para PDF/A foi introduzida, permitindo que os usuários convertam facilmente arquivos PDF padrão em documentos compatíveis com PDF/A.
Exemplo de Uso:
var options = new PdfAConvertOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_3B
};
options.AddInput(new FileDataSource("caminho_para_seu_arquivo_pdf.pdf"));
options.AddOutput(new FileDataSource("caminho_para_o_arquivo_convertido.pdf"));
var plugin = new PdfAConverter();
plugin.Process(options);
Correções de Bugs
- Corrigidos problemas relacionados à classe
FileResult que resultavam em caminhos de saída incorretos. - Resolvidos pequenos bugs que afetavam o
HtmlConverter ao lidar com arquivos grandes.
Melhorias
- Desempenho aprimorado do
PdfExtractor e ImageExtractor para tempos de processamento mais rápidos. - Atualizada a classe
RotateOptions para suportar ângulos de rotação adicionais.
v24.9
Lançado