扁平化 PDF – Flatten PDF – C# 示例

PDF(便携式文档格式)是一种流行的文件格式,广泛用于交换和存储数字文档。这种多用途格式允许您创建包含文本、图像、表格等各种元素的复杂文档。不过,在某些情况下,可能有必要将 PDF 文档扁平化,也就是将其转换为静态、非交互式文件,以便于共享、打印或存档。本文将解释扁平化 PDF 的含义,以及如何使用 Aspose.HTML for .NET 库实现扁平化。

压平 PDF 意味着什么?

压平 PDF 文件是指将所有文档层合并为一个背景层。这一过程通过移除任何交互式元素(如可填写的表单字段和可编辑的文本),有效地 “压平 “了文档。其结果是一个静态的 PDF 文件,不能再进行编辑或更改其外观,因此非常适合共享、打印或存档。

为什么要压平 PDF?

根据您的具体需求,压平 PDF 文档的过程有多种好处。您可能有几个原因需要对 PDF 文件进行扁平化处理:

无论您的目标与安全性、文件大小、打印、存档或易用性有关,扁平化 PDF 都能为您提供所需的结果。

如何在 C# 中压平 PDF?

对 PDF 文档进行扁平化处理非常有用,它可以确保文档的稳定性和安全性,还可以提高文档与打印机或软件应用程序的兼容性。通过使用 C# 代码将 HTML 或 MHTML 文件转换为扁平化 PDF 文件,我们可以轻松创建静态、非交互式 PDF 文档。

Aspose.HTML for .NET提供了PdfSaveOptions类的 FormFieldBehaviour属性,用于在从HTML或MHTML转换为PDF文档后对其进行扁平化处理。该属性用于指定 PDF 文档中表单域的行为。如果值设置为 FormFieldBehaviour.Flattened,PDF 文档中的所有表单字段都将被扁平化。

HTML 转换为 PDF 和 PDF 扁平化

要使用 Aspose.HTML for .NET 扁平化 PDF 文件,首先需要将 HTML 文件转换为 PDF 文档。HTML 文件可能包含需要转换为 PDF 并进行扁平化的交互式表单。下面是一个如何将 HTML 转换为 PDF 并使用 FormFieldBehaviour 属性来扁平化 PDF 的示例:

 1// Flatten PDF during HTML to PDF conversion using C#
 2
 3// Prepare a path to an HTML source file
 4string sourcePath = Path.Combine(DataDir, "SampleHtmlForm.html");
 5
 6// Initialize an HTML document from the file
 7using HTMLDocument document = new HTMLDocument(sourcePath);
 8
 9// Prepare PDF save options
10PdfSaveOptions options = new PdfSaveOptions
11{
12    // Flatten all form fields
13    FormFieldBehaviour = FormFieldBehaviour.Flattened
14};
15
16// Prepare a path to the result file
17string resultPath = Path.Combine(OutputDir, "form-flattened.pdf");
18
19// Convert HTML to PDF
20Converter.ConvertHTML(document, options, resultPath);

这样,您就可以使用 C# 将 HTML 文件轻松转换为扁平化 PDF。这个过程非常简单,只需几行代码即可完成。让我们看看我们所采取的步骤:

  1. 使用 HTMLDocument 类的一个构造函数加载 HTML 文件。在本例中, HTMLDocument(sourcePath) 构造函数从本地文件系统加载 HTML 文档。
  2. 创建用于指定保存 PDF 文档选项的 PdfSaveOptions 类实例。在本例中,PdfSaveOptions 的 FormFieldBehaviour 属性被设置为 FormFieldBehaviour.Flattened,这意味着在创建 PDF 文档时,HTML 文档中的所有表单字段都将被扁平化。
  3. 调用 ConvertHTML() 方法,使用指定的选项将 HTML 转换为 PDF,并将生成的 PDF 文档保存到 resultPath 中。

MHTML 转换为 PDF 和 PDF 扁平化

下面的 C# 示例展示了如何将位于 sourcePath 的 MHTML 文档转换为扁平化 PDF 文档并保存到 outputPath 中:

 1// Flatten PDF during MHTML to PDF conversion using C#
 2
 3// Prepare a path to an MHTML source file
 4string sourcePath = Path.Combine(DataDir, "SampleHtmlForm.mhtml");
 5
 6// Initialize PDF save options
 7PdfSaveOptions options = new PdfSaveOptions
 8{
 9    // Flatten all form fields
10    FormFieldBehaviour = FormFieldBehaviour.Flattened
11};
12
13// Prepare a path to the result file
14string resultPath = Path.Combine(OutputDir, "document-flattened.pdf");
15
16// Convert MHTML to PDF
17Converter.ConvertMHTML(sourcePath, options, resultPath);

要使用指定的 FormFieldBehaviour 属性将 MHTML 转换为 PDF,应遵循以下几个步骤:

  1. 初始化 PdfSaveOptions 类的实例,并指定保存 PDF 文档的选项。在本例中,PdfSaveOptions 的 FormFieldBehaviour 属性被设置为 FormFieldBehaviour.Flattened,这意味着在创建 PDF 文档时,MHTML 文档中的所有表单字段都将被扁平化。

  2. 使用 ConvertMHTML() 方法将 MHTML 转换为 PDF,该方法将源路径、选项和输出路径作为参数。

使用和不使用 FormFieldBehaviour 属性保存的 PDF 文件有什么区别?

  1. 如果将 FormFieldBehaviour 属性设置为 FormFieldBehaviour.Flattened,PDF 文档中的表单字段将被合并到文档的一个层中。这将有效地扁平化表单字段,使其成为非交互式且无法编辑的字段。其结果是生成一个无法更改的静态 PDF 文档。
  2. 另一方面,如果将 FormFieldBehaviour 属性设置为 FormFieldBehaviour.Interactive,PDF 文档中的表单字段将保持交互式。这意味着用户可以填写表格字段并进行更改。
  3. 在 Aspose.HTML for .NET 中,FormFieldBehaviour 属性的默认值FormFieldBehaviour.Interactive。如果没有显式设置 FormFieldBehaviour 属性,PDF 文档中的表单字段将保持交互式,允许用户填写和编辑。

Aspose.HTML 提供免费的在线 转换器,用于将 HTML、XHTML、MHTML、EPUB、XML 和 Markdown 文件转换为各种流行格式。您可以轻松地将 HTML 转换为 PDFHTML 转换为 JPGSVG 转换为 PDFMHTML 转换为 PDFMD 转换为 HTML。只需选择文件,选择要转换的格式,就大功告成了。它速度快,而且完全免费!

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.