PDF 转 Word

使用 C# .NET 将 PDF 转换为 Word

大量文档以可移植文档格式 (PDF) 生成,因为它可以在所有平台(桌面或移动设备)上保留文档格式。但是,我们无法直接修改 PDF 文件,为此,我们需要使用一些 PDF 操作软件,其中包括安装和许可费用。因此,可行的解决方案之一是将 PDF 转换为 Word 格式。

PDF 到 Word 转换 API

Aspose.PDF Cloud 是一个出色的基于 REST 的 API,提供创建、操作和渲染 PDF 文件为 DOCDOCXXLSXPPTXHTML 等的功能。由于其 REST 架构,它可以在任何平台上使用,包括桌面、Web、移动设备以及任何操作系统,如 Windows、macOS、Linux 等。因此,为了在 .NET 应用程序中将 PDF 转换为 Word,可以使用 Aspose.PDF Cloud SDK for .NET。

请在 NuGet 包管理器中执行以下命令来安装最新版本的 SDK。

Install-Package Aspose.Pdf-Cloud

在 Visual Studio 中引用

我们也可以在 Visual Studio 项目中直接添加 SDK。因此,在解决方案资源管理器中展开项目树,右键单击“Packages”文件夹,然后从上下文菜单中选择“Manage NuGet Packages…”选项。在搜索字段中搜索 Aspose.PDF Cloud,启用包名称旁边的复选框,然后单击“Add Package”按钮

管理 NuGet 包

图 1:- 管理 NuGet 包。

如果您没有 Aspose.Cloud 仪表板 上的帐户,请使用您现有的 GitHub 或 Google 帐户创建一个免费帐户,或者单击 创建新帐户 按钮。获取您的个性化客户端凭据,因为它们将在以下部分中需要。

使用 C# 将 PDF 转换为 DOC

请按照下面指定的步骤在 C# .NET 应用程序中将 PDF 文件转换为 Word 文档 (DOC) 格式。转换后,输出将存储在流实例中,稍后可将其保存在本地系统上。

  • 首先,使用字符串对象定义客户端 ID 和客户端机密详细信息。
  • 其次,传递客户端 ID 和客户端密钥作为参数,初始化 PdfApi 对象。
  • 第三,使用PdfApi的UploadFile(…)方法读取文件内容并上传到云存储。
  • 现在我们需要调用 GetPdfInStorageToDoc(…) 方法,该方法从云存储中获取 PDF 文件引用和其他可选参数,如格式、maxDistanceBetweenTextLines、转换模式等。
  • 由于输出在 steam 实例中,所以我们可以使用 File.Create 方法将输出保存在本地驱动器上。
// 从 https://dashboard.aspose.cloud/ 获取客户端凭证
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// 创建 PdfApi 实例
PdfApi pdfApi = new PdfApi(clientSecret, clientID);

// 输入PDF文件名
String inputFile = "HtmlExample1.pdf";

// 将文件上传至云存储
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" +inputFile))
{
    var response = pdfApi.UploadFile(inputFile, file );
}

try
{
    // 调用方法执行转换并将输出保存在流实例中
    // 我们已将输出格式指定为 Docx,模式指定为 Flow 
    // 模式值允许控制如何将 PDF 文档转换为文字处理文档。
    var response = pdfApi.GetPdfInStorageToDoc(inputFile,null, format: "Docx",null,null,maxDistanceBetweenTextLines: 2,mode: "Flow", folder: null);
    Console.WriteLine(response);
    
    // 调用方法将输出保存在本地驱动器上
    saveToDisk(response, "/Users/nshahbaz/Downloads/Converted.docx");
}
catch (Exception ex)
{
    System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// 将流内容保存到本地驱动器上的文件的方法
public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}
PDF 至 DOC 预览

图 1:- PDF 到 DOC 转换预览。

请访问以下链接下载HtmlExample1.pdfConverted.docx

将 PDF 转换为 Word - 在云存储中保存输出

在本节中,我们将讨论从云存储加载 PDF 文档、将其转换为 Word 格式以及将输出保存在云存储中的过程。请按照以下说明完成此任务:

  • 首先,通过传递客户端 ID 和客户端机密详细信息作为参数来创建 PdfApi 的实例。
  • 从本地系统加载 PDF 文件,并使用 PdfApi 的 UploadFile(…) 方法将其上传到云存储(这是一个可选步骤,如果云存储中还没有任何 PDF 则可以使用它)。
  • 创建定义结果文件名的字符串变量。
  • 最后,调用PutPdfInStorageToDoc(…),接受输入的PDF名称、输出文件名和其他可选参数。
// 从 https://dashboard.aspose.cloud/ 获取客户端凭证
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// 创建 PdfApi 实例
PdfApi pdfApi = new PdfApi(clientSecret, clientID);

// 输入PDF文件名
String inputFile = "HtmlExample1.pdf";

// 将文件上传至云存储
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" +inputFile))
{
    var response = pdfApi.UploadFile(inputFile, file );
}

// 结果文件名
string outputfile = "result.doc";

try
{
    // 调用方法执行转换并将输出保存在云存储中
    var response = pdfApi.PutPdfInStorageToDoc(inputFile, outputfile, format: "Doc",folder: null);
    
    // 在控制台中打印响应代码
    Console.WriteLine(response);
}
catch (Exception ex)
{
    System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

使用 cURL 命令将 PDF 转换为 Word DOC

cURL 命令是访问 REST API 的出色机制。因此,在下一节中,我们将使用 cURL 命令执行 PDF 到 Word Doc 的转换。但是,作为先决条件,第一步是根据从 Aspose.Cloud 仪表板 检索到的 ClientID 和 ClientSecret 详细信息生成 JSON Web Token (JWT)。请在终端中执行以下命令以生成 JWT 令牌。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

一旦我们有了 JWT 令牌,我们就可以执行以下命令来执行云存储中已有的 PDF 文件的转换。然后将生成的 Word 文档存储在云存储中。

curl -X PUT "https://api.aspose.cloud/v3.0/pdf/HtmlExample1.pdf/convert/doc?outPath=converted.docx&addReturnToLineEnd=true&format=DocX&mode=Textbox" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

结论

本文介绍了使用 Aspose.PDF Cloud 开发 PDF 到 Word 转换器的步骤。我们探索了使用 C# 代码片段将 PDF 转换为 DOC 以及使用 cURL 命令将 PDF 转换为 Word 的选项。除了转换之外,它还提供其他令人兴奋的功能,其详细信息可在 Aspose.PDF Cloud 功能 中找到。

由于我们的 Cloud SDKS 是在 MIT 许可证 下开发的,因此可以从 GitHub 下载其完整代码片段。如果您在使用 API 时遇到任何问题或有任何相关疑问,请随时通过 免费支持论坛 与我们联系。

相关文章

我们还建议您访问以下链接以了解更多信息: