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日
 中文