在许多情况下,在处理 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:
- 加载 PDF 文档。
- 将结果保存为目标文件格式。
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 网站上的 文件转换器工具 上的以下页面。
让我们逐步指导您完成在线转换过程:
- 通过单击“拖放或上传文件”按钮拖放或选择要上传的 PDF 文件,如下图所示。
- 从下拉列表中选择 DOCX 文件格式,或选择其他文件格式。
- 单击“转换”按钮以转换您的 PDF 文件,如下图所示。
- 单击“立即下载”按钮将转换结果下载为 DOCX 文件。此外,您可以通过单击“查看结果”按钮在 Aspose File Viewer 上查看转换结果,如下图所示。
- 恭喜,您已经成功地使用我们的在线文件转换器加载、转换和保存您的 PDF 文件到 DOCX。
也可以看看
如果您想实现相反的方向并将 Word 文档加载到 PDF,那么您可以阅读以下文章:Convert Word Document to PDF Programmatically in C# .NET – A Complete Guide。