在许多情况下,在处理 PDF 文档时,您需要对其进行更改:复制、粘贴、拖放特定的 PDF 内容,例如文本、图像、表格和图表。只要您想处理文档的一小部分,就可以在同一个 PDF 文件中手动执行这些选项。但是,如果您想在更复杂的场景中执行编辑选项,例如创建数字签名、合并多个 PDF 文档或重新处理 PDF 文件中的所有文本,该怎么办?

Aspose.Words 使用快速准确的工具回答了这个问题,该工具允许您加载、编辑 PDF 并将其转换为任何受支持的文件格式,例如 DOCX、HTML、Markdown 等。本文将指导您以编程方式使用 C# 和在线方式使用这些选项。

使用 C# 加载 PDF 文档的功能

通常,PDF 仅用于查看,但有时您可能需要对现有 PDF 文档进行编辑或添加新内容。

Aspose.Words 提供了处理 PDF 文档的其他选项,例如:

  • 将 PDF 转换为多种格式并提取数据。
  • 打印 PDF 文档 with a variety of printing options.
  • 加密和解密 PDF 以及修改密码等。

除了加载 PDF 文档外,您还可以在 C# 中以编程方式创建 PDF 文档并管理 PDF 内容,例如:

  • 添加、更新、删除文本和图像。
  • 在页眉和页脚中插入文本和图像。
  • 操作、导出和导入注释。
  • 添加、修改和删除书签。
  • 在 PDF 生成期间添加表格、图形对象等。

使用 C# 从 PDF 转换为所需格式

Aspose.Words 的主要功能之一是能够轻松可靠地转换文档 从一种文件格式另一种。在 Aspose.Words 中,将 PDF 文档格式转换为另一种格式(例如 DOCX)是一个非常简单的过程,只需几行代码即可完成。您可以通过执行以下转换步骤在 C# 中以编程方式将 PDF 转换为 DOCX:

  1. 加载 PDF 文档。
  2. 将结果保存为目标文件格式。
Note: You can apply some additional options when loading or saving a document.

让我们通过前面的步骤以及所有必要的编程细节来描述在 C# 中将 PDF 文档转换为 DOCX 文件格式的过程。

加载 PDF 文档

您想使用 Aspose.Words 执行的大多数任务都需要您加载文档作为转换过程的第一步。当您将 PDF 文档加载到 Aspose.Words 中时,它会构建其 DOM(文档对象模型),并且所有文档元素和格式都简单地加载到内存中。使用 文档构造函数 之一创建空白文档或加载 PDF 文档。您可以创建包含任何必要内容的空白文档或从流中加载文档,如 ‘创建或加载文档’ 文章中所述。

以下示例显示了如何从 C# 中的文件加载 PDF 文档:

// Load your PDF document into a Document object using one of its constructors
// and the path to your file.
Document doc = new Document(@"C:\\DocumentName.pdf");

以任何支持的格式保存文档

您想使用 Aspose.Words 执行的大多数任务都需要您 保存文档 作为最后一步。 Aspose.Words 支持 SaveFormat 枚举中列出的许多不同的保存或导出格式。使用 Save 方法之一将结果保存到本地文件,例如 DOCX 文件格式。

要在 C# 中以编程方式实现这一点,请在 Document 对象上调用 Document.Save 方法,并通过输入带有“.docx”扩展名的文件名将所需的输出格式指定为 DOCX:

// Save your document as a DOCX file.
doc.Save(dataDir + "DocumentName.docx");

恭喜,您已成功将 PDF 文件转换为 DOCX。

应用附加选项

您可以应用不同的 PDF 保存选项PDF 加载选项,这里有一些示例,例如数字签名、页面范围和文档打开密码。让我们更多地了解它们。

添加和验证数字签名

Aspose.Words 允许您使用 DigitalSignatureDetails PDF 保存选项属性对 PDF 文档进行签名。您需要从磁盘或证书存储上传数字证书并将其传递给 X509Certificate2 类的新实例。

以下代码示例显示了如何在 C# 中签署 PDF 文档:

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();

// Create a simple document from scratch.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Load the certificate from disk.
// The other constructor overloads can be used to load certificates from different locations.
X509Certificate2 cert = new X509Certificate2(dataDir + "signature.pfx", "signature");

// Pass the certificate and details to the save options class to sign with.
PdfSaveOptions options = new PdfSaveOptions();
options.DigitalSignatureDetails = new PdfDigitalSignatureDetails();
dataDir = dataDir + "Document.Signed_out.pdf";

// Save the document as PDF.
doc.Save(dataDir, options);

设置页面范围

要设置加载 PDF 文档的页面范围,您需要使用 PageIndex 属性来指定起始页的索引,并使用 PageCount PDF 加载选项属性来设置总页数从指定索引开始加载的页面:

var loadOptions = new PdfLoadOptions { PageIndex = 2, PageCount = 4 };  
var doc = new Document("YourDocumentName.pdf", loadOptions);

使用密码打开受保护的 PDF

您可以通过直接在 PDF 加载选项中指定密码值来打开加密的 PDF 文档:

var loadOptions = new PdfLoadOptions { Password = "123456" };  
var doc = new Document("YourDocumentName.pdf", loadOptions);

PDF在线转换器

如果您不是程序员,那么最好使用在线 PDF 转换器。第一步,在线转换 PDF 所需要做的就是将 Web 浏览器指向 Aspose 网站上的 文件转换器工具 上的以下页面。

让我们逐步指导您完成在线转换过程:

  1. 通过单击“拖放或上传文件”按钮拖放或选择要上传的 PDF 文件,如下图所示。
    上传 PDF 文件
  2. 从下拉列表中选择 DOCX 文件格式,或选择其他文件格式。
  3. 单击“转换”按钮以转换您的 PDF 文件,如下图所示。
    转换您的 PDF
  4. 单击“立即下载”按钮将转换结果下载为 DOCX 文件。此外,您可以通过单击“查看结果”按钮在 Aspose File Viewer 上查看转换结果,如下图所示。
    查看结果
  5. 恭喜,您已经成功地使用我们的在线文件转换器加载、转换和保存您的 PDF 文件到 DOCX。

也可以看看

如果您想实现相反的方向并将 Word 文档加载到 PDF,那么您可以阅读以下文章:Convert Word Document to PDF Programmatically in C# .NET – A Complete Guide