最新动态

v26.9

  • 已移除类 FormFlattener
  • GetFieldNamesOptions 类已重新设计
  • 其他修复

v26.8

  • SignOptions 类已重新设计
  • 已移除类 Signature
  • 已移除类 FormExporter
  • 改进类 FileData
  • 其他修复

v26.7

  • 已删除 类 ImageExtractor
  • 已删除 类 ImageExtractor
  • 其他修复

v26.6

  • PdfSecurity:新增在没有 PFX 的情况下为 PDF 添加时间戳的功能
  • 已删除 Class TextExtractor
  • 为新实体添加更多信息和提示
  • 在文档和产品中添加了关于 Sanitization 的信息
  • 修复了 HTML 转 PDF 时的异常
  • 其他修复

v26.5

  • PDF 安全的新功能:Sanitize
  • 新类 OptionsWithInputAndOutput
  • 改进 PDF 转 JPEG 的转换性能
  • 更新站点的产品页 “FAQs”
  • 其他修复

v26.4

  • 修复 PdfExtractor.Extract 异常
  • 改进 PDF 转 TIFF 渲染性能
  • 为本站点创建 “PDF Converter” 产品页面
  • 其他修复

v26.3

  • 将 IDataSource 重命名为 IData
  • 将 FileDataSource 重命名为 FileData
  • 将 StreamDataSource 重命名为 StreamData
  • 将 DirectoryDataSource 重命名为 DirectoryData
  • 将 Feature ExtractFormDataToDsvOptions 的属性 Delimiter 重命名
  • 为本站点创建了 “PDF Manager” 产品页面
  • 为本站点创建了 “PDF Form” 产品页面
  • 已修复的问题

v26.2

  • 改进的 PDF 提取器属性提取功能
  • 改进的 PDF 提取器文本提取功能
  • 已修复的错误

v26.1

  • 新特性:PDF 提取器的属性抽取
  • 增强功能
  • 已修复的错误

v25.12

  • 新插件 PDF 表单
  • PDF 提取器的更改
  • 增强功能
  • 已修复的错误

v25.11

  • 新插件 PDF Converter
  • 新插件 PDF Security
  • 插件 PdfChatGpt 集成到 PdfManager
  • 新增用于 ChatGpt 的选项
  • 增强功能
  • 已修复的错误

v25.10

  • 新插件 PDF Extractor
  • 新插件 PDF Manager
  • TableGenerator 可用性改进
  • PdfChatGpt 可用性改进
  • 已修复的错误

v25.9

  • 改进了 DocConverter 的可用性并添加了额外模式
  • 改进了 PdfAConverter 的可用性
  • 改进了 Timestamp 的可用性
  • 更新的文档
  • 已修复的错误

v25.8

  • 改进了 JpegConverter 的可用性
  • 改进了 PngConverter 的可用性
  • 改进了 XlsConverter 的可用性
  • 改进了 Signature 的可用性
  • 修改了 PdfToHtmlOptions 的构造函数
  • 修改了 TextExtractor 的评估标记
  • 更新了文档
  • 修复的错误

v25.7

  • 改进了 Text Extractor 的可用性
  • 改进了 Html Converter 的可用性
  • 改进了 Image Extractor 的可用性

v25.6

  • 改进了 Tiff 转换器的可用性

v25.5

  • 新增插件:Form Exporter
  • 改进了 Security 的可用性

v25.4

  • 改进了 Optimizer 的可用性
  • 改进了 Plugin Splitter 的可用性
  • 改进了 Plugin Merger 的可用性

v25.3

  • 新增插件:Form Flattener

v25.2

  • 新增插件:TOC Generator

v25.1

  • 改进的插件:ImageExtractor

v24.12

  • 新增插件:PDF 转 PNG 转换器
  • 新增插件:PDF 转 TIFF 转换器
  • 新增插件:PDF 表格生成器
  • 将类 PdfDoc 重命名为 DocConverter

v24.11

  • 新增插件:PDF 转 JPEG 转换器
  • 新增类 DirectoryDataSource
  • 新增类 PdfToJpegOptions

v24.10

  • 新增插件:PDF/A 转换器

v24.9

  • 已发布
2024年12月28日

最新动态 的子部分

v26.9

已移除类 FormFlattener

  • 之前的插件实现正逐步淘汰。该类的功能已被 PdfForm 类取代。
  • Class FormFlattener:已移除,请使用 PdfForm

示例用法:

以下示例演示如何在 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);

示例用法:

以下示例演示如何在 PDF 文件中扁平化字段并跳过第一个字段。

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

GetFieldNamesOptions 类已重新设计

  • 继承自 OptionsWithInput 类。
  • 新增属性 Input

示例用法:

以下示例演示如何从 PDF 文件获取字段名称。

// Get Field Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));

示例用法:

以下示例演示如何从 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));

其他修复

📄 PDF 转 DOC

  • 修复 PDF 转 DOC 时抛出 OutOfMemoryException 的问题
  • 修复 PDF 转 HTML 时脚注徽标显示错误的问题

🖼️ PDF 转 JPEG

  • 修复 PDF 转 JPEG 时抛出 OutOfMemoryException 的问题
  • 修复 PDF 转 PNG 时抛出 InvalidOperationException 的问题
  • 修复 PDF 转 TIFF 输出缺失信息的问题

📑 PDF 转 PDF/A

  • 修复 PDF 转 PDF/A 输出不符合 PDF/A-1b 或 PDF/A-3b 标准的问题
  • 修复 PDF/A-2b 转换时抛出 InvalidCastException 的问题
2026年9月7日

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日

v26.7

已删除 类 ImageExtractor

  • 之前的插件实现正逐步退役。此类的功能已迁移至 PdfExtractor 类。
  • 类 ImageExtractor:已删除,请使用 PdfExtractor

示例用法:

该示例演示如何从 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();

已删除 类 ImageExtractor

  • 此类的功能已迁移至 PdfSecurity 类。
  • 类 Timestamp:已删除,请使用 PdfSecurity
  • 类 AddTimestampOptions:已删除,请使用 SignOptionsTimestampOptions

示例用法:

该示例演示如何使用时间戳对 PDF 文档进行签名。

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

其他修复

🖥️ HTML 转 PDF

  • 修复了 HTML 转 PDF 时图像位置错误和文本覆盖的问题
  • 修复了 HTML 转 PDF 时页面内容未正确适配的问题
  • 修复了生成的 PDF 显示黑色条带的 issue

📑 PDF 转 PDF/A

  • 修复了 PDF 转 PDF/A API 抛出异常的问题
  • 修复了 PDF 转 PDF/A 转换生成的输出格式不正确的问题
  • 修复了 PDF 转 PDF/A 的内存泄漏问题
  • 修复了 PDF 转 PDF/A-3a 转换中的问题

⚙️ 其余

  • 修复了 PDF 转 PNG 和 HTML 时缺失文本内容的问题
  • 修复了扁平化后某些字段变为空白的问题
  • 修复了扁平化后 PDF 文档显示错误的问题
  • 修复了优化 PDF 时导致内容格式错乱的问题
2026年7月9日

v26.6

PdfSecurity:新增在没有 PFX 的情况下为 PDF 添加时间戳的功能

  • 现在可以在不指定 PFX 文件和密码的情况下为 PDF 文档添加时间戳。
  • Class SignOptions:构造函数接受 Class TimestampOptions

示例用法:

该示例演示如何使用时间戳签署 PDF 文档。

// 创建 SignOptions 对象以设置时间戳
var options = new SignOptions(new TimestampOptions("server_url"));
// 添加输入文件路径
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// 执行处理
PdfSecurity.Sign(options);

已删除 Class TextExtractor

  • 之前的插件实现正逐步淘汰。该类的功能已由 Class PdfExtractor 取代。
  • Class TextExtractor:已删除,请改用 PdfExtractor

为新实体添加更多信息和提示

  • OptionsWithInputAndOutputSanitizeOptions 添加了 XML 注释。
  • SanitizeOptions 中添加了默认值信息。

在文档和产品中添加了关于 Sanitization 的信息

  • 在文档中新增了 Sanitization 页面:https://docs.documentize.com/developers-guide/pdf-security/sanitize/。
  • 在 PDF Security 产品页面中添加了 Sanitization 信息:https://products.documentize.com/pdf-security/。

修复了 HTML 转 PDF 时的异常

其他修复

📄 通用 / 系统

  • 修复了合并损坏的 PDF 文档问题
  • 修复了处理损坏文件时的问题
  • 修复了打开 PDF 文件时的 System.StackOverflowException
  • 修复了特定 PDF 文件的文本抽取卡死问题

🌐 HTML → PDF

  • 修复了 HTML 转 PDF 时中文字符渲染错误的问题

📑 PDF → DOC

  • 修复了 PDF 转 DOC 时高亮注释仍遮挡文本的问题
  • 修复了 PDF 转 DOC 时图像渲染错误的问题
  • 修复了 PDF 转 DOC 的性能问题

📊 PDF → Excel

  • 修复了 PDF 转 Excel 时表格图像被忽略的问题

🖼️ PDF → PNG

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

🛡️ PDF → PDF/A

  • 修复了 PDF/A-1A 合规性丢失以及保存后表单损坏的问题
  • 修复了 PDF 转 PDFA 时的转换时间问题
  • 修复了 PDF 转 PDFA 时半透明效果丢失的问题
  • 修复了 PDF 转 PDFA 时文本重叠的问题
  • 修复了 PDF 转 PDFA 时文本渲染问题
  • 修复了 PDF 转 PDFA3b 时文档损坏的问题
2026年9月7日

v26.5

PDF 安全的新功能:Sanitize

  • 对 PDF 文档进行隐藏数据清理,确保元数据、附件、批注、JavaScript、表单、图层、搜索索引或私人内容等敏感或不必要的信息被删除或转换。
  • Class PdfSecurity:新增方法 Sanitize 用于对 PDF 文档进行清理。
  • Class SanitizeOptions:表示 PdfSecurity 类在文档中清理隐藏数据的配置选项。
  • Property Input:获取或设置输入数据。
  • Property Output:获取或设置输出数据。
  • Property ConvertPagesToImages:获取或设置将页面转换为图像的选项。
  • Property ImageDpi:获取或设置在页面转图像过程中解析图像的 DPI。
  • Property RemoveAnnotations:获取或设置是否从文档中删除批注。
  • Property RemoveSearchIndexAndPrivateInfo:获取或设置是否应从文档中删除搜索索引和私人信息。
  • Property FlattenForms:获取或设置在清理过程中是否将文档中的表单扁平化。
  • Property FlattenLayers:获取或设置是否将 PDF 文档中的图层扁平化。
  • Property RemoveJavaScriptsAndActions:获取或设置是否应从文档中删除 JavaScript 及相关操作。
  • Property RemoveMetadata:获取或设置是否删除文档的元数据。
  • Property RemoveAttachments:获取或设置是否删除文档中的所有附件。

示例用法:

演示如何对 PDF 文档进行 Sanitize。

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

示例用法:

演示如何对流中的 PDF 进行 Sanitize(从流到流)。

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

示例用法:

演示如何将文件中的 PDF Sanitize 为流。

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

示例用法:

演示通过手动设置 Input 与 Output 属性来对 PDF 进行 Sanitize(从文件到流)。

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

示例用法:

演示在不删除元数据的情况下对 PDF 进行 Sanitize。

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

示例用法:

演示在不删除附件的情况下对 PDF 进行 Sanitize。

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

示例用法:

演示在将所有页面转换为图像并设置结果 DPI 的情况下对 PDF 进行 Sanitize。

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

示例用法:

演示在不删除 JavaScript 和 Action 的情况下对 PDF 进行 Sanitize。

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

示例用法:

演示以最简方式对 PDF 文件进行 Sanitize。

PdfSecurity.Sanitize(new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf"));

新类 OptionsWithInputAndOutput

  • 表示具有 1 个输入数据和 1 个输出数据的操作的基础 Options。
  • 基于 OptionsWithInput。
  • Property Input:获取或设置输入数据。
  • Property Output:获取或设置输出数据。

改进 PDF 转 JPEG 的转换性能

更新站点的产品页 “FAQs”

https://docs.documentize.com/faqs/

其他修复

  • 修复大尺寸 HTML 转 PDF 的转换速度问题
  • 修复 PDF 转 HTML 时出现的 OutOfMemoryException
  • 修复 PDF 转 PDFA 时页面内容被截断的问题
  • 修复 PDF 转 PDFA 时透明图像渲染问题
  • 修复 PDF 转 PDFA2b 时输出中注释丢失的问题
  • 修复 PDF 转 PDF/A 时图像在输出文件中倒置的问题
  • 修复 PDF 转 PDF/A 时生成的文件不符合 PDF/A_2a 标准
  • 修复 PDF 转 PDF/A 时生成的文件不符合合规性要求
  • 修复 PDF 转 PDF/A 时签名转换后变黑的问题
  • 修复 PDF 转 PDF/A 时文字对齐意外变化的问题
  • 修复 PDF 转 PNG 时转换时间过长的问题
  • 修复 PDF 转 PNG 时输出图像不正确的问题
  • 修复 PDF 转 PNG 时输出图像出现暗色条纹的问题
  • 修复无法验证文档的 PDF/A_1b 合规性的问题
2026年9月7日

v26.4

修复 PdfExtractor.Extract 异常

  • 方法 PdfExtractor.Extract:如果在输入文档中找不到创建日期和修改日期,则不再抛出异常。
  • 属性 PdfProperties.Created:如果在输入文档中未找到对应值,返回 null。数据类型由 DateTime 改为 DateTime?
  • 属性 PdfProperties.Modified:如果在输入文档中未找到对应值,返回 null。数据类型由 DateTime 改为 DateTime?

示例用法:

该示例演示如何提取 Created 和 Modified 属性

// 创建 ExtractPropertiesOptions 对象以设置输入文件
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// 执行处理并获取属性
var pdfProperties = PdfExtractor.Extract(options);

var created = pdfProperties.Created;
var modified = pdfProperties.Modified;

改进 PDF 转 TIFF 渲染性能

为本站点创建 “PDF Converter” 产品页面

https://products.documentize.com/pdf-converter/

其他修复

  • 修复 HTML 转 PDF —— 大段 HTML 文本时性能非常慢
  • 修复 HTML 转 PDF —— 页眉页脚在后续页面不显示
  • 修复 HTML 转 PDF —— 工具提示渲染不正确
  • 修复 PDF 转 DOC —— 转换时触发 OutOfMemory 异常
  • 修复 PDF 转 XLS —— 合并的列被合并为单一列
  • 修复 PDF 转 HTML —— 背景图缺失
  • 修复 PDF 转 HTML —— 本地超链接未显示
  • 修复 PDF 转 JPEG —— 输出图像呈现全黑
  • 修复 PDF 转 PDF/A —— 生成文件的格式问题
  • 修复 PDF 转 PDF/A_1b —— 生成的文件不符合规范
  • 修复 PDF 转 PDF/A_3b —— 输出文件出现文本格式问题
  • 修复 PDF 转 PDF/A-2B —— 使用 OpenType MATH 字体时,转换会去除数学字符
2026年9月7日

v26.3

将 IDataSource 重命名为 IData

  • 接口 IDataSource:已重命名为 IData
  • 选项类现在更易于使用。

将 FileDataSource 重命名为 FileData

  • 类 FileDataSource:已重命名为 FileData
  • 选项类现在更易于使用。
  • 更新并修复了 XML 注释。
  • 所有涉及 Input 和 Output 的示例已更新。

示例用法:

该示例演示如何在 Input 和 Output 中使用 FileData。

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

将 StreamDataSource 重命名为 StreamData

  • 类 StreamDataSource:已重命名为 StreamData
  • 选项类现在更易于使用。
  • 更新并修复了 XML 注释。
  • 所有涉及 Input 和 Output 的示例已更新。

示例用法:

该示例演示如何在 Output 中使用 StreamData。

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

将 DirectoryDataSource 重命名为 DirectoryData

  • 类 DirectoryDataSource:已重命名为 DirectoryData
  • 选项类现在更易于使用。
  • 所有涉及 Input 和 Output 的示例已更新。

示例用法:

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

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

将 Feature ExtractFormDataToDsvOptions 的属性 Delimiter 重命名

已纠正单词拼写错误。

示例用法:

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

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

为本站点创建了 “PDF Manager” 产品页面

https://products.documentize.com/pdf-manager/

为本站点创建了 “PDF Form” 产品页面

https://products.documentize.com/pdf-form/

已修复的问题

  • 修复了将 Image 转换为 PDF 时出现的内存不足异常
  • 修复了目录生成产生错误结果的问题
  • 修复了 OptimizeResources 的 UnembedFonts 属性触发异常的问题
  • 修复了 PDF 转 HTML 在 Internet Explorer 中查看时字体未正确应用的问题
  • 修复了 PDF 转 HTML 时元素错位和格式符号错误的问题
  • 修复了 PDF 转 PDF/A 转换过程卡死的问题
  • 修复了 PDF 转 PDF/A 时表单字段及其值被移除的问题
  • 修复了 PDF 转 PDF/A 输出不符合 PDF/A_1a 标准的问题
  • 修复了 PDF 转 PDF/A 输出不符合 PDF/A_2b 标准的问题
  • 修复了 PDF 转 PDF/A-3A 输出未通过 Preflight 合规检查的问题
  • 修复了 PDF 转 PDF/A-3B 输出未通过 Preflight 合规检查的问题
2026年9月7日

v26.2

改进的 PDF 提取器属性提取功能

  • Class Extractor:可以从 PDF 文档中提取新的元数据。
  • Class PdfProperties:新增属性:FileName、Created、Modified、Application、PdfProducer。

示例用法:

示例演示如何从 PDF 文件中提取属性(FileName、Title、Author、Subject、Keywords、Created、Modified、Application、PDF Producer、页面数量)。

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

示例用法:

示例演示如何从 PDF 流中提取属性(Title、Author、Subject、Keywords、Created、Modified、Application、PDF Producer、页面数量)。

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

改进的 PDF 提取器文本提取功能

  • 文本提取和提取参数的使用更加简便:可以更容易地指定输入数据并获取结果。
  • Class ExtractTextOptions:实现 IHaveInput。仅使用 1 种输入数据。支持的数据类型:File 和 Stream。
  • Method Extract(ExtractTextOptions options):返回包含结果的字符串。
  • Object ResultContainer:已从 ExtractTextOptions 中移除。

示例用法:

示例演示如何从 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);

示例用法:

示例演示如何从 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);

示例用法:

示例演示如何在指定 TextFormattingMode 的情况下提取 PDF 文档的文本内容。

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

示例用法:

示例演示如何以最简方式从 PDF 文件中提取文本。

// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(new ExtractTextOptions("path_to_your_pdf_file.pdf", TextFormattingMode.Pure));

已修复的错误

  • Jpeg2000 文件转换为 PDF 失败
  • PDF 合并问题
  • PDF 页面尺寸调整后输出为空白
  • PDF 转 HTML:高亮颜色可见但文本缺失
  • PDF 转 HTML:生成的 HTML 不正确
  • PDF 转 HTML:左侧竖排文字缺失
  • PDF 转 HTML:页眉中的文本消失
  • PDF 转 HTML:透明批注文本不可见
  • PDF 转 PNG:部分中文字符渲染失败
2026年9月7日

v26.1

新特性:PDF 提取器的属性抽取

  • 提取 PDF 属性:标题、作者、主题、关键字、页数。
  • Class PdfExtractor:新增方法 Extract 用于抽取 PDF 属性。
  • Class ExtractPropertiesOptions:表示 PdfExtractor 插件的 PDF 属性抽取选项。
  • Class PdfProperties:表示 PDF 文档的属性和元信息。
  • Interface IHaveInput:用于只有单一输入数据的选项。
  • Class OptionsWithInput:用于只有单一输入数据的选项。
  • Full Free functional.

示例用法:

该示例演示如何从 PDF 文件中抽取属性(标题、作者、主题、关键字、页数)。

// 创建 ExtractPropertiesOptions 对象并设置输入文件
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// 执行过程并获取属性
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;

示例用法:

该示例演示如何从 PDF 流中抽取属性(标题、作者、主题、关键字、页数)。

// 创建 ExtractPropertiesOptions 对象并设置输入流
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractPropertiesOptions(stream);
// 执行过程并获取属性
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;

示例用法:

该示例演示如何以最简的方式从 PDF 文件中抽取属性。

// 执行过程并获取属性
var pdfProperties = PdfExtractor.Extract(new ExtractPropertiesOptions("path_to_your_pdf_file.pdf"));

增强功能

  • HTML 转 PDF 增强支持图片的 alt 文本
  • PDF 转 PDFA1b 合规性提升

已修复的错误

  • 尝试优化 PDF 文件时出现错误
  • 表单字段垂直对齐问题
  • 修复表单字段中日文文本显示问题
  • HTML 转 PDF – 表格格式化问题
  • 在 PDF 转 PDF/A 之前进行 PDF 大小优化导致输出损坏的问题
  • PDF 转 DOC – 表格渲染不正确
  • PDF 转 Excel – 输出文件格式问题
  • PDF 转 HTML – 转换过程中出现 ArgumentException
  • PDF 转 HTML 转换时缺失部分链接
  • 将 PDF 转换为 HTML 时出现文字缺失
2026年9月7日

v25.12

新插件 PDF 表单

  • Class PdfForm:包含插件 FormFlattener、FormExporter 的所有功能。同时支持删除和获取字段。
  • Class FormFlattener:即将删除,请使用 PdfForm
  • Class FormFlattenerOptions:已重命名为 Class FlattenFieldsOptions
  • Class GetFieldNamesOptions:用于设置获取字段名称的选项。
  • Class RemoveFieldsOptions:用于设置删除字段的选项。
  • 请参阅 The New Plugin Architecture

示例用法:

示例演示如何在 PDF 文件中扁平化字段。

// 创建 FlattenFieldsOptions 对象以设置指令
var options = new FlattenFieldsOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 执行处理
PdfForm.Flatten(options);

示例用法:

示例演示如何从 PDF 文件中获取字段名称。

var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));

示例用法:

示例演示如何将表单值导出为 CSV 文件。

// 创建 ExtractFormDataToDsvOptions 对象以设置指令
var options = new ExtractFormDataToDsvOptions(',', true);
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// 执行处理
PdfForm.Extract(options);

示例用法:

示例演示如何从 PDF 文件中删除字段。

// 创建 RemoveFieldsOptions 对象以设置指令
var options = new RemoveFieldsOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 执行处理
PdfForm.Remove(options);

PDF 提取器的更改

  • Method ExtractText:已重命名为 Method Extract
  • Method ExtractImages:已重命名为 Method Extract
  • Method ExtractFormData:已重命名为 Method Extract

示例用法:

示例演示如何提取 PDF 文档的文本内容。

// 创建 ExtractTextOptions 对象以设置指令
var options = new ExtractTextOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 执行处理
var results = PdfExtractor.Extract(options);
// 从 ResultContainer 对象中获取提取的文本
var textExtracted = results.ResultCollection[0].ToString();

示例用法:

示例演示如何提取 PDF 文档中的图像。

// 创建 ExtractImagesOptions 以设置指令
var options = new ExtractImagesOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出目录路径
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// 执行处理
var results = PdfExtractor.Extract(options);
// 获取图像结果的路径
var imageExtracted = results.ResultCollection[0].ToFile();

示例用法:

示例演示如何将表单值导出为 CSV 文件。

// 创建 ExtractFormDataToDsvOptions 对象以设置指令
var options = new ExtractFormDataToDsvOptions(',', true);
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// 执行处理
PdfExtractor.Extract(options);

增强功能

  • Class PdfConverterOptions、PdfToXlsOptions - 使用 Class PluginBaseOptions
  • PDF/A-1b 转换
  • PDF/A-2b 转换

已修复的错误

  • 修复了 HTML 转 PDF 转换的格式问题
  • 修复了 PDF 转 HTML 转换时链接丢失的问题
2026年9月7日

v25.11

新插件 PDF Converter

  • Class PdfConverter:包含所有插件功能:DocConverter、XlsConverter、HtmlConverter、JpegConverter、PdfAConverter、PngConverter、TiffConverter。
  • Class DocConverter:即将删除,请使用 PdfConverter
  • Class XlsConverter:即将删除,请使用 PdfConverter
  • Class HtmlConverter:即将删除,请使用 PdfConverter
  • Class JpegConverter:即将删除,请使用 PdfConverter
  • Class PdfAConverter:即将删除,请使用 PdfConverter
  • Class PngConverter:即将删除,请使用 PdfConverter
  • Class TiffConverter:即将删除,请使用 PdfConverter
  • Class PdfAConvertOptions:已重命名为 Class PdfToPdfAOptions
  • 请参阅 新插件架构

示例用法:

此示例演示如何将 PDF 文档转换为 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);

示例用法:

此示例演示如何将 PDF 转换为 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);

示例用法:

此示例演示如何将 PDF 转换为 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);

示例用法:

此示例演示如何将 HTML 转换为 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);

示例用法:

此示例演示如何将 PDF 文档转换为 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);

示例用法:

此示例演示如何将 PDF 文档转换为 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);

示例用法:

此示例演示如何将 PDF 文档转换为 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);

示例用法:

此示例演示如何将 PDF 文档转换为 PDF/A 格式(本例为 PDF/A‑3b):

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

示例用法:

此示例演示如何验证 PDF 文档是否符合 PDF/A 格式(本例为 PDF/A‑1a):

// 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
}

新插件 PDF Security

  • Class PdfSecurity:包含所有插件功能:Security、Signature、Timestamp。
  • Class Security:即将删除,请使用 PdfSecurity
  • Class Signature:即将删除,请使用 PdfSecurity
  • Class Timestamp:即将删除,请使用 PdfSecurity
  • Class DecryptionOptions:已重命名为 Class DecryptOptions
  • Class EncryptionOptions:已重命名为 Class EncryptOptions
  • Class SignOptions:现在包含 Class Timestamp 的属性。
  • 请参阅 新插件架构

示例用法:

此示例演示如何加密 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);

示例用法:

此示例演示如何解密 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);

示例用法:

此示例演示如何对 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);

示例用法:

此示例演示如何在签名时添加时间戳。

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

插件 PdfChatGpt 集成到 PdfManager

  • Class PdfChatGpt:即将删除,请使用 PdfManager
  • Class PdfChatGptRequestOptions:已重命名为 Class ChatGptRequestOptions

新增用于 ChatGpt 的选项

  • Class ChatCompletion:用于检查请求结果。
  • Class Choice:用于检查请求结果。
  • Class Usage:用于检查请求结果。
  • Class ChatGptConsts:用于使用模型名称、API URL 等额外设置。

示例用法:

此示例演示如何通过向请求添加消息来使用 ChatGpt。

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.

增强功能

  • PDF 转图片 – 提升转换性能
  • PDF 转 TIFF – 提升转换速度
  • PDF 转 Doc – 提升性能

已修复的错误

  • 修复 HTML 转 PDF 时生成文件的格式问题
  • 修复 PDF 转 TIFF 转换中的性能问题
  • 修复 HTML 转 PDF 时外部 CSS 资源未正确应用的问题
2026年9月7日

v25.10

新插件 PDF Extractor

  • Class PdfExtractor:包含插件的所有功能:TextExtractor、ImageExtractor、FormExporter。
  • Class TextExtractor:即将删除,请使用 PdfExtractor
  • Class ImageExtractor:即将删除,请使用 PdfExtractor
  • Class FormExporter:即将删除,请使用 PdfExtractor
  • Class TextExtractorOptions:已重命名为 Class ExtractTextOptions
  • Class ImageExtractorOptions:已重命名为 Class ExtractImagesOptions
  • Class FormExportToDsvOptions:已重命名为 Class ExtractFormDataToDsvOptions
  • 参见 The New Plugin Architecture

示例用法:

演示如何提取 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();

示例用法:

演示如何在 TextFormattingMode 下提取 PDF 文档的文本内容。

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

示例用法:

演示如何从 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();

示例用法:

演示如何将表单值导出为 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);

新插件 PDF Manager

  • Class PdfManager:包含插件的所有功能:Merger、Optimizer、Splitter、TableGenerator、TocGenerator。
  • Class Merger:即将删除。
  • Class Optimizer:即将删除,请使用 PdfManager
  • Class Splitter:即将删除,请使用 PdfManager
  • Class TableGenerator:即将删除,请使用 PdfManager
  • Class TocGenerator:即将删除,请使用 PdfManager
  • 参见 The New Plugin Architecture

示例用法:

演示如何合并两个 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);

示例用法:

演示如何拆分 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);

示例用法:

演示如何优化 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);

示例用法:

演示如何旋转 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);

示例用法:

演示如何重新设置 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);

示例用法:

演示如何压缩 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);

示例用法:

演示如何向 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);

示例用法:

演示如何向 PDF 文件添加目录(Table of Contents)。

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

示例用法:

演示如何在生成目录时创建书签。

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

示例用法:

演示如何将目录保存为流。

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

TableGenerator 可用性改进

  • Class TableGenerator:已设为静态,无需使用构造函数。
  • Class TableGenerator:已标记为过时,请改用 PdfManager。

PdfChatGpt 可用性改进

  • Class PdfChatGpt:已设为静态,无需使用构造函数。
  • Class PdfChatGptRequestOptions:新增属性 CancellationToken(从 PdfChatGpt 移动而来)。

示例用法:

演示如何通过向请求添加消息来使用 PdfChatGpt 插件。

var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // 添加输出文件路径。
options.ApiKey = "Your API key."; // 需要提供用于访问 API 的密钥。
options.MaxTokens = 1000; // Chat 完成时生成的最大 token 数量。
// 取消示例
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;

// 添加请求消息。
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
});

// 处理请求。
await PdfChatGpt.ProcessAsync(options);

已修复的错误

  • 修复了 HTML 转 PDF 时的元数据问题
  • 修复了 PDF 转 PDF/A_3b 时的文本格式和图片缩放问题
  • 修复了 PDF 转 PDFA 时生成的文件在打印时出现错误
  • 修复了 PDF 转 HTML 时生成的图像包含背景
  • 修复了 HTML 转 PDF 时部分中文字符显示为方框
  • 修复了 HTML 转 PDF 时 Base64 自定义字体未生效
  • 修复了 HTML 转 PDF 时表单字段 CSS 未被应用
  • 修复了 HTML 转 PDF 时图表未正确渲染
  • 修复了 HTML 转 PDF 时特殊字符未渲染
2026年9月7日

v25.9

改进了 DocConverter 的可用性并添加了额外模式

  • Class DocConverter:是静态的,不需要使用构造函数。
  • Class PdfToDocOptions:添加了属性 “Mode”,允许您自定义转换过程。
  • Enum DocConversionMode:允许您自定义 pdf 到 doc 的转换过程。取值:
    • TextBox:此模式速度快,能够在最大程度上保留 PDF 文件的原始外观,但生成文档的可编辑性可能受限。原始 PDF 中每个视觉上分组的文本块都会在生成的文档中转换为一个文本框。
    • Flow:完整识别模式,引擎执行分组和多层分析,以恢复原始文档作者的意图,生成可最大程度编辑的文档。

使用示例:

// 此示例演示如何将 PDF 文档转换为 Doc 格式。
// 创建 PdfToDocOptions 对象以设置指令
var options = new PdfToDocOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// 执行过程
DocConverter.Process(options);

使用示例(设置 Mode):

// 此示例演示如何在设置 Mode 的情况下将 PDF 文档转换为 Doc 格式。
// 创建 PdfToDocOptions 对象以设置指令
var options = new PdfToDocOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// 设置 Mode
options.Mode = DocConversionMode.Flow;
// 执行过程
DocConverter.Process(options);

改进了 PdfAConverter 的可用性

Class PdfAConverter:是静态的,不需要使用构造函数。

使用示例(PDF/A 转换):

// 此示例演示如何将 PDF 文档转换为 PDF/A 格式(此例为 PDF/A-3b):
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"));

// 运行转换
PdfAConverter.Process(options);

使用示例(PDF/A 验证):

// 此示例演示如何验证 PDF 文档是否符合 PDF/A 格式(此例为 PDF/A-1a):
var options = new PdfAValidateOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_1A
};

// 添加一个或多个待验证的文件
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // 替换为实际文件路径
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// 根据需要添加更多文件

// 运行验证并获取结果
var resultContainer = PdfAConverter.Process(options);

// 检查 resultContainer.ResultCollection 属性以获取每个文件的验证结果:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
    var result = resultContainer.ResultCollection[i];
    var validationResult = (PdfAValidationResult)result.Data;
    var isValid = validationResult.IsValid; // 第 i 个文档的验证结果
}

改进了 Timestamp 的可用性

Class Timestamp:是静态的,不需要使用构造函数。

使用示例:

// 此示例演示如何向文档添加时间戳。
// 创建 AddTimestampOptions 对象以设置指令
var options = new AddTimestampOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file", "timestamp_server_url");
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 执行过程
Timestamp.Process(options);

更新的文档

更新了示例,添加了额外示例:

  • 关于许可证和评估的信息
  • 产品页面
  • PDF 表格生成器
  • PDF 目录生成器
  • PDF 时间戳添加器
  • PDF/A 转换器
  • PDF 图像提取器
  • PDF 文本提取器
  • PDF 转 XLS 转换器
  • PDF 转 HTML 转换器

已修复的错误

  • 修复了 HTML 转 PDF 的问题
  • 修复了 PDF 转 PDF/A-2B 的问题
  • 改进了 PDF 转 JPEG:某些文本字符出现方块问题
  • 修复了 PDF 转 TIFF 的渲染问题
  • 修复了 PDF 转 JPEG 的意外异常
2026年9月7日

v25.8

改进了 JpegConverter 的可用性

Class JpegConverter:为静态类,无需使用构造函数。

示例用法:

// 示例演示如何将 PDF 文档转换为 JPEG 格式。
// 创建 PdfToJpegOptions 对象以设置指令
var options = new PdfToJpegOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_input.pdf"));
// 设置输出目录路径
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// 执行处理
JpegConverter.Process(options);

改进了 PngConverter 的可用性

Class PngConverter:为静态类,无需使用构造函数。

示例用法:

// 示例演示如何将 PDF 文档转换为 PNG 格式。
// 创建 PdfToPngOptions 对象以设置指令
var options = new PdfToPngOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_input.pdf"));
// 设置输出目录路径
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// 执行处理
PngConverter.Process(options);

改进了 XlsConverter 的可用性

  • Class XlsConverter:为静态类,无需使用构造函数。
  • Class XlsConverter:已修复描述。

示例用法:

// 示例演示如何将 PDF 转换为 XLSX 文档。
// 创建 PdfToXlsOptions 对象以设置指令
var options = new PdfToXlsOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_xlsx_file.xlsx"));
// 执行处理
XlsConverter.Process(options);

改进了 Signature 的可用性

  • Class Signature:为静态类,无需使用构造函数。
  • Class Signature:已修复描述。
  • Class Signature:已移除接口 IPlugin。

示例用法:

// 示例演示如何对 PDF 文档进行签名。
// 创建 SignOptions 对象以设置指令
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 执行处理
Signature.Process(options);

修改了 PdfToHtmlOptions 的构造函数

构造函数及参数已优化。

修改了 TextExtractor 的评估标记

评估标记的文字已更改。

更新了文档

更新了示例,新增了以下示例:

  • PDF 转 JPEG 转换器
  • PDF 转 PNG 转换器
  • PDF 转 TIFF 转换器
  • PDF 表单扁平化
  • HTML 转换器
  • PDF 安全性
  • PDF 优化器
  • PDF 合并器
  • PDF 拆分器

修复的错误

  • 修复了注释相关的问题
  • 修复了调整大小后的问题
  • 修复了 PDF 转 PDF/A 时字体名称的转换问题
  • 修复了 PDF 转 DOCX 时标题中出现空格以及其他问题
  • 修复了 HTML 转 PDF 时透明 PNG 背景的问题
  • 修复了压缩 PDF 的问题——改进了与 Adobe Acrobat 的兼容性
2026年9月7日

v25.7

改进了 Text Extractor 的可用性

  • Class TextExtractor:是静态的,无需使用构造函数。
  • Class TextExtractor:在评估模式下的行为已改进。处理 4 页以上的文档时不再抛出异常。
  • Class TextExtractor:修复了 Process 方法中的问题。
  • Class PdfExtractorOptions:已删除。
  • Class TextExtractorOptions:已重构。
  • Enum TextFormattingMode:已命名并改进。

示例用法:

// 该示例演示如何提取 PDF 文档的文本内容。
// 创建 TextExtractorOptions 对象以设置指令
var options = new TextExtractorOptions(TextFormattingMode.Pure);
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
/ / 执行处理
var results = TextExtractor.Process(options);
// 从 ResultContainer 对象获取提取的文本
var textExtracted = results.ResultCollection[0].ToString();

改进了 Html Converter 的可用性

  • Class HtmlConverter:是静态的,无需使用构造函数。
  • Class HtmlConverter:修复了 Process 方法中的问题。
  • Class HtmlConverter:移除了 IDisposable 逻辑。
  • Class PdfConverterOptions:已删除。

示例用法:

// 该示例演示如何将 PDF 转换为 HTML 文档。
// 创建 PdfToHtmlOptions 对象,将输出数据类型设为带嵌入资源的文件
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_input.pdf"));
/ / 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_output.html"));
// 执行处理
HtmlConverter.Process(options);

// 该示例演示如何将 HTML 转换为 PDF 文档。
// 创建 HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_input.html"));
/ / 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// 执行处理
HtmlConverter.Process(options);

改进了 Image Extractor 的可用性

  • Class ImageExtractor:是静态的,无需使用构造函数。

示例用法:

// 该示例演示如何从 PDF 文档中提取图像。
// 创建 ImageExtractorOptions 以设置指令
var options = new ImageExtractorOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
/ / 设置输出目录路径
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// 执行处理
var results = ImageExtractor.Process(options);
// 获取图像结果的路径
var imageExtracted = results.ResultCollection[0].ToFile();

小改动

  • 内部修复。
  • 修复了 Tiff Converter 的示例和提示。
  • 缩短了页面优化的时长。
  • 修复:PDF 转 PNG 时输出的图像不正确。
  • 修复:PDF 转 PNG 时中文字符显示异常。
  • 改进:PDF 转 HTML 的性能。
2026年9月7日

v25.6

改进了 Tiff 转换器的可用性

  • Class PdfToTiffOptions:为转换添加了额外参数 - Compression。
  • Class PdfToTiffOptions:为转换添加了额外参数 - ColorDepth。
  • Class TiffConverter 是静态的,无需使用构造函数。
  • 改进了主要示例。

示例用法:

// The example demonstrates how to convert PDF document into TIFF format.
// 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
TiffConverter.Process(options);

// The example demonstrates how to convert PDF document into TIFF format with additional parameters.
// 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"));
// Optional parameters
options.PageList = new List<int> { 1, 3 };
options.MultiPage = true;
options.OutputResolution = 400;
options.Compression = TiffCompression.RLE;
options.ColorDepth = TiffColorDepth.Format24bpp;
// Perform the process
TiffConverter.Process(options);

小修复

  • Internal fixes.
2026年9月7日

v25.5

新增插件:Form Exporter

  • Class FormExporter:表示 Documentize.FormExporter 插件,用于将 PDF 文档的表单值导出为 DSV 或 CSV 文件
  • Class FormExportToDsvOptions:表示通过 Documentize.FormExporter 插件将 PDF 文档的表单值导出为 DSV 或 CSV 文件的选项

示例用法:

// The example demonstrates how to Export Form values to 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);

改进了 Security 的可用性

  • 该类为静态类,无需使用构造函数。
  • 改进了主要示例。

示例用法:

// The example demonstrates how to encrypt 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 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);

小幅修复

  • 改进了类提示和许可证信息。
2026年9月7日

v25.4

改进了 Optimizer 的可用性

  • 类是静态的,不需要使用构造函数。
  • 改进了主要示例。
  • 添加了额外示例。

示例用法:

// 示例演示如何优化 PDF 文档。
// 创建 OptimizeOptions 对象以设置指令
var options = new OptimizeOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 执行处理
Optimizer.Process(options);

// 示例演示如何旋转 PDF 文档。
// 创建 RotateOptions 对象以设置指令
var options = new RotateOptions();
// 设置新的旋转角度
options.Rotation = Rotation.On90;
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 执行处理
Optimizer.Process(options);

// 示例演示如何调整 PDF 文档尺寸。
// 创建 ResizeOptions 对象以设置指令
var options = new ResizeOptions();
// 设置新的页面尺寸
options.PageSize = PageSize.A3;
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 执行处理
Optimizer.Process(options);

// 示例演示如何压缩 PDF 文档。
// 创建 CompressOptions 对象以设置指令
var options = new CompressOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 执行处理
Optimizer.Process(options);

改进了 Plugin Splitter 的可用性

  • 类是静态的,不需要使用构造函数。
  • 改进了主要示例。

示例用法:

// 示例演示如何拆分 PDF 文档。
// 创建 SplitOptions 对象以设置指令
var options = new SplitOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// 执行处理
Splitter.Process(options);

改进了 Plugin Merger 的可用性

  • 类是静态的,不需要使用构造函数。
  • 改进了主要示例。

示例用法:

// 示例演示如何合并两个 PDF 文档。
// 创建 MergeOptions 对象以设置指令
var options = new MergeOptions();
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 执行处理
Merger.Process(options);

小错误修复

  • 改进了类提示。
2026年9月7日

v25.3

新增插件:Form Flattener

  • Class FormFlattener:表示 Documentize.FormFlattener 插件,用于在 PDF 文档中扁平化字段。
  • Class FormFlattenerOptions:表示通过 Documentize.FormFlattener 插件对文档进行字段扁平化的选项。

示例用法:

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

小幅修复

  • 改进了类提示和示例。
2026年9月7日

v25.2

新增插件:TOC Generator

  • Class TocGenerator:表示 Documentize.TocGenerator 插件。用于向 PDF 文档添加目录。
  • Class TocOptions:表示通过 Documentize.TocGenerator 插件向文档添加目录的选项。
  • Class TocHeading:表示通过 Documentize.TocGenerator 插件为文档目录设置标题或标题层级的选项。

使用示例:

// 该示例演示如何向 PDF 文件添加目录。
var options = new TocOptions();
// 设置标题
options.Title = "My Table of Contents";
// 在书签中生成链接
options.GenerateBookmarks = true;
// 设计标题
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));
// 添加输入文件路径
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 执行处理
TocGenerator.Process(options);

小幅修复

  • 改进了类提示和示例。
  • 更新了水印。
  • 改进了 PDF 到 XSLX 的转换。
  • 改进了 PDF 到 PDF/A-1a 的转换。
2026年9月7日

v25.1

改进的插件:ImageExtractor

  • 为 ImageExtractorOptions 添加了 Output Collection。
  • 为 ImageExtractorOptions 添加了对多个 Inputs 的支持。
  • 修复了已关闭的输出流。

示例用法:

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

小修复

  • 改进了类提示和示例。
  • PDF 签名验证。
  • 改进了对中文字符的支持。
2026年9月7日

v24.12

新增插件:PDF 转 PNG 转换器

  • Class PngConverter:表示 Documentize.PngConverter 插件。用于将 PDF 文档转换为 PNG 格式。
  • Class PdfToPngOptions:表示 Documentize.PngConverter 插件的 PDF 转 PNG 转换选项。

示例用法:

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

新增插件:PDF 转 TIFF 转换器

  • Class TiffConverter:表示 Documentize.TiffConverter 插件。用于将 PDF 文档转换为 TIFF 格式。
  • Class PdfToTiffOptions:表示 Documentize.TiffConverter 插件的 PDF 转 TIFF 转换选项。

示例用法:

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

新增插件:PDF 表格生成器

  • Class TableGenerator:表示 Documentize.TableGenerator 插件。用于在 PDF 文档中添加表格。
  • Class TableBuilder:表示 PDF 页面中表格的构建器。
  • Class TableRowBuilder:表示表格行的构建器。
  • Class TableCellBuilder:表示表格单元格的构建器。

示例用法:

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

将类 PdfDoc 重命名为 DocConverter

  • Class DocConverter:表示 Documentize.DocConverter 插件。用于将 PDF 文档转换为 DOC/DOCX 格式。

示例用法:

// 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);
2026年9月7日

v24.11

新增插件:PDF 转 JPEG 转换器

  • 目的JpegConverter 类用于将 PDF 文档转换为 JPEG 格式,使用户更容易处理和共享由 PDF 派生的图像。
  • 构造函数
    • JpegConverter():初始化 JPEG 转换器的新实例。

示例用法:

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);
  • 方法
    • Process(PdfToJpegOptions options):使用指定的选项启动 JPEG 转换过程。

新增类 DirectoryDataSource

  • 目的DirectoryDataSource 类允许用户在插件中管理目录数据的加载和保存操作。
  • 构造函数
    • DirectoryDataSource(string path):使用指定路径初始化新的目录数据对象。

示例用法:

var directorySource = new DirectoryDataSource("path_to_your_directory");
  • 属性
    • DataType:获取数据源的类型。
    • Path:获取当前数据目录的路径。

新增类 PdfToJpegOptions

  • 目的:此类包含配置 JPEG 转换过程的选项,允许用户指定分辨率、页面列表和图像质量。
  • 构造函数
    • PdfToJpegOptions():初始化 JPEG 转换器的选项实例。

属性:

  • OutputResolution:指定生成的 JPEG 图像的分辨率。
  • PageList:要从 PDF 转换的页面列表。
  • Quality:设置 JPEG 输出的质量。
2026年9月7日

v24.10

新增插件:PDF/A 转换器

  • 引入了全新的 PDF/A 转换功能,用户可以轻松将普通 PDF 文件转换为符合 PDF/A 标准的文档。

使用示例:

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

错误修复

  • 修复了与 FileResult 类相关的问题,导致输出路径不正确的情况。
  • 解决了在处理大文件时 HtmlConverter 的一些小错误。

改进

  • 提升了 PdfExtractorImageExtractor 的性能,实现更快的处理速度。
  • 更新了 RotateOptions 类,支持更多的旋转角度。
2026年9月7日

v24.9

已发布

 中文