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