Subsecções de O Que Há de Novo
v26.9
- A implementação anterior de plugins está sendo gradualmente descontinuada. A funcionalidade desta classe foi substituída pela classe PdfForm.
- Classe FormFlattener: removida, use PdfForm.
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 FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfForm.Flatten(options);
Exemplo de Uso:
O exemplo demonstra como achatar campos em um arquivo PDF e pular o primeiro campo.
// Get Fields Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));
// Create FlattenFieldsOptions object to set instructions
var options = new FlattenFieldsOptions();
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Skip 1 field.
options.SkipFields.Add(fieldNames[0]);
// Perform the process
PdfForm.Flatten(options);
Classe GetFieldNamesOptions foi remodelada
- Herança da classe OptionsWithInput.
- Propriedade Input adicionada.
Exemplo de Uso:
O exemplo demonstra como obter nomes de campos a partir de um arquivo PDF.
// Get Field Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));
Exemplo de Uso:
O exemplo demonstra como obter nomes de campos a partir de um fluxo PDF.
// Prepare input stream
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
// Get Field Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions(inputStream));
Outras correções
📄 PDF para DOC
- Corrigida a conversão de PDF para DOC que lançava
OutOfMemoryException. - Corrigida a conversão de PDF para HTML que apresentava um logotipo de rodapé quebrado.
🖼️ PDF para JPEG
- Corrigida a conversão de PDF para JPEG que lançava
OutOfMemoryException. - Corrigida a conversão de PDF para PNG que lançava
InvalidOperationException. - Corrigida a saída de PDF para TIFF que apresentava informações ausentes.
📑 PDF para PDF/A
- Corrigida a saída de PDF para PDF/A que não era válida para PDF/A‑1b ou PDF/A‑3b.
- Corrigida a conversão para PDF/A‑2b que lançava
InvalidCastException.
v26.8
Classe SignOptions foi redesenhada
- Agora está mais fácil de usar.
- Herda da classe OptionsWithInputAndOutput.
- As propriedades Inputs e Outputs foram alteradas para Input e Output. Agora há apenas 1 entrada e 1 saída.
- Se a saída for um arquivo, seu stream será fechado automaticamente; se for um Stream, permanecerá aberto para uso posterior.
- Métodos AddInput e AddOutput removidos.
- Adicionados vários construtores mais convenientes:
- SignOptions(IData inputData, IData outputData, IData pfxData, string password)
- SignOptions(string inputFile, string outputFile, string pfxFile, string pfxPassword)
- SignOptions(Stream inputStream, Stream outputStream, Stream pfxStream, string pfxPassword)
- Propriedades modificáveis adicionadas:
- Stream Pfx
- string PfxPassword
- IData Input
- IData Output
Exemplo de uso:
Exemplo de trabalho com SignOptions.
using var pfxStream = File.OpenRead(@"path_to_your_pfx_file.pfx");
var options = new SignOptions(pfxStream, "password_of_your_pfx_file");
// Defina os caminhos de arquivo de entrada e saída
options.Input = new FileData("path_to_your_pdf_file.pdf");
options.Output = new FileData("path_to_result_pdf_file.pdf");
Exemplo de uso:
O exemplo demonstra como assinar um arquivo PDF da forma mais curta possível.
PdfSecurity.Sign(new SignOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf", "path_to_your_pfx_file.pfx", "password_of_your_pfx_file"));
Exemplo de uso:
O exemplo demonstra como assinar um documento PDF usando streams.
// Preparar streams
using var pdfStreamInput = File.OpenRead(@"path_to_your_pdf_file.pdf");
using var pfxStreamInput = File.OpenRead(@"path_to_your_pfx_file.pfx");
using var pdfStreamOutput = new MemoryStream();
// Criar objeto SignOptions para definir as instruções
var options = new SignOptions(pdfStreamInput, pdfStreamOutput, pfxStreamInput, "password_of_your_pfx_file");
// Executar o processo
PdfSecurity.Sign(options);
Classe Signature removida
- A implementação anterior de plugins está sendo gradualmente descontinuada. A funcionalidade desta classe foi substituída pela classe PdfSecurity.
- Class Signature: removida, use PdfSecurity.
Exemplo de uso:
O exemplo demonstra como assinar um documento PDF.
// Criar objeto SignOptions para definir as instruções
var options = new SignOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf", "path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Executar o processo
PdfSecurity.Sign(options);
- A implementação anterior de plugins está sendo gradualmente descontinuada. A funcionalidade desta classe foi substituída pelas classes PdfExtractor e PdfForm.
- Class FormExporter: removida, use PdfExtractor ou PdfForm.
Exemplo de uso:
O exemplo demonstra como Exportar valores de formulário para um arquivo CSV com PdfExtractor.
// Criar objeto ExtractFormDataToDsvOptions para definir as instruções
var options = new ExtractFormDataToDsvOptions(',', true);
// Adicionar caminho do arquivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Definir caminho do arquivo de saída
options.AddOutput(new FileData("path_to_result_csv_file.csv"));
// Executar o processo
PdfExtractor.Extract(options);
Exemplo de uso:
O exemplo demonstra como Exportar valores de formulário para um arquivo TSV e definir propriedades com PdfForm.
// Criar objeto ExtractFormDataToDsvOptions para definir as instruções
var options = new ExtractFormDataToDsvOptions();
//Definir delimitador
options.Delimiter = '\t';
//Adicionar nomes de campo ao resultado
options.AddFieldName = true;
// Adicionar caminho do arquivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Definir caminho do arquivo de saída
options.AddOutput(new FileData("path_to_result_csv_file.tsv"));
// Executar o processo
PdfForm.Extract(options);
Classe FileData aprimorada
- Método ToString() sobrescrito.
Outras correções
📄 PDF para DOC
- Corrigida conversão de PDF para DOC que consumia tempo excessivo
🌐 PDF para HTML/HTML para PDF
- Corrigida conversão de PDF para HTML que produzia imagens transparentes
- Corrigida conversão de HTML para PDF onde o conteúdo se sobrepunha
- Corrigida conversão de HTML para PDF onde a largura da tabela era ignorada
🖼️ PDF para PNG/TIFF
- Corrigida conversão de PDF para PNG que consumia memória excessiva
- Corrigida conversão de PDF para PNG que não preservava fontes incorporadas
- Corrigada conversão de PDF para TIFF que lançava exceção
📑 PDF para PDF/A
- Corrigida conversão de PDF para PDF/A que perdia cores do documento
- Corrigida conversão de PDF para PDF/A que sobrepunha texto na saída
- Corrigido método Validate() de PDF/A que retornava resultados incorretos
- Corrigida validação de PDF/A que produzia resultados incorretos
📂 Outras operações
- Corrigido System.FormatException lançado ao verificar a assinatura de um PDF
- Corrigida fusão de documentos que lançava exceção
v26.7
- A implementação anterior de plugins está sendo gradualmente descontinuada. A funcionalidade desta classe foi substituída pela Classe PdfExtractor.
- Classe ImageExtractor: removida, use PdfExtractor.
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 FileData("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryData("path_to_results_directory"));
// Perform the process
var results = PdfExtractor.Extract(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();
Classe Timestamp Removida
- A funcionalidade desta classe foi substituída pela Classe PdfSecurity.
- Classe Timestamp: removida, use PdfSecurity.
- Classe AddTimestampOptions: removida, use SignOptions e TimestampOptions.
Exemplo de Uso:
O exemplo demonstra como assinar um documento PDF com Timestamp.
// Create SignOptions object to set Timestamp
var options = new SignOptions(new TimestampOptions("server_url"));
// 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.Sign(options);
Outras correções
🖥️ HTML para PDF
- Corrigida a conversão de HTML para PDF onde ocorria posicionamento de imagens e sobrescrita de texto
- Corrigida a conversão de HTML para PDF onde o conteúdo da página não se ajustava corretamente
- Corrigido problema de exibição de uma faixa preta no PDF gerado
📑 PDF para PDF/A
- Corrigida exceção lançada pela API de PDF para PDF/A
- Corrigida conversão de PDF para PDF/A que produzia saída com formatação incorreta
- Corrigido problema de memória na conversão de PDF para PDF/A
- Corrigido problema de conversão para PDF/A-3a
⚙️ Restante
- Corrigida a falta de conteúdo de texto ao converter PDF para PNG e HTML
- Corrigido problema onde alguns campos ficavam em branco após o flattening
- Corrigido problema onde o documento PDF exibia erro após o flattening
- Corrigido problema onde a otimização do PDF afetava a formatação do conteúdo
v26.6
- Agora você pode adicionar um timestamp a um documento PDF sem especificar um arquivo PFX e uma senha.
- Class SignOptions: possui construtor com Class TimestampOptions.
Exemplo de Uso:
O exemplo demonstra como assinar um documento PDF com Timestamp.
// Create SignOptions object to set Timestamp
var options = new SignOptions(new TimestampOptions("server_url"));
// 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.Sign(options);
- A implementação anterior de plugins está sendo gradualmente descontinuada. A funcionalidade desta classe foi substituída pela Class PdfExtractor.
- Class TextExtractor: removida, use PdfExtractor.
- Comentários XML adicionados para OptionsWithInputAndOutput e SanitizeOptions.
- Informações sobre valores padrão adicionadas em SanitizeOptions.
Exceção corrigida na conversão de HTML para PDF
Outras correções
📄 Geral / Sistema
- Correção de mesclagem de documentos PDF corrompidos
- Correção de processamento de arquivos corrompidos
- Correção de System.StackOverflowException ao abrir arquivo PDF
- Correção de travamento na extração de texto em arquivos PDF específicos
🌐 HTML → PDF
- Correção de renderização incorreta de caracteres chineses ao converter HTML para PDF
📑 PDF → DOC
- Correção de destaque de anotação que ainda obscurecia o texto na conversão PDF para DOC
- Correção de renderização incorreta de imagens na conversão PDF para DOC
- Correção de problema de desempenho na conversão PDF para DOC
📊 PDF → Excel
- Correção de imagem de tabela ignorada na conversão PDF para Excel
🖼️ PDF → PNG
- Correção de tempo excessivo de conversão de PDF para PNG
🛡️ PDF → PDF/A
- Correção de perda de conformidade PDF A-1A e corrupção de formulário após salvar
- Correção de problema de tempo de conversão para PDF/A
- Correção de perda de semitransparência durante a conversão para PDF/A
- Correção de sobreposição de texto na conversão para PDF/A
- Correção de problema de renderização de texto na conversão para PDF/A
- Correção de corrupção de documento na conversão para PDF/A3b
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 busca ou conteúdo privado, sejam removidos ou transformados.
- Class PdfSecurity: adicionou o método Sanitize para sanitização de documentos PDF.
- Class SanitizeOptions: representa as opções de configuração para sanitizar dados ocultos dentro de 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 imagem.
- 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 busca e as informações privadas devem ser removidos do documento.
- Property FlattenForms: obtém ou define um valor que indica se os formulários no 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 JavaScript 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 configurando 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 com conversão de todas as páginas para imagens e definição do DPI resultante.
// 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 Melhorado na Conversão de PDF para JPEG
Página de produto atualizada “FAQs” 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 do 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 faixas 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 de Criação e Modificação 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 estava muito lento com textos HTML grandes
- Corrigido HTML para PDF – Cabeçalho e rodapé não aparecem nas páginas subsequentes
- Corrigido HTML para PDF – Tooltip falha ao ser 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 remove 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 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 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 atualizados.
Exemplo de Uso
O exemplo demonstra como Exportar valores de Formulário para 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 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 corrigidos
- Corrigido problema em que Image to PDF causava exceção de Falta de Memória
- Corrigido problema em que a geração de Sumário produzia resultados incorretos
- Corrigido problema em que a propriedade OptimizeResources UnembedFonts disparava uma exceção
- Corrigido problema em que PDF para HTML não aplicava fontes corretamente ao ser visualizado no Internet Explorer
- Corrigido problema em que PDF para HTML produzia elementos deslocados e símbolos de formatação
- Corrigido problema em que o processo de conversão de PDF para PDF/A travava
- Corrigido problema em que PDF para PDF/A removia campos de formulário e seus valores
- Corrigido problema em que a saída de PDF para PDF/A não estava em conformidade com PDF/A_1a
- Corrigido problema em que a saída de PDF para PDF/A não estava em conformidade com PDF/A_2b
- Corrigido problema em que a saída de PDF para PDF/A-3A falhava na verificação de conformidade Preflight
- Corrigido problema em que 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: adicionadas propriedades: 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 é mais fácil: você pode especificar os dados de entrada e obter o resultado de forma mais simples que antes.
- Class ExtractTextOptions: implementa IHaveInput. Use apenas 1 dado de entrada. Tipos de dados permitidos: File e Stream.
- Method Extract(ExtractTextOptions options): retorna 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 com 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 curta 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 de PDF produz saída em branco
- PDF para HTML: a cor de destaque está visível, mas o texto está ausente
- PDF para HTML: saída HTML incorreta gerada
- PDF para HTML: texto vertical do lado esquerdo está faltando
- PDF para HTML: texto no cabeçalho desaparece
- PDF para HTML: texto anotado transparente não é visível
- 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.
- Classe PdfExtractor: método adicionado
Extract para extrair as propriedades do PDF. - Classe ExtractPropertiesOptions: representa as opções de extração de propriedades do PDF para o plugin PdfExtractor.
- Classe PdfProperties: representa as propriedades e informações de meta do documento PDF.
- Interface IHaveInput: usada para opções com um único dado de entrada.
- Classe OptionsWithInput: usada para opções com um único dado de entrada.
- Totalmente gratuito e funcional.
Exemplo de Uso:
O exemplo demonstra como extrair propriedades (Título, Autor, Assunto, Palavras‑chave, Número de Páginas) de um arquivo PDF.
// Cria o objeto ExtractPropertiesOptions para definir o arquivo de entrada
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// Executa o processo e obtém as propriedades
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.
// Cria o objeto ExtractPropertiesOptions para definir o fluxo de entrada
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractPropertiesOptions(stream);
// Executa o processo e obtém as propriedades
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 da forma mais concisa possível.
// Executa o processo e obtém as propriedades
var pdfProperties = PdfExtractor.Extract(new ExtractPropertiesOptions("path_to_your_pdf_file.pdf"));
Melhorias
- A melhoria de HTML para PDF suporta texto alternativo para imagens
- Conformidade PDF para PDFA1b
Bugs Corrigidos
- Erro ao tentar otimizar o arquivo PDF
- Problema de alinhamento vertical em campos de formulário
- Problema corrigido com a exibição de texto em japonês em FormField
- HTML para PDF – problema de formatação de tabelas
- Otimizar o tamanho do PDF antes da conversão para PDF/A resulta em saída corrompida
- PDF para DOC – tabela renderizada incorretamente
- PDF para Excel – problemas de formatação no 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.
- Veja 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: renomeado para Class PdfToPdfAOptions.
- Veja The New Plugin Architecture.
Exemplo de Uso:
O exemplo demonstra como converter um documento PDF para formato Doc.
// Create PdfToDocOptions object to set instructions
var options = new PdfToDocOptions();
// 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_file.doc"));
// Perform the process
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter PDF para documento XLSX.
// Create PdfToXlsOptions object to set instructions
var options = new PdfToXlsOptions();
// 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_xlsx_file.xlsx"));
// Perform the process
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter PDF para documento HTML.
// Create PdfToHtmlOptions object to set output data type as file with embedded resources
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Add input file path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.html"));
// Perform the process
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter HTML para documento PDF.
// Create HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_input.html"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Perform the process
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter um documento PDF para formato JPEG.
// Create PdfToJpegOptions object to set instructions
var options = new PdfToJpegOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter um documento PDF para formato PNG.
// Create PdfToPngOptions object to set instructions
var options = new PdfToPngOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter um documento PDF para formato TIFF.
// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como converter o documento PDF para o formato PDF/A (PDF/A-3b neste caso):
// Create the options class to set up the conversion process
var options = new PdfToPdfAOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_3B
};
// Add the source file
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // replace with your actual file path
// Add the path to save the converted file
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// Run the conversion
PdfConverter.Convert(options);
Exemplo de Uso:
O exemplo demonstra como validar a conformidade do documento PDF ao formato PDF/A (PDF/A-1a neste caso):
// Create the options class to set up the validation process
var options = new PdfAValidateOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_1A
};
// Add one or more files to be validated
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // replace with your actual file path
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// add more files as needed
// Run the validation and get results
var resultContainer = PdfConverter.Validate(options);
// Check the resultContainer.ResultCollection property for validation results for each file:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
var result = resultContainer.ResultCollection[i];
var validationResult = (PdfAValidationResult)result.Data;
var isValid = validationResult.IsValid; // Validation result for the i‑th document
}
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: renomeado para Class DecryptOptions.
- Class EncryptionOptions: renomeado para Class EncryptOptions.
- Class SignOptions: agora possui propriedades para Class Timestamp.
- Veja The New Plugin Architecture.
Exemplo de Uso:
O exemplo demonstra como criptografar um documento PDF.
// Create EncryptOptions object to set instructions
var options = new EncryptOptions("123456", "qwerty");
// 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
PdfSecurity.Encrypt(options);
Exemplo de Uso:
O exemplo demonstra como descriptografar um documento PDF.
// Create DecryptOptions object to set instructions
var options = new DecryptOptions("123456");
// 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
PdfSecurity.Decrypt(options);
Exemplo de Uso:
O exemplo demonstra como assinar um documento PDF.
// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// 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
PdfSecurity.Sign(options);
Exemplo de Uso:
O exemplo demonstra como assinar um documento PDF com Timestamp.
// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file");
options.TimestampOptions = new TimestampOptions("server_url");
// 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
PdfSecurity.Sign(options);
Plugin PdfChatGpt integrado ao PdfManager
- Class PdfChatGpt: será excluída em breve, use PdfManager.
- Class PdfChatGptRequestOptions: renomeado para Class ChatGptRequestOptions.
- Class ChatCompletion: permite verificar os resultados da requisição.
- Class Choice: permite verificar os resultados da requisição.
- Class Usage: permite verificar os resultados da requisição.
- Class ChatGptConsts: permite usar configurações extras como ModelName, API URL e outras.
Exemplo de Uso:
O exemplo demonstra como usar o ChatGpt adicionando mensagens à requisição.
var options = new ChatGptRequestOptions();
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
options.ApiKey = "Your API key."; // You need to provide the key to access the API.
options.MaxTokens = 1000; // The maximum number of tokens to generate in the chat completion.
// Add the request messages.
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
});
// Process the request.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // The ChatGPT API chat completion object.
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
Bugs Corrigidos
- 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 – recurso de CSS externo não era aplicado ao PDF gerado
v25.10
- Class PdfExtractor: contém todas as funções dos plugins: TextExtractor, ImageExtractor, FormExporter.
- Class TextExtractor: será excluída em breve, use PdfExtractor.
- Class ImageExtractor: será excluída em breve, use PdfExtractor.
- Class FormExporter: será excluída em breve, use PdfExtractor.
- Class TextExtractorOptions: renomeada para Class ExtractTextOptions.
- Class ImageExtractorOptions: renomeada para Class ExtractImagesOptions.
- Class FormExportToDsvOptions: renomeada para Class ExtractFormDataToDsvOptions.
- Veja The New Plugin Architecture.
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.ExtractText(options);
// Get the extracted text from the ResultContainer object
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.
// Create ExtractTextOptions object to set TextFormattingMode
var options = new ExtractTextOptions(TextFormattingMode.Pure);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Perform the process
var results = PdfExtractor.ExtractText(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.ExtractImages(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.ExtractFormData(options);
Novo plugin PDF Manager
- Class PdfManager: contém todas as funções dos plugins: Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
- Class Merger: será excluída em breve.
- Class Optimizer: será excluída em breve, use PdfManager.
- Class Splitter: será excluída em breve, use PdfManager.
- Class TableGenerator: será excluída em breve, use PdfManager.
- Class TocGenerator: será excluída em breve, use PdfManager.
- Veja The New Plugin Architecture.
Exemplo de Uso:
O exemplo demonstra como mesclar dois documentos PDF.
// Create MergeOptions object to set instructions
var options = new MergeOptions();
// Add input file paths
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Merge(options);
Exemplo de Uso:
O exemplo demonstra como dividir um documento PDF.
// Create SplitOptions object to set instructions
var options = new SplitOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file paths
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Perform the process
PdfManager.Split(options);
Exemplo de Uso:
O exemplo demonstra como otimizar um documento PDF.
// Create OptimizeOptions object to set instructions
var options = new OptimizeOptions();
// 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
PdfManager.Optimize(options);
Exemplo de Uso:
O exemplo demonstra como girar um documento PDF.
// Create RotateOptions object to set instructions
var options = new RotateOptions();
// Set new Rotation
options.Rotation = Rotation.On90;
// 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
PdfManager.Rotate(options);
Exemplo de Uso:
O exemplo demonstra como redimensionar um documento PDF.
// Create ResizeOptions object to set instructions
var options = new ResizeOptions();
// Set new PageSize
options.PageSize = PageSize.A3;
// 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
PdfManager.Resize(options);
Exemplo de Uso:
O exemplo demonstra como compactar um documento PDF.
// Create CompressOptions object to set instructions
var options = new CompressOptions();
// 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
PdfManager.Compress(options);
Exemplo de Uso:
O exemplo demonstra como adicionar uma tabela a um arquivo PDF.
// Configure table options
var options = new TableOptions();
options.InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Name")
.AddCell().AddParagraph("Age")
.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");
// Add input file path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Perform the process
PdfManager.AddTable(options);
Exemplo de Uso:
O exemplo demonstra como adicionar um sumário (Table of Contents) a um arquivo PDF.
// 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));
options.Headings.Add(new TocHeading("Chapter I", 3));
options.Headings.Add(new TocHeading("Chapter II", 4));
options.Headings.Add(new TocHeading("Chapter III", 5));
// 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
PdfManager.AddTableOfContents(options);
Exemplo de Uso:
O exemplo demonstra como adicionar um sumário a um PDF gerando marcadores (bookmarks).
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Generate links in bookmarks
options.GenerateBookmarks = true;
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
options.Headings.Add(new TocHeading("Chapter I", 3, true, 1));
options.Headings.Add(new TocHeading("Chapter II", 4, true, 1));
options.Headings.Add(new TocHeading("Example A", 4, true, 2));
options.Headings.Add(new TocHeading("Example B", 4, true, 2));
options.Headings.Add(new TocHeading("Example C", 4, true, 2));
options.Headings.Add(new TocHeading("Example D", 4, true, 2));
options.Headings.Add(new TocHeading("Chapter III", 5, true, 1));
// 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
PdfManager.AddTableOfContents(options);
Exemplo de Uso:
O exemplo demonstra como adicionar um sumário a um PDF e salvar como fluxo (stream).
// 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 FileDataSource("path_to_your_pdf_file.pdf"));
// Set output stream
var outputStream = new MemoryStream();
options.AddOutput(new StreamDataSource(outputStream));
options.CloseOutputStreams = false;
// Perform the process
PdfManager.AddTableOfContents(options);
Usabilidade aprimorada do TableGenerator
- Class TableGenerator: é estático e não requer o uso de um construtor.
- Class TableGenerator: marcado como Obsoleto. Use PdfManager em seu lugar.
Usabilidade aprimorada do PdfChatGpt
- Class PdfChatGpt: é estático e não requer o uso de um construtor.
- Class PdfChatGptRequestOptions: adicionada a propriedade CancellationToken (movida de PdfChatGpt).
Exemplo de Uso:
O exemplo demonstra como usar o plugin PdfChatGpt adicionando mensagens à requisição.
var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // Add the output file path.
options.ApiKey = "Your API key."; // You need to provide the key to access the API.
options.MaxTokens = 1000; // The maximum number of tokens to generate in the chat completion.
// for cancel
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;
// Add the request messages.
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
});
// Process the request.
await PdfChatGpt.ProcessAsync(options);
Bugs Corrigidos
- Corrigido meta‑dados da conversão de HTML para PDF
- Corrigido problemas de formatação de texto e escala de imagens na conversão PDF → PDF/A_3b
- Corrigido erro ao imprimir PDFs resultantes da conversão PDF → PDFA
- Corrigido imagem resultante com fundo na conversão PDF → HTML
- Corrigido caracteres chineses que aparecem como blocos na conversão HTML → PDF
- Corrigido fonte personalizada em Base64 que não era aplicada na conversão HTML → PDF
- Corrigido CSS de campo de formulário que não era aplicado na conversão HTML → PDF
- Corrigido problema de renderização de gráficos na conversão HTML → PDF
- Corrigido caracteres especiais que não eram renderizados na conversão HTML → PDF
v25.9
- Class DocConverter: é estática e não requer o uso de um construtor.
- Class PdfToDocOptions: adicionada a propriedade
Mode que permite personalizar o processo de conversão. - Enum DocConversionMode: permite personalizar o processo de conversão 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 PDF original é convertido em uma caixa de texto no documento resultante.
- Flow: Modo de reconhecimento total, o mecanismo realiza agrupamento e análise em múltiplos níveis para restaurar a intenção original do autor do documento e produzir um documento altamente editável.
Exemplo de Uso:
// The example demonstrates how to convert PDF document to Doc format.
// Create PdfToDocOptions object to set instructions
var options = new PdfToDocOptions();
// 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_file.doc"));
// Perform the process
DocConverter.Process(options);
// The example demonstrates how to convert PDF document to Doc format with setting Mode.
// Create PdfToDocOptions object to set instructions
var options = new PdfToDocOptions();
// 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_file.doc"));
// Set Mode
options.Mode = DocConversionMode.Flow;
// Perform the process
DocConverter.Process(options);
Usabilidade aprimorada do PdfAConverter
Class PdfAConverter: é estática e não requer o uso de um construtor.
Exemplo de Uso:
// The example demonstrates how to convert the PDF document in a PDF/A format (PDF/A-3b in this case):
// Create the options class to set up the conversion process
var options = new PdfAConvertOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_3B
};
// Add the source file
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // replace with your actual file path
// Add the path to save the converted file
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// Run the conversion
PdfAConverter.Process(options);
Exemplo de Uso (validação):
// The example demonstrates how to validate the PDF document conformance to PDF/A format (PDF/A-1a in this case):
// Create the options class to set up the validation process
var options = new PdfAValidateOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_1A
};
// Add one or more files to be validated
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // replace with your actual file path
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// add more files as needed
// Run the validation and get results
var resultContainer = PdfAConverter.Process(options);
// Check the resultContainer.ResultCollection property for validation results for each file:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
var result = resultContainer.ResultCollection[i];
var validationResult = (PdfAValidationResult) result.Data;
var isValid = validationResult.IsValid; // Validation result for the i-th document
}
Usabilidade aprimorada do Timestamp
Class Timestamp: é estática e não requer o uso de um construtor.
Exemplo de Uso:
// The example demonstrates how to add Timestamp to the document.
// Create AddTimestampOptions object to set instructions
var options = new AddTimestampOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file", "timestamp_server_url");
// 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
Timestamp.Process(options);
Documentação atualizada
Exemplos atualizados, extra exemplos adicionados:
- Informações sobre licença e avaliação
- Páginas de produto
- Gerador de Tabelas PDF
- Gerador de Sumário PDF
- Adicionador de Timestamp PDF
- Conversor PDF/A
- Extrator de Imagens PDF
- Extrator de Texto PDF
- Conversor PDF para XLS
- Conversor PDF para HTML
Bugs corrigidos
- Correção de problemas com HTML para PDF
- Correção de problemas com PDF para PDF/A-2B
- PDF para JPEG aprimorado: alguns caracteres de texto eram gerados como quadrados
- Correção de renderização PDF para TIFF
- Correção de exceções inesperadas ao converter PDF para JPEG
v25.8
Usabilidade aprimorada do JpegConverter
Class JpegConverter: é estática e não requer o uso de um construtor.
Exemplo de uso:
// O exemplo demonstra como converter um documento PDF para o formato JPEG.
// Crie o 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);
Usabilidade aprimorada do PngConverter
Class PngConverter: é estática e não requer o uso de um construtor.
Exemplo de uso:
// O exemplo demonstra como converter um documento PDF para o formato PNG.
// Crie o 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);
Usabilidade aprimorada do XlsConverter
- Class XlsConverter: é estática e não requer o uso de um construtor.
- Class XlsConverter: descrição corrigida.
Exemplo de uso:
// O exemplo demonstra como converter PDF para documento XLSX.
// Crie o 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);
Usabilidade aprimorada do Signature
- Class Signature: é estática 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 o 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 para HTML
- Segurança de PDF
- Otimizador de PDF
- Mesclador de PDF
- Divisor de PDF
Bugs corrigidos
- Corrigidos problemas com Anotações
- Corrigidos problemas após redimensionamento
- Corrigida a transformação de nomes de fontes ao converter PDF para PDF/A
- Corrigido PDF para DOCX – espaço adicionado no cabeçalho e outros problemas
- Corrigido HTML para PDF – fundo PNG transparente
- Corrigido PDF compactado – melhoria no trabalho com Adobe Acrobat
v25.7
- Class TextExtractor: é estática e não requer o uso de um construtor.
- Class TextExtractor: comportamento aprimorado ao executar em modo de avaliação. Nenhuma exceção com documentos de mais de 4 páginas.
- Class TextExtractor: correções de problemas no método Process.
- Class PdfExtractorOptions: removido.
- Class TextExtractorOptions: refatorado.
- Enum TextFormattingMode: renomeado e aprimorado.
Exemplo de Uso:
// The example demonstrates how to extract text content of PDF document.
// Create TextExtractorOptions object to set instructions
var options = new TextExtractorOptions(TextFormattingMode.Pure);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Perform the process
var results = TextExtractor.Process(options);
// Get the extracted text from the ResultContainer object
var textExtracted = results.ResultCollection[0].ToString();
Usabilidade aprimorada do Html Converter
- Class HtmlConverter: é estática e não requer o uso de um construtor.
- Class HtmlConverter: correções de problemas no método Process.
- Class HtmlConverter: lógica IDisposable removida.
- Class PdfConverterOptions: removido.
Exemplos de Uso:
// The example demonstrates how to convert PDF to HTML document.
// Create PdfToHtmlOptions object to set output data type as file with embedded resources
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Add input file path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.html"));
// Perform the process
HtmlConverter.Process(options);
// The example demonstrates how to convert HTML to PDF document.
// Create HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_input.html"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Perform the process
HtmlConverter.Process(options);
- Class ImageExtractor: é estática e não requer o uso de um construtor.
Exemplo de Uso:
// The example demonstrates how to extract images from PDF document.
// Create ImageExtractorOptions to set instructions
var options = new ImageExtractorOptions();
// 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 = ImageExtractor.Process(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();
Correções Menores
- Correções internas.
- Exemplos e dicas do Tiff Converter corrigidos.
- Duração da otimização de página reduzida.
- Corrigido: saída de imagem incorreta na conversão de PDF para PNG.
- Corrigido: caracteres chineses não exibidos corretamente durante a conversão de PDF para PNG.
- Aprimorado: desempenho durante a conversão de PDF para HTML.
v25.6
Usabilidade aprimorada do Tiff Converter
- Class PdfToTiffOptions: Adicionado parâmetro adicional para conversão – Compression.
- Class PdfToTiffOptions: Adicionado parâmetro adicional para conversão – ColorDepth.
- Class TiffConverter é estática e não requer o uso de um construtor.
- Exemplos principais aprimorados.
Exemplos de Uso:
// O exemplo demonstra como converter um documento PDF para o formato TIFF.
// Crie o 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"));
// Execute o processo
TiffConverter.Process(options);
// O exemplo demonstra como converter um documento PDF para o formato TIFF com parâmetros adicionais.
// Crie o 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;
// Execute o processo
TiffConverter.Process(options);
Correções Menores
v25.5
- Classe FormExporter: Representa o plugin
Documentize.FormExporter que é usado para exportar valores de formulários de documentos PDF para arquivos DSV ou CSV. - Classe FormExportToDsvOptions: Representa opções para exportar valores de documentos PDF para arquivos DSV ou CSV pelo plugin
Documentize.FormExporter.
Exemplo de Uso:
// The example demonstrates how to export form values to a CSV file.
// Create FormExportToDsvOptions object to set instructions
var options = new FormExportToDsvOptions(',', 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
FormExporter.Process(options);
Usabilidade aprimorada do Security
- A classe é estática e não requer o uso de um construtor.
- Exemplos principais aprimorados.
Exemplos de Uso:
// The example demonstrates how to encrypt a PDF document.
// Create EncryptionOptions object to set instructions
var options = new EncryptionOptions("123456", "qwerty");
// 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
Security.Process(options);
// The example demonstrates how to decrypt a PDF document.
// Create DecryptionOptions object to set instructions
var options = new DecryptionOptions("123456");
// 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
Security.Process(options);
Correções Menores
- Dicas de classe e licenças aprimoradas.
v25.4
Usabilidade aprimorada do Optimizer
- A classe é estática e não requer o uso de um construtor.
- Exemplo principal aprimorado.
- Exemplos adicionais adicionados.
Exemplos de Uso:
// The example demonstrates how to Optimize PDF document.
// Create OptimizeOptions object to set instructions
var options = new OptimizeOptions();
// 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
Optimizer.Process(options);
// The example demonstrates how to Rotate PDF document.
// Create RotateOptions object to set instructions
var options = new RotateOptions();
// Set new Rotation
options.Rotation = Rotation.On90;
// 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
Optimizer.Process(options);
// The example demonstrates how to Resize PDF document.
// Create ResizeOptions object to set instructions
var options = new ResizeOptions();
// Set new PageSize
options.PageSize = PageSize.A3;
// 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
Optimizer.Process(options);
// The example demonstrates how to Compress PDF document.
// Create CompressOptions object to set instructions
var options = new CompressOptions();
// 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
Optimizer.Process(options);
Usabilidade aprimorada do Plugin Splitter
- A classe é estática e não requer o uso de um construtor.
- Exemplo principal aprimorado.
Exemplos de Uso:
// The example demonstrates how to Split PDF document.
// Create SplitOptions object to set instructions
var options = new SplitOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file paths
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Perform the process
Splitter.Process(options);
Usabilidade aprimorada do Plugin Merger
- A classe é estática e não requer o uso de um construtor.
- Exemplo principal aprimorado.
Exemplos de Uso:
// The example demonstrates how to Merge two PDF documents.
// Create MergeOptions object to set instructions
var options = new MergeOptions();
// Add input file paths
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Merger.Process(options);
Correções Menores
- Dicas de classe aprimoradas.
v25.3
- Classe FormFlattener: Representa o plugin Documentize.FormFlattener que é usado para achatar campos em documentos PDF.
- Classe FormFlattenerOptions: Representa as opções para achatar campos no documento pelo plugin Documentize.FormFlattener.
Exemplo de Uso:
// The example demonstrates how to Flatten fields in PDF file.
// Create FormFlattenerOptions object to set instructions
var options = new FormFlattenerOptions();
// 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"));
// Optional parameter for skip the field with name "Surname".
options.SkipFields.Add("Surname");
// Perform the process
FormFlattener.Process(options);
// The example demonstrates how to Get Field Names from PDF file.
var fieldNames = FormFlattener.GetFieldNames("path_to_your_pdf_file.pdf");
Correções Menores
- Dicas de classe e exemplos aprimorados.
v25.2
Plugin adicionado: Gerador de Sumário (TOC)
- Class TocGenerator: Representa o plugin Documentize.TocGenerator. Usado para adicionar um Sumário a documentos PDF.
- Class TocOptions: Representa as opções para adicionar o Sumário ao documento pelo plugin Documentize.TocGenerator.
- Class TocHeading: Representa as opções para cabeçalhos ou títulos do Sumário ao documento pelo plugin Documentize.TocGenerator.
Exemplo de Uso:
// The example demonstrates how to add Table of Contents to PDF file.
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Generate links in bookmarks
options.GenerateBookmarks = true;
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
options.Headings.Add(new TocHeading("Chapter I", 3, true, 1));
options.Headings.Add(new TocHeading("Chapter II", 4, true, 1));
options.Headings.Add(new TocHeading("Example A", 4, true, 2));
options.Headings.Add(new TocHeading("Example B", 4, true, 2));
options.Headings.Add(new TocHeading("Example C", 4, true, 2));
options.Headings.Add(new TocHeading("Example D", 4, true, 2));
options.Headings.Add(new TocHeading("Chapter III", 5, true, 1));
// 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
TocGenerator.Process(options);
Correções menores
- Dicas de classe e exemplos aprimorados.
- Marcas d’água atualizadas.
- Conversão de PDF para XSLX aprimorada.
- Conversão de PDF para PDF/A-1a aprimorada.
v25.1
- Coleção de Saída adicionada ao ImageExtractorOptions.
- Suporte a múltiplas Entradas adicionado ao ImageExtractorOptions.
- Correção de fluxos de saída fechados.
Exemplo de Uso:
// create ImageExtractor object to extract images
var plugin = new ImageExtractor();
// create ImageExtractorOptions
var opt = new ImageExtractorOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output directory
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform extraction process
var resultContainer = plugin.Process(opt);
// get the image from the ResultContainer object
var imageExtracted = resultContainer.ResultCollection[0].ToFile();
Correções Menores
- Dicas de classe e exemplos aprimorados.
- Validação de assinatura PDF.
- Suporte aprimorado a caracteres chineses.
v24.12
Plugin Adicionado: Conversor de PDF para PNG
- Class PngConverter: Representa o plugin Documentize.PngConverter. Usado para converter documentos PDF para o formato PNG.
- Class PdfToPngOptions: Representa as opções do conversor de PDF para PNG do plugin Documentize.PngConverter.
Exemplo de Uso:
// create PngConverter
var plugin = new PngConverter();
// create PdfToPngOptions object to set instructions
var opt = new PdfToPngOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform the process
plugin.Process(opt);
Plugin Adicionado: Conversor de PDF para TIFF
- Class TiffConverter: Representa o plugin Documentize.TiffConverter. Usado para converter documentos PDF para o formato TIFF.
- Class PdfToTiffOptions: Representa as opções do conversor de PDF para TIFF do plugin Documentize.TiffConverter.
Exemplo de Uso:
// create TiffConverter
var plugin = new TiffConverter();
// create PdfToTiffOptions object to set instructions
var opt = new PdfToTiffOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform the process
plugin.Process(opt);
Plugin Adicionado: Gerador de Tabelas PDF
- Class TableGenerator: Representa o plugin Documentize.TableGenerator. Usado para adicionar uma tabela a um documento PDF.
- Class TableBuilder: Classe que representa o construtor de tabelas em páginas PDF.
- Class TableRowBuilder: Classe que representa o construtor de linhas de tabela.
- Class TableCellBuilder: Classe que representa o construtor de células de tabela.
Exemplo de Uso:
// create TableGenerator
var plugin = new TableGenerator();
// create TableOptions object to set instructions
TableOptions opt = new TableOptions().InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Name")
.AddCell().AddParagraph("Age")
.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");
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// perform the process
plugin.Process(opt);
Classe PdfDoc Renomeada para DocConverter
- Class DocConverter: Representa o plugin Documentize.DocConverter. Usado para converter documentos PDF para os formatos DOC/DOCX.
Exemplo de Uso:
// create DocConverter
var plugin = new DocConverter();
// create PdfToDocOptions object to set instructions
var opt = new PdfToDocOptions();
// add input file path
opt.AddInput(new FileDataSource(inputPath));
// set output file path
opt.AddOutput(new FileDataSource(outputPath));
// perform the process
plugin.Process(opt);
v24.11
Novo Plugin Adicionado: Conversor de PDF para JPEG
- Objetivo: A classe
JpegConverter foi projetada para converter documentos PDF em formato JPEG, facilitando para os usuários o manuseio e compartilhamento de 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("path_to_your_pdf_file.pdf"));
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
plugin.Process(opt);
- Método:
Process(PdfToJpegOptions options): Inicia o processo de conversão para JPEG usando as opções especificadas.
Classe DirectoryDataSource Adicionada
- Objetivo: 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("path_to_your_directory");
- Propriedades:
DataType: Recupera o tipo da fonte de dados.Path: Obtém o caminho do diretório de dados atual.
Classe PdfToJpegOptions Adicionada
- Objetivo: Esta classe contém opções para configurar o processo de conversão JPEG, permitindo que os usuários especifiquem resolução, lista 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
- Foi introduzida uma nova funcionalidade de conversão para PDF/A, 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("path_to_your_pdf_file.pdf"));
options.AddOutput(new FileDataSource("path_to_the_converted_file.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 bugs menores que afetavam o
HtmlConverter ao lidar com arquivos grandes.
Melhorias
- Desempenho aprimorado do
PdfExtractor e do ImageExtractor para tempos de processamento mais rápidos. - Atualizada a classe
RotateOptions para suportar ângulos de rotação adicionais.
v24.9
Lançado