Documentar Lançamentos

Dica

Para começar a usar o SDK Documentize, você tem várias opções para baixar os binários no seu sistema. Por favor, selecione o método que melhor se alinha com suas necessidades específicas.

Aviso

Ao baixar o SDK Documentize de qualquer forma, você concorda com o EULA da Smallize.

Obtém do NuGet

A maneira mais simples de começar a usar o Documentize é instalando o pacote .NET diretamente do NuGet. Aqui estão alguns métodos rápidos para fazer isso. Para mais detalhes, visite o guia de instalação do NuGet.

dotnet add package Documentize
NuGet\Install-Package Documentize
<PackageReference Include="Documentize" Version="24.x.x" />

Baixar Instalador MSI

Outra opção para obter o Documentize é baixando o pacote MSI, que instala os assemblies necessários (DLLs). Basta clicar no botão de download abaixo ou saber mais sobre esse método de instalação no guia de instalação MSI.

Baixar Última Versãov26.09 MSI

Baixar ZIP

Você também pode baixar o pacote ZIP contendo apenas os arquivos DLL que você pode armazenar da maneira que desejar. Aprenda mais sobre isso no guia de instalação ZIP.

Baixar Última Versãov26.09 ZIP
28 de dez. de 2024

Subsecções de Documentar Lançamentos

Sobre o Documentize

O que é o Documentize?

Documentize é um componente robusto .NET que capacita os desenvolvedores a criar documentos PDF profissionais e versáteis programaticamente, eliminando a necessidade de ferramentas externas como o Adobe Acrobat.

Por que usar o Documentize?

Aqui está o que destaca o Documentize:

  • Criação de PDF sem esforço: Gere PDFs simples ou complexos rapidamente, incorporando elementos como tabelas, gráficos, imagens, hyperlinks e fontes personalizadas.
  • Segurança aprimorada: Integre recursos de segurança robustos para proteger seus documentos PDF sensíveis.
  • Opções de desenvolvimento flexíveis: Escolha entre criar PDFs usando uma API amigável ou templates XML para um fluxo de trabalho simplificado.
  • Integração simplificada: Documentize integra-se perfeitamente com várias aplicações .NET, incluindo aplicativos web ASP.NET e aplicações Windows, escritas em linguagens como C#, VB.NET e J#.
  • Rápido e eficiente: O componente leve gera PDFs de maneira eficiente, otimizando o desempenho da sua aplicação.
  • Custo-benefício e suporte: Desfrute de um preço competitivo, desempenho excepcional e suporte abrangente para uma experiência de desenvolvimento tranquila.

Principais Recursos

  • Suporte a conteúdo rico: Adicione tabelas, gráficos, imagens, hyperlinks, fontes personalizadas e muito mais aos seus PDFs.
  • Capacidades de compressão: Reduza o tamanho do arquivo dos seus PDFs para facilitar o armazenamento e a distribuição.
  • Segurança avançada: Implemente recursos de segurança para proteger informações confidenciais dentro dos seus documentos PDF.
  • Métodos de criação dupla: Crie PDFs usando uma API programática ou templates XML para maior flexibilidade.
  • Compatibilidade multiplataforma: Funciona perfeitamente com várias linguagens e tipos de aplicações .NET.
  • Suporte a multitarefa: Permite a criação segura de vários PDFs em diferentes threads simultaneamente.
  • Recursos de aprendizado: Acesse demonstrações abrangentes e exemplos funcionais em C# para acelerar seu processo de desenvolvimento.

Escolha Ideal para Diversas Indústrias

Documentize atende a uma ampla gama de indústrias onde a geração de PDFs desempenha um papel crucial. Estas incluem:

  • Finanças e Contabilidade: Gere faturas, recibos, relatórios financeiros e outros documentos críticos.
  • Saúde: Crie registros de pacientes, prescrições e laudos laboratoriais em um formato seguro e padronizado.
  • Manufatura: Produza especificações de produtos, relatórios de controle de qualidade e documentos de envio.
  • Governo e Legal: Gere licenças, autorizações, contratos e documentos judiciais com recursos de segurança aprimorados.
  • Educação: Crie certificados, históricos escolares, relatórios e outros documentos acadêmicos.

Documentize capacita desenvolvedores de diversas indústrias a otimizar seus fluxos de trabalho de criação de PDFs, garantindo eficiência, segurança e flexibilidade.

28 de dez. de 2024

Evaluate

Você pode facilmente baixar os SDKs do Documentize para fins de avaliação. A versão de avaliação é idêntica à versão comprada, com a única diferença sendo a forma como você aplica a licença.

Limitações da Versão de Avaliação

A versão de avaliação do Documentize (sem uma licença especificada) oferece total funcionalidade do produto, mas possui duas limitações: insere uma marca d’água de avaliação nas páginas e apenas quatro páginas podem ser visualizadas/editadas.

Mais informações sobre Avaliação e Licença aqui

15 de ago. de 2025

Instalação

Instalação do SDK do Documentize

O Documentize pode ser instalado por meio de vários métodos, cada um adaptado a diferentes ambientes de desenvolvimento e preferências. Abaixo estão as maneiras recomendadas de instalar o Documentize:

1. NuGet (Método Preferido)

O NuGet é o método mais direto e preferido para instalar o Documentize, garantindo que você sempre tenha a versão mais recente e atualizações diretamente em seu ambiente de desenvolvimento. Confira mais detalhes sobre este método de instalação em Como instalar SDKs do Documentize usando NuGet.

2. Instalador MSI

O instalador MSI é uma opção conveniente se você preferir ter as DLLs do Documentize instaladas diretamente em seu sistema. Este método é ideal para desenvolvedores que desejam usar o Documentize em vários projetos sem precisar gerenciar manualmente os arquivos DLL. Confira mais detalhes sobre este método de instalação em Como instalar SDKs do Documentize usando MSI.

3. Arquivo ZIP

Para desenvolvedores que preferem uma abordagem manual, o arquivo ZIP contém as DLLs do Documentize, que podem ser extraídas e adicionadas ao seu projeto diretamente. Confira mais detalhes sobre este método de instalação em Como instalar SDKs do Documentize usando ZIP.

28 de dez. de 2024

Subsecções de Instalação

Instalando Documentize via NuGet


Dica

NuGet é um gerenciador de pacotes livre e de código aberto para .NET que simplifica a adição, remoção e atualização de bibliotecas em projetos do Visual Studio. Ele gerencia arquivos de biblioteca, referências e alterações de configuração automaticamente.

Como Instalar via Console do Gerenciador de Pacotes NuGet

  1. Abra Seu Projeto:

    • Inicie o Visual Studio e abra seu aplicativo .NET.
  2. Acesse o Console do Gerenciador de Pacotes:

    • Navegue em Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes.
  3. Instale o Pacote:

    • Para instalar a versão completa mais recente, insira o comando Install-Package Documentize.
    • Para instalar a versão mais recente, incluindo correções rápidas, use Install-Package Documentize -prerelease.
    • Pressione Enter para executar o comando.

Como Atualizar o Pacote via Console do Gerenciador de Pacotes NuGet

Se você já instalou o Documentize via NuGet e quer atualizar para a versão mais recente:

  1. Abra Seu Projeto:

    • Inicie o Visual Studio e abra seu aplicativo .NET.
  2. Acesse o Console do Gerenciador de Pacotes:

    • Navegue em Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes.
  3. Atualize o Pacote:

    • Para atualizar para a versão completa mais recente, insira Update-Package Documentize.
    • Para atualizar para a versão mais recente, incluindo correções rápidas, use Update-Package Documentize -prerelease.
    • Pressione Enter para executar o comando.

Como Instalar via GUI do Gerenciador de Pacotes NuGet

  1. Abra Seu Projeto:

    • Inicie o Visual Studio e abra seu aplicativo .NET.
  2. Navegue até Gerenciar Pacotes NuGet:

    • No menu Projeto, selecione Gerenciar Pacotes NuGet.
  3. Pesquise por Documentize:

    • Vá para a aba Procurar e insira Documentize no campo de busca.
  4. Instale o Pacote:

    • Clique em Instalar/Atualizar ao lado da versão mais recente do Documentize.
    • Confirme clicando em Aceitar na janela pop-up.

Prós de Usar o NuGet

  • Gerenciamento Automático de Dependências:

    • O NuGet gerencia automaticamente as dependências, garantindo que todas as bibliotecas necessárias estejam incluídas e atualizadas corretamente. Isso reduz o risco de faltar dependências ou de terem compatibilidades incorretas.
  • Atualizações Simplificadas:

    • Atualizar pacotes é direto com o NuGet, seja através do Console do Gerenciador de Pacotes ou GUI. Isso torna fácil manter suas bibliotecas atualizadas com os últimos recursos e correções de bugs.
  • Integrado com o Visual Studio:

    • O NuGet está perfeitamente integrado ao Visual Studio, proporcionando uma interface amigável para gerenciar pacotes sem sair do ambiente de desenvolvimento.
  • Versionamento:

    • O NuGet permite que você especifique e gerencie diferentes versões de bibliotecas, permitindo que você reverta facilmente para versões anteriores ou teste novas versões sem interromper seu desenvolvimento.

Contras de Usar o NuGet

  • Limitado ao Visual Studio:

    • O NuGet é projetado principalmente para uso dentro do Visual Studio. Embora possa ser usado em outros ambientes, a integração é mais robusta no Visual Studio.
  • Potencial para Conflitos de Versão:

    • Em projetos maiores com muitas dependências, gerenciar versões e resolver conflitos pode se tornar complexo. O NuGet fornece ferramentas para gerenciar isso, mas requer atenção cuidadosa.
  • Dependência de Rede:

    • Instalar e atualizar pacotes requer uma conexão com a internet. Se você estiver trabalhando em um ambiente com acesso à internet restrito ou inexistente, pode precisar usar métodos offline ou pré-baixar pacotes.
  • Complexidade para Projetos Grandes:

    • Para projetos muito grandes com árvores de dependência extensivas, a sobrecarga de gerenciar pacotes através do NuGet pode se tornar trabalhosa. Nesses casos, ferramentas ou estratégias adicionais podem ser necessárias para gerenciar dependências de forma eficaz.

Instalando Documentize via ZIP

Dica

O arquivo ZIP é ideal para desenvolvedores que preferem uma abordagem manual para gerenciar bibliotecas. Este método permite que você baixe e extraia diretamente os arquivos DLL necessários sem depender de um gerenciador de pacotes ou instalador.

Como Instalar via Arquivo ZIP

  1. Baixe o Arquivo ZIP:

    • Clique no v26.09 ZIP para baixar a versão mais recente do Documentize em formato de arquivo.
  2. Extraia o Conteúdo:

    • Após o download, extraia o conteúdo do arquivo ZIP para um diretório de sua escolha. Você pode optar por manter esses arquivos em um diretório compartilhado ou dentro da estrutura do seu projeto.
  3. Adicione Referências ao Seu Projeto:

    • Abra seu projeto em seu IDE (por exemplo, Visual Studio).
    • Vá para Projeto > Adicionar Referência > Procurar e navegue até o diretório onde você extraiu as DLLs.
    • Selecione os arquivos DLL relevantes e adicione-os como referências ao seu projeto.
  4. Atualizações Manuais:

    • Se uma nova versão do Documentize for lançada, você precisará baixar manualmente o arquivo ZIP atualizado e substituir os antigos arquivos DLL em seu projeto pelos novos.

Prós do Uso do Arquivo ZIP

  • Controle Completo:

    • Você tem controle total sobre onde e como as DLLs são armazenadas e referenciadas em seu projeto. Isso pode ser benéfico se você preferir uma configuração personalizada ou precisar gerenciar dependências manualmente.
  • Sem Dependência de Gerenciadores de Pacotes:

    • Diferente do NuGet, você não depende de um gerenciador de pacotes para lidar com instalações. Isso pode ser vantajoso em ambientes onde gerenciadores de pacotes não estão disponíveis ou não são preferidos.
  • Portabilidade:

    • O arquivo ZIP pode ser facilmente compartilhado e movido entre diferentes sistemas, tornando-o ideal para projetos que precisam ser portáteis ou distribuídos sem depender de ferramentas externas.

Contras do Uso do Arquivo ZIP

  • Gerenciamento Manual:

    • Diferente do NuGet, onde atualizações e gerenciamento de dependências são automatizados, com o arquivo ZIP, você deve gerenciar manualmente as atualizações e garantir que todas as DLLs necessárias estejam corretamente referenciadas.
  • Risco de Conflitos de Versão:

    • Se você está gerenciando vários projetos ou trabalhando em equipe, há um risco de conflitos de versão se projetos diferentes usarem versões diferentes das DLLs. Isso requer um rastreamento cuidadoso das versões entre os projetos.
  • Sem Atualizações Automáticas:

    • Você não receberá atualizações automáticas ou notificações quando uma nova versão estiver disponível. Isso pode levar ao risco de usar bibliotecas desatualizadas, a menos que você verifique regularmente se há atualizações.

Instalando o Documentize via MSI

Dica

O instalador MSI é uma opção conveniente e amigável para instalar o Documentize, particularmente se você preferir ter as DLLs instaladas globalmente no sistema. Este método simplifica o processo de instalação automatizando muitos dos passos envolvidos.

Como Instalar via Instalador MSI

  1. Baixe o Instalador MSI:

    • Clique no v26.09 MSI para baixar o instalador MSI para a versão mais recente do Documentize.
  2. Execute o Instalador:

    • Clique duas vezes no arquivo MSI baixado para iniciar o assistente de instalação.
  3. Siga o Assistente de Instalação:

    • Siga as instruções na tela fornecidas pelo instalador. Você poderá precisar concordar com o contrato de licença e selecionar opções de instalação.
  4. Finalize a Instalação:

    • Uma vez que a instalação esteja completa, as DLLs do Documentize serão instaladas no Cache de Assemblies Global (GAC) do seu sistema ou em outro local especificado.
  5. Verifique a Instalação:

    • Verifique se as DLLs estão corretamente instaladas verificando a presença delas no diretório de instalação designado ou no GAC.

Prós de Usar o Instalador MSI

  • Facilidade de Uso:

    • O instalador MSI proporciona um processo de instalação simples e guiado. Ele lida com todas as configurações necessárias e coloca as DLLs em um local central, facilitando o uso do Documentize em vários projetos.
  • Instalação Global:

    • O método MSI instala o Documentize no Cache de Assemblies Global (GAC) do sistema ou em outro local central. Isso permite que qualquer aplicação no sistema acesse as DLLs sem precisar referenciá-las individualmente em cada projeto.
  • Atualizações Automatizadas:

    • Se o Documentize fornecer um instalador atualizado, você pode facilmente atualizar sua instalação executando o novo arquivo MSI, que normalmente lida com o processo de atualização suavemente.
  • Consistência:

    • Usar o instalador MSI garante que todos os arquivos necessários sejam instalados corretamente e de forma consistente em diferentes ambientes, reduzindo o risco de DLLs ausentes ou mal posicionadas.

Contras de Usar o Instalador MSI

  • Flexibilidade Limitada:

    • O instalador MSI instala o Documentize em um local global do sistema, o que pode não ser adequado para todos os ambientes de desenvolvimento. Pode carecer da flexibilidade para acomodar configurações ou versões específicas de projeto.
  • Sobrecarga Potencial:

    • Instalar DLLs no GAC pode introduzir sobrecarga e complexidade, particularmente em cenários onde múltiplas versões do Documentize podem ser necessárias simultaneamente.
  • Remoção Manual:

    • Se você precisar desinstalar o Documentize, deve usar o desinstalador fornecido pelo MSI, que pode deixar arquivos residuais ou configurações se não for gerenciado corretamente.
  • Conflitos de Versão:

    • Instalações globais podem levar a conflitos de versão se diferentes projetos requerem diferentes versões do Documentize. Gerenciar esses conflitos pode exigir configuração ou limpeza adicional.

Ambiente Não-Windows

Trabalhando com DLLs .NET Core em Ambiente Não-Windows

Como o Documentize para .NET oferece suporte ao .NET Standard 2.0 (.NET Core 2.0), ele pode ser usado em Aplicativos Core que executam em sistemas operacionais semelhantes ao Linux. Estamos constantemente trabalhando para melhorar o suporte ao .NET Core em nossa API. No entanto, há algumas operações que recomendamos que nossos clientes realizem para obter melhores resultados ao usar recursos do Documentize para .NET. Por favor, instale:

  • pacote libgdiplus
  • Pacote com fontes compatíveis com Microsoft: ttf-mscorefonts-installer (por exemplo, sudo apt-get install ttf-mscorefonts-installer). Essas fontes devem ser colocadas no diretório /usr/share/fonts/truetype/msttcorefonts, pois o Documentize para .NET verifica esta pasta em sistemas operacionais semelhantes ao Linux. Caso o sistema operacional tenha outra pasta/diretório padrão para fontes, você deve usar a seguinte linha de código antes de realizar qualquer operação usando o Documentize:
    Documentize.Pdf.Text.FontRepository.Sources.Add(new FolderFontSource("<caminho do usuário para fontes ms>"));

O Que Há de Novo

v26.9

  • Classe FormFlattener removida
  • Classe GetFieldNamesOptions foi remodelada
  • Outras correções

v26.8

  • Classe SignOptions foi redesenhada
  • Classe Signature removida
  • Classe FormExporter removida
  • Classe FileData aprimorada
  • Outras correções

v26.7

  • Classe ImageExtractor Removida
  • Classe Timestamp Removida
  • Outras correções

v26.6

  • PdfSecurity: Adicionar capacidade de assinar PDF com um Timestamp sem PFX
  • Classe TextExtractor removida
  • Mais informações e dicas para novas entidades
  • Informações sobre Sanitização adicionadas à Docs e Products.
  • Exceção corrigida na conversão de HTML para PDF
  • Outras correções

v26.5

  • Novo Recurso Sanitizar para Segurança de PDF
  • Nova Classe OptionsWithInputAndOutput
  • Desempenho Melhorado na Conversão de PDF para JPEG
  • Página de produto atualizada "FAQs" para este site
  • Outras correções

v26.4

  • Exceção corrigida em PdfExtractor.Extract
  • Desempenho aprimorado na renderização de PDF para TIFF
  • Página de produto criada para "PDF Converter" neste site
  • Outras correções

v26.3

  • Renomeado IDataSource para IData
  • Renomeado FileDataSource para FileData
  • Renomeado StreamDataSource para StreamData
  • Renomeado DirectoryDataSource para DirectoryData
  • Renomeada propriedade Delimiter para Feature ExtractFormDataToDsvOptions
  • Página de produto criada para "PDF Manager" neste site
  • Página de produto criada para "PDF Form" neste site
  • Problemas corrigidos

v26.2

  • Recurso Aprimorado: Extrair Propriedades para o PDF Extractor
  • Recurso Aprimorado: Extrair Texto para o PDF Extractor
  • Bugs Corrigidos

v26.1

  • Novo Recurso Extrair Propriedades para o Extrator de PDF
  • Melhorias
  • Bugs Corrigidos

v25.12

  • Novo plugin PDF Form
  • Alterações no PDF Extractor
  • Melhorias
  • Bugs Corrigidos

v25.11

  • Novo plugin PDF Converter
  • Novo plugin PDF Security
  • Plugin PdfChatGpt integrado ao PdfManager
  • Novas opções disponíveis para trabalhar com ChatGpt
  • Melhorias
  • Bugs Corrigidos

v25.10

  • Novo plugin PDF Extractor
  • Novo plugin PDF Manager
  • Usabilidade aprimorada do TableGenerator
  • Usabilidade aprimorada do PdfChatGpt
  • Bugs Corrigidos

v25.9

  • Usabilidade aprimorada do DocConverter e modo extra adicionado
  • Usabilidade aprimorada do PdfAConverter
  • Usabilidade aprimorada do Timestamp
  • Documentação atualizada
  • Bugs corrigidos

v25.8

  • Usabilidade aprimorada do JpegConverter
  • Usabilidade aprimorada do PngConverter
  • Usabilidade aprimorada do XlsConverter
  • Usabilidade aprimorada do Signature
  • Construtores modificados de PdfToHtmlOptions
  • Marca de avaliação modificada do TextExtractor
  • Documentação atualizada
  • Bugs corrigidos

v25.7

  • Usabilidade aprimorada do Text Extractor
  • Usabilidade aprimorada do Html Converter
  • Usabilidade aprimorada do Image Extractor

v25.6

  • Usabilidade aprimorada do Tiff Converter

v25.5

  • Adicionado novo Plugin: Form Exporter
  • Usabilidade aprimorada do Security
  • Correções Menores

v25.4

  • Usabilidade aprimorada do Optimizer
  • Usabilidade aprimorada do Plugin Splitter
  • Usabilidade aprimorada do Plugin Merger

v25.3

  • Adicionado novo Plugin: Form Flattener

v25.2

  • Plugin adicionado: Gerador de Sumário (TOC)

v25.1

  • Plug-in Melhorado: ImageExtractor

v24.12

  • Plugin Adicionado: Conversor de PDF para PNG
  • Plugin Adicionado: Conversor de PDF para TIFF
  • Plugin Adicionado: Gerador de Tabelas PDF
  • Classe PdfDoc Renomeada para DocConverter

v24.11

  • Novo Plugin Adicionado: Conversor de PDF para JPEG
  • Classe `DirectoryDataSource` Adicionada
  • Classe `PdfToJpegOptions` Adicionada

v24.10

  • Novo Plugin Adicionado: Conversor PDF/A

v24.9

  • Lançado
28 de dez. de 2024

Subsecções de O Que Há de Novo

v26.9

Classe FormFlattener removida

  • 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.
7 de set. de 2026

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);

Classe FormExporter removida

  • 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
13 de ago. de 2026

v26.7

Classe ImageExtractor Removida

  • 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
7 de set. de 2026

v26.6

PdfSecurity: Adicionar capacidade de assinar PDF com um Timestamp sem PFX

  • 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);

Classe TextExtractor removida

  • 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.

Mais informações e dicas para novas entidades

  • Comentários XML adicionados para OptionsWithInputAndOutput e SanitizeOptions.
  • Informações sobre valores padrão adicionadas em SanitizeOptions.

Informações sobre Sanitização adicionadas à Docs e Products.

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
7 de set. de 2026

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"));

Nova Classe OptionsWithInputAndOutput

  • 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
7 de set. de 2026

v26.4

Exceção corrigida em PdfExtractor.Extract

  • 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
7 de set. de 2026

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);

Renomeada propriedade Delimiter para Feature ExtractFormDataToDsvOptions

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/

Página de produto criada para “PDF Form” neste site

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
7 de set. de 2026

v26.2

Recurso Aprimorado: Extrair Propriedades para o PDF Extractor

  • 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;

Recurso Aprimorado: Extrair Texto para o PDF Extractor

  • 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
7 de set. de 2026

v26.1

Novo Recurso Extrair Propriedades para o Extrator de PDF

  • 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
7 de set. de 2026

v25.12

Novo plugin PDF Form

  • 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);

Alterações no PDF Extractor

  • 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
7 de set. de 2026

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.

Novas opções disponíveis para trabalhar com ChatGpt

  • 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
7 de set. de 2026

v25.10

Novo plugin PDF Extractor

  • 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
7 de set. de 2026

v25.9

Usabilidade aprimorada do DocConverter e modo extra adicionado

  • 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);

Exemplo de Uso (com Mode):

// 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
7 de set. de 2026

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.

Marca de avaliação modificada do TextExtractor

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
7 de set. de 2026

v25.7

Usabilidade aprimorada do Text Extractor

  • 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);

Usabilidade aprimorada do Image Extractor

  • 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.
7 de set. de 2026

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

  • Correções internas.
7 de set. de 2026

v25.5

Adicionado novo Plugin: Form Exporter

  • 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.
7 de set. de 2026

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.
7 de set. de 2026

v25.3

Adicionado novo Plugin: Form Flattener

  • 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.
7 de set. de 2026

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.
7 de set. de 2026

v25.1

Plug-in Melhorado: ImageExtractor

  • 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.
7 de set. de 2026

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);
7 de set. de 2026

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.
7 de set. de 2026

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.
7 de set. de 2026

v24.9

Lançado

 Português