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 合规性的问题