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