发布

提示

Documentize 可以通过多种方法进行安装。请选择最符合您开发环境和工作流的选项。

警告

下载 Documentize 的任何形式,即表示您同意 Smallize EULA。

从 NuGet 获取

NuGet 是安装 Documentize 并保持包最新的推荐方式。
使用以下任意方法进行安装。更多细节,请参阅 NuGet 安装指南。

.NET CLI

dotnet add package Documentize

Package Manager Console

NuGet\Install-Package Documentize

PackageReference

<PackageReference Include="Documentize" Version="26.10.0" />

下载 MSI 安装程序

获取 Documentize 的另一种方式是下载 MSI 包,它会安装所需的程序集(DLL)。只需点击下方下载按钮,或在 MSI 安装指南 中了解更多信息。

下载最新 v26.11 MSI

下载 ZIP

您也可以下载仅包含 DLL 文件的 ZIP 包,并将其存放在任何位置。更多信息请参阅 ZIP 安装指南。

下载最新 v26.11 ZIP
2026年10月15日

发布 的子部分

About Documentize

Documentize 是什么?

Documentize 是一个强大的 .NET 组件,帮助开发者以编程方式创建专业且多功能的 PDF 文档,无需使用 Adobe Acrobat 等外部工具。

为什么使用 Documentize?

以下是 Documentize 脱颖而出的原因:

  • 轻松创建 PDF: 即时生成简单或复杂的 PDF,支持表格、图表、图像、超链接和自定义字体等元素。
  • 增强的安全性: 集成强大的安全功能,保护敏感的 PDF 文档。
  • 灵活的开发选项: 可通过友好的 API 或 XML 模板创建 PDF,工作流更加流畅。
  • 简化的集成: Documentize 可无缝集成到各种 .NET 应用中,包括 ASP.NET Web 应用和 Windows 应用,支持 C#、VB.NET、J# 等语言。
  • 快速高效: 轻量级组件高效生成 PDF,优化应用性能。
  • 性价比高且有支持: 价格竞争力强,性能卓越,提供全面支持,确保开发体验顺畅。

关键特性

  • 丰富的内容支持: 在 PDF 中添加表格、图表、图像、超链接、自定义字体等。
  • 压缩功能: 减小 PDF 文件大小,便于存储和分发。
  • 高级安全性: 实施安全措施,保护 PDF 中的机密信息。
  • 双重创建方式: 通过编程 API 或 XML 模板生成 PDF,提供更大的灵活性。
  • 跨平台兼容性: 与多种 .NET 语言和应用类型无缝配合。
  • 多线程支持: 允许在不同线程上安全并发创建多个 PDF。
  • 学习资源: 提供完整的演示和 C# 示例,帮助快速上手开发。

多行业理想选择

Documentize 适用于众多行业,PDF 生成在这些领域至关重要,包括:

  • 金融与会计: 生成发票、收据、财务报告等关键文档。
  • 医疗健康: 创建患者记录、处方和实验报告,确保安全统一的格式。
  • 制造业: 输出产品规格、质量控制报告和物流单据。
  • 政府与法律: 生成许可证、执照、合同和法院文件,并提供增强的安全特性。
  • 教育行业: 制作证书、成绩单、报告等学术文档。

Documentize 为各行业开发者提供了简化 PDF 创建工作流的能力,确保高效、安全且灵活。

2026年11月3日

Evaluate

您可以轻松下载 Documentize SDK 进行评估。评估版与正式购买版功能相同,唯一的区别在于授权方式。

评估版限制

Documentize 的评估版(未指定许可证)提供完整的产品功能,但有两个限制:在页面顶部会插入评估水印,并且只能查看/编辑四页。

此处了解有关评估和许可证的更多信息

2026年11月3日

安装

Documentize SDK 的安装

Documentize 可以通过多种方法进行安装,每种方法都针对不同的开发环境和偏好。以下是推荐的 Documentize 安装方式:

1. NuGet(首选方法)

NuGet 是安装 Documentize 最直接且首选的方法,确保您始终在开发环境中获得最新版本和更新。有关此安装方法的更多详情,请参阅 如何使用 NuGet 安装 Documentize SDK。

2. MSI 安装程序

如果您希望将 Documentize DLL 直接安装到系统中,MSI 安装程序是一个方便的选项。此方法适用于希望在多个项目中使用 Documentize 而不需要手动管理 DLL 文件的开发者。有关此安装方法的更多详情,请参阅 如何使用 MSI 安装 Documentize SDK。

3. ZIP 压缩包

对于偏好手动方式的开发者,ZIP 压缩包中包含 Documentize DLL,您可以将其解压后直接添加到项目中。有关此安装方法的更多详情,请参阅 如何使用 ZIP 安装 Documentize SDK。

2026年11月3日

安装 的子部分

Installing Documentize via MSI

提示

MSI 安装程序是一个方便且用户友好的选项,用于安装 Documentize,尤其是当你希望将 DLL 安装到系统范围时。此方法通过自动化许多步骤简化了安装过程。

通过 MSI 安装程序进行安装的步骤

  1. 下载 MSI 安装程序:

    • 点击 v26.11 MSI 下载最新版本的 Documentize 的 MSI 安装程序。
  2. 运行安装程序:

    • 双击下载的 MSI 文件以启动安装向导。
  3. 按照安装向导操作:

    • 按照安装程序提供的屏幕指示进行操作。你可能需要同意许可协议并选择安装选项。
  4. 完成安装:

    • 安装完成后,Documentize 的 DLL 将被安装到系统的全局程序集缓存(GAC)或其他指定位置。
  5. 验证安装:

    • 通过检查指定的安装目录或 GAC 中是否存在这些 DLL,确认它们已正确安装。

使用 MSI 安装程序的优势

  • 易于使用:

    • MSI 安装程序提供简单且有指导的安装过程。它会处理所有必要的配置,并将 DLL 放置在中心位置,便于在多个项目中使用 Documentize。
  • 系统范围安装:

    • MSI 方法将 Documentize 安装到系统的全局程序集缓存(GAC)或其他中心位置。这样系统上的任何应用程序都可以访问这些 DLL,无需在每个项目中单独引用。
  • 自动化更新:

    • 如果 Documentize 提供了更新的安装程序,只需运行新的 MSI 文件即可轻松更新,通常能顺利完成更新过程。
  • 一致性:

    • 使用 MSI 安装程序可确保所有必需文件在不同环境中正确且一致地安装,降低缺失或放错 DLL 的风险。

使用 MSI 安装程序的劣势

  • 灵活性有限:

    • MSI 安装程序将 Documentize 安装到系统范围的位置,这可能不适合所有开发环境,可能缺乏针对项目特定配置或版本的灵活性。
  • 潜在开销:

    • 将 DLL 安装到 GAC 可能会引入额外的开销和复杂性,尤其在需要同时使用多个 Documentize 版本的场景下。
  • 手动卸载:

    • 若需要卸载 Documentize,必须使用 MSI 提供的卸载程序,如果管理不当,可能会留下残余文件或配置。
  • 版本冲突:

    • 系统范围的安装可能导致版本冲突,当不同项目需要不同版本的 Documentize 时,需要额外的配置或清理工作来解决冲突。

Installing Documentize via ZIP

提示

ZIP 存档非常适合喜欢手动管理库的开发者。这种方式允许你直接下载并解压所需的 DLL 文件,而无需依赖包管理器或安装程序。

如何通过 ZIP 存档进行安装

  1. 下载 ZIP 存档:

    • 点击 v26.11 ZIP 下载最新版本的 Documentize 压缩包。
  2. 解压内容:

    • 下载后,将 ZIP 文件解压到你选择的目录中。你可以将这些文件保存在共享目录或项目结构内部。
  3. 将引用添加到项目中:

    • 在你的 IDE(例如 Visual Studio)中打开项目。
    • 依次选择 Project > Add Reference > Browse,定位到解压后 DLL 所在的目录。
    • 选中相关的 DLL 文件并将其添加为项目引用。
  4. 手动更新:

    • 如果发布了新版本的 Documentize,需要手动下载更新的 ZIP 存档,并用新 DLL 替换项目中旧的 DLL 文件。

使用 ZIP 存档的优势

  • 完全控制:

    • 你可以完全自行决定 DLL 的存放位置和在项目中的引用方式。如果需要自定义设置或手动管理依赖,这非常有用。
  • 无需依赖包管理器:

    • 与 NuGet 不同,你不需要依赖包管理器来进行安装。这在没有或不希望使用包管理器的环境中尤为便利。
  • 可移植性强:

    • ZIP 存档可以轻松在不同系统之间共享和迁移,适合需要在多台机器上运行或分发而不依赖外部工具的项目。

使用 ZIP 存档的劣势

  • 手动管理:

    • 与 NuGet 自动更新和依赖管理不同,使用 ZIP 需要手动处理更新并确保所有必需的 DLL 正确引用。
  • 版本冲突风险:

    • 在管理多个项目或团队协作时,不同项目可能使用不同版本的 DLL,容易导致版本冲突,需要对版本进行仔细跟踪。
  • 没有自动更新:

    • 当有新版本发布时,你不会收到自动更新或通知,除非主动检查更新,否则可能使用过时的库。

非 Windows 环境

在非 Windows 环境下使用 .NET Core DLL

由于 Documentize for .NET 提供了 .NET Standard 2.0(.NET Core 2.0)支持,它可以在类似 Linux 的操作系统上运行的 Core 应用程序中使用。我们正在不断改进 API 对 .NET Core 的支持。然而,为了在使用 Documentize for .NET 功能时获得更好的效果,我们建议客户执行以下操作。请安装:

  • libgdiplus 包

  • Microsoft 兼容字体包: ttf‑mscorefonts‑installer(例如 sudo apt-get install ttf-mscorefonts-installer)。这些字体应放置在 /usr/share/fonts/truetype/msttcorefonts 目录下,因为 Documentize for .NET 会在类 Linux 操作系统上扫描此文件夹。如果操作系统使用了其他默认的字体文件夹/目录,请在使用 Documentize 进行任何操作之前,先加入以下代码行:

    Documentize.Pdf.Text.FontRepository.Sources.Add(new FolderFontSource("<user's path to ms fonts>"));

最新动态

v26.11

  • 更新的安装文档
  • 更新的发布页面
  • 已修复

v26.10

  • 为 GetFieldNamesOptions 添加无参数构造函数
  • PdfProperties 中的字段已变更
  • 删除类 Splitter
  • 删除类 Merger
  • 其他修复

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.11

更新的安装文档

更新的发布页面

  • 发布
  • 已更新页面内容并删除了 NuGet 包表格

已修复

🌐 HTML to PDF

  • 在 HTML 转 PDF 的转换过程中,文件链接未被保留。
  • HTML 转 PDF 转换会导致文本重叠或被截断。
  • HTML 转 PDF 转换表现出过度的内存消耗和性能缓慢。

🖼️ 图像

  • 生成的图像可能丢失文本内容。

📝 表单

  • 扁平化表单字段时会将文本写入控制台。

✅ PDF/A 转换与合规性

  • PDF/A-2u 转换后可能缺少字符。
  • 生成的 PDF/A-1a 文档可能未通过 PDF/A 合规性验证。
  • PDF 转 PDF/A 转换可能生成过大的输出文件。
  • PDF 转 PDF/A 转换可能抛出 NullReferenceException。
  • PDF 转 PDF/A-1b 输出可能未通过合规性验证。
  • PDF 转 PDF/A-2a 转换可能消耗过多内存。
  • PDF 转 PDF/A-2a 转换可能抛出参数相关异常。
  • PDF 转 PDF/A-2a 转换可能触发图像加载错误。
  • PDF 转 PDF/A-2u 转换可能无法突出显示搜索短语。

🔄 PDF 转换

  • 将 PDF 文档的第二页转换为 HTML 可能抛出 ArgumentException。
  • PDF 转 DOC 转换可能产生格式问题。
  • PDF 转 HTML 转换可能在文本上显示不需要的黄色高亮。
  • PDF 转 HTML 转换可能省略单词之间的空格。
  • PDF 转 JPEG 转换可能产生乱码文本。
  • PDF 转 TIFF 转换可能抛出 OutOfMemoryException。

⚡ 资源优化

  • 资源优化可能导致某些页面渲染为黑色。
2026年11月4日

v26.10

为 GetFieldNamesOptions 添加无参数构造函数

在循环操作中使用时无需创建新实例,十分便利。

示例用法:

var options = new GetFieldNamesOptions();
// 从文件设置输入
options.Input = new FileData("path_to_your_pdf_file.pdf");
// 或者从流设置输入
// options.Input = new StreamData(stream);
var results = PdfForm.GetNames(options);

PdfProperties 中的字段已变更

  • 字段 Created 现在的类型为 DateTime,不再是 DateTime?。如果文档没有该值,将返回 DateTime.MinValue。
  • 字段 Modified 现在的类型为 DateTime,不再是 DateTime?。如果文档没有该值,将返回 DateTime.MinValue。

示例用法:

以下示例演示如何从 PDF 文件中提取属性(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;

删除类 Splitter

  • 已删除 Splitter 类。
  • 该功能现由 PdfManager 提供。

示例用法:

以下示例演示如何将 PDF 流拆分为单独的页面并保存为文件。

// 创建 SplitOptions 对象以设置指令
var options = new SplitOptions();
// 添加输入文件路径
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// 设置输出文件路径
options.AddOutput(new FileData("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileData("path_to_result_pdf_file_2.pdf"));
// 执行过程
PdfManager.Split(options);

示例用法:

以下示例演示如何将 PDF 流拆分为单独的页面并保存为流。

// 准备输入和输出流
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
using var outputStream1 = new MemoryStream();
using var outputStream2 = new MemoryStream();

// 创建 SplitOptions 对象以设置指令
var options = new SplitOptions();
// 添加输入流
options.AddInput(inputStream);
// 设置输出流
options.AddOutput(outputStream1);
options.AddOutput(outputStream2);
// 防止关闭输出流
options.CloseOutputStreams = false;
// 执行过程
PdfManager.Split(options);

删除类 Merger

  • 已删除 Merger 类。
  • 该功能现由 PdfManager 提供。

示例用法:

以下示例演示如何合并两个 PDF 文档。

// 创建 MergeOptions 对象以设置指令
var options = new MergeOptions();
// 添加输入文件路径
options.AddInput(new FileData("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileData("path_to_your_pdf_file_2.pdf"));
// 设置输出文件路径
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// 执行过程
PdfManager.Merge(options);

其他修复

🖥️ HTML 转 PDF

  • 修复了包含大量表格的 HTML 转 PDF 时耗时过长的问题
  • 修复了 HTML 转 PDF 输出在 Chrome 中无法正确打印的问题
  • 修复了 HTML 转 PDF 时表格文本内容缺失的问题

🌐 PDF 转 HTML

  • 修复了 PDF 转 HTML 时文本和图形内容缺失的问题
  • 修复了 PDF 转 HTML 时页脚的 logo 显示破碎的问题

📄 PDF 转 DOC/XLS

  • 修复了 PDF 转 DOC 时耗时过长的问题
  • 修复了 PDF 转 Excel 时生成错误输出的问题

🖼️ PDF 转 PNG

  • 修复了 PDF 转 PNG 时首页文字失真的问题
  • 修复了 PDF 转 PNG 时抛出 InvalidOperationException 的问题

🖼️ PDF 转 TIFF

  • 修复了 PDF 转 TIFF 时未转换全部页面的问题
  • 修复了 PDF 转 TIFF 时生成全黑图像的问题

📑 PDF 转 PDF/A

  • 修复了 PDF 转 PDF/A 时在输出中添加白色符号的问题
  • 修复了 PDF 转 PDF/A 时矩形边框颜色被更改的问题
  • 修复了 PDF/A‑1b 输出未通过预检合规性测试的问题
  • 修复了 PDF/A 转换生成无效 UTF‑8 BaseFont 的问题
  • 修复了 PDF/A 转换导致可见文字变化的问题
  • 修复了 PDF/A‑2b 转换时抛出 ArgumentOutOfRangeException 的问题
  • 修复了 PDF/A‑2b 转换时抛出 NullReferenceException 的问题

📄 文档操作

  • 修复了 PDF 合并时因无效键导致抛出 ArgumentException 的问题
  • 修复了扁平化字段导致文字方向变化的问题
  • 修复了 PDF 文档中文本提取不正确的问题
2026年11月3日

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 类。
  • 属性 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 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

  • 以前的插件实现正逐步淘汰。此类的功能已被 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
  • 修复合并文档时抛出异常的问题
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:已删除,请使用 SignOptions 与 TimestampOptions。

示例用法:

该示例演示如何使用时间戳对 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。

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

  • 为 OptionsWithInputAndOutput 和 SanitizeOptions 添加了 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 属性从文件到流进行 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 与 Actions 的情况下对 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年11月3日

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 的一些小错误。

改进

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

v24.9

已发布

 中文