v26.8

SignOptions 类已重新设计

  • 现在更易于使用。
  • 继承自 OptionsWithInputAndOutput 类。
  • 属性 InputsOutputs 改为 InputOutput。现在只有 1 个输入和 1 个输出。
  • 如果输出是文件,其流会自动关闭;如果是 Stream,则保持打开,以便后续使用。
  • 移除方法 AddInputAddOutput
  • 添加了多个更方便的构造函数:
    • 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)
  • 新增可修改属性:
    • Stream Pfx
    • string PfxPassword
    • IData Input
    • IData Output

示例用法

使用 SignOptions 的示例。

using var pfxStream = File.OpenRead(@"path_to_your_pfx_file.pfx");
var options = new SignOptions(pfxStream, "password_of_your_pfx_file");

// 设置输入和输出文件路径
options.Input = new FileData("path_to_your_pdf_file.pdf");
options.Output = new FileData("path_to_result_pdf_file.pdf");

示例用法

演示如何以最简方式对 PDF 文件进行签名。

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

示例用法

演示如何使用流对 PDF 文档进行签名。

// 准备流
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();

// 创建 SignOptions 对象以设置指令
var options = new SignOptions(pdfStreamInput, pdfStreamOutput, pfxStreamInput, "password_of_your_pfx_file");

// 执行处理
PdfSecurity.Sign(options);

已移除类 Signature

  • 以前的插件实现正逐步淘汰。此类的功能已被 PdfSecurity 类取代。
  • Class Signature:已移除,请使用 PdfSecurity

示例用法

演示如何对 PDF 文档进行签名。

// 创建 SignOptions 对象以设置指令
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");

// 执行处理
PdfSecurity.Sign(options);

已移除类 FormExporter

  • 以前的插件实现正逐步淘汰。此类的功能已被 PdfExtractorPdfForm 类取代。
  • Class FormExporter:已移除,请使用 PdfExtractorPdfForm

示例用法

演示如何使用 PdfExtractor 将表单值导出为 CSV 文件。

// 创建 ExtractFormDataToDsvOptions 对象以设置指令
var options = new ExtractFormDataToDsvOptions(',', true);

// 添加输入文件路径
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));

// 设置输出文件路径
options.AddOutput(new FileData("path_to_result_csv_file.csv"));

// 执行处理
PdfExtractor.Extract(options);

示例用法

演示如何使用 PdfForm 将表单值导出为 TSV 文件并设置属性。

// 创建 ExtractFormDataToDsvOptions 对象以设置指令
var options = new ExtractFormDataToDsvOptions();

// 设置分隔符
options.Delimiter = '\t';

// 添加字段名到结果
options.AddFieldName = true;

// 添加输入文件路径
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));

// 设置输出文件路径
options.AddOutput(new FileData("path_to_result_csv_file.tsv"));

// 执行处理
PdfForm.Extract(options);

改进类 FileData

  • 重写了 ToString() 方法。

其他修复

📄 PDF 转 DOC

  • 修复 PDF 转 DOC 转换耗时过长的问题

🌐 PDF 转 HTML / HTML 转 PDF

  • 修复 PDF 转 HTML 时出现透明图像的问题
  • 修复 HTML 转 PDF 时内容重叠的问题
  • 修复 HTML 转 PDF 时表格宽度被忽略的问题

🖼️ PDF 转 PNG / TIFF

  • 修复 PDF 转 PNG 时占用过多内存的问题
  • 修复 PDF 转 PNG 时未保留嵌入字体的问题
  • 修复 PDF 转 TIFF 时抛出异常的问题

📑 PDF 转 PDF/A

  • 修复 PDF 转 PDF/A 时文档颜色丢失的问题
  • 修复 PDF 转 PDF/A 时输出文本重叠的问题
  • 修复 PDF/A Validate() 方法返回不正确结果的问题
  • 修复 PDF/A 验证产生不正确结果的问题

📂 其他操作

  • 修复验证 PDF 签名时抛出的 System.FormatException
  • 修复合并文档时抛出异常的问题
2026年8月13日
 中文