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
 Português