v26.8
SignOptions 类已重新设计
- 现在更易于使用。
- 继承自 OptionsWithInputAndOutput 类。
- 属性 Inputs 和 Outputs 改为 Input 和 Output。现在只有 1 个输入和 1 个输出。
- 如果输出是文件,其流会自动关闭;如果是 Stream,则保持打开,以便后续使用。
- 移除方法 AddInput、AddOutput。
- 添加了多个更方便的构造函数:
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 Pfxstring PfxPasswordIData InputIData 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
- 以前的插件实现正逐步淘汰。此类的功能已被 PdfExtractor 和 PdfForm 类取代。
- Class FormExporter:已移除,请使用 PdfExtractor 或 PdfForm。
示例用法
演示如何使用 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 - 修复合并文档时抛出异常的问题