
如何在线将 Word 转换为 PDF
MS Word 文件包括 DOC、DOCX、DOCM、DOTX、ODT、OTT 等,是一些用于信息存储和数据共享的流行文件格式。许多大学、政府或公共组织都以 Word 格式制作其作品,但由于格式种类繁多,这些文件中的内容布局在各种平台上查看时会受到影响。因此,一个可行的解决方案是转换为固定格式,以在任何平台上保留文档结构和保真度。
在本文中,我们将讨论使用 .NET REST API 将 Word 转换为 PDF 格式。
- Word 到 PDF 转换 API
- 如何在 C# 中将 Word 转换为 PDF
- 在 C# 中将 DOC 转换为 PDF
- 使用 C# 将 DOCX 转换为 PDF
- 使用 cURL 命令将 Word 转换为 PDF
Word 到 PDF 转换 API
Aspose.Words Cloud 是一款出色的基于 REST 的 API,可轻松在任何平台上创建、编辑 Word 文档并将其转换为其他受支持的文件格式。根据本文的范围,我们将使用 Aspose.Words Cloud SDK for .NET 将 Word 转换为 PDF。
安装
请在命令行终端执行以下命令来安装SDK。
nuget install Aspose.Words-Cloud
为了从 NuGet 包管理器安装 SDK,请按照以下步骤操作:
- 展开解决方案资源管理器并右键单击“包”文件夹。
- 在搜索字段中输入 Aspose.Words-Cloud。
- 现在在搜索结果中启用 Aspose.Words-Cloud 附近的复选框,然后单击添加包按钮。
- 引用的SDK已添加到项目中。
我们还需要通过访问 Aspose.Cloud 仪表板 创建一个免费帐户,我们可以使用现有的 GitHub 或 Google 帐户登录,也可以创建一个新帐户。只需向下滚动到客户端凭据部分即可查看客户端 ID 和客户端密钥详细信息。
如何在 C# 中将 Word 转换为 PDF
请按照下面指定的步骤,使用 Visual Studio 中的 C# .NET 代码完成 Word 到 PDF 的转换。在这种情况下,输入的 Word 文件已在云存储中可用,并且生成的 PDF 也存储在云存储中。
- 创建 Configuration 类的实例,该实例以客户端 ID 和客户端机密详细信息作为参数。
- 其次,创建 WordsApi 类的实例并提供配置实例作为参数。
- 第三,使用 UploadFileRequest(..) 方法将文件从本地系统上传到云存储。
- 下一步是创建一个 SaveOptionsData 对象,该对象定义结果文件属性。使用此对象,我们将 SaveFormat 定义为 Pdf,将 ZipOutput 的值指定为 false,这样输出就不会出现在 .zip 存档和其他属性中。
- 现在创建一个 SaveAsRequest 的实例,它以输入文件名和 SaveOptionsData 对象作为参数。
- 最后,调用 WordApi 类的 SaveAs(…) 方法,该方法以 SaveAsrequest 实例作为参数。
// 从 https://dashboard.aspose.cloud/ 获取客户端凭证
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// 通过传递客户端 ID 和客户端机密详细信息来创建配置实例
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };
// 创建 WordsApi 对象
var wordsApi = new WordsApi(config);
// 输入Word文档
string fileName = "test_multi_pages.doc";
// 从本地系统加载文件
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
// 将原始文档上传至云存储
wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}
// 创建 SaveOptionsData 对象
SaveOptionsData saveOptionsData = new SaveOptionsData()
{
SaveFormat = "pdf",
FileName = "myResultant.pdf",
AllowEmbeddingPostScriptFonts = true,
ZipOutput = false,
UpdateLastSavedTimeProperty = true,
UpdateSdtContent = true,
UpdateCreatedTimeProperty = true,
UpdateLastPrintedProperty = true
};
try
{
// 通过传递输入 Word 文件和 saveOptionsData 创建 SaveAsRequest
SaveAsRequest request = new SaveAsRequest(fileName, saveOptionsData);
// 初始化 Word 到 PDF 的转换操作
var output = wordsApi.SaveAs(request);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

图 5:- Word 到 PDF 转换预览。
上述示例使用的示例文件可以从testmultipages.doc下载。
在 C# 中将 DOC 转换为 PDF
在此场景中,我们将转换从本地存储上传的 DOC 文件,并将输出转换为 PDF 格式。生成的文件也存储在云存储中。
- 首先,创建 Configuration 类的实例,该实例以客户端 ID 和客户端机密详细信息作为参数。
- 其次,创建 WordsApi 类的实例并提供配置实例作为参数。
- 第三,创建一个 ConvertDocumentRequest 类的对象,该对象以本地文件流、输出格式和结果文件名作为参数。
- 最后调用ConvertDocument(..)方法执行转换操作。
// 从 https://dashboard.aspose.cloud/ 获取客户端凭证
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// 通过传递客户端 ID 和客户端机密详细信息来创建配置实例
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };
// 创建 WordsApi 对象
var wordsApi = new WordsApi(config);
// 输入word文件
string fileName = "test_multi_pages.doc";
// 结果文件的名称
string outputfile = "result.pdf";
try
{
// 从本地存储上传word文件并指定输出格式
ConvertDocumentRequest request = new ConvertDocumentRequest(System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName),"pdf",outputfile);
// 执行转换操作
var output = wordsApi.ConvertDocument(request);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
使用 C# 将 DOCX 转换为 PDF
让我们讨论一下转换云存储中可用的 DOCX 文件并将生成的 PDF 保存在云存储中的场景。在这个场景中,我们将使用 HTTP GET 请求方法。
- 首先,创建 Configuration 类的实例,该实例以客户端 ID 和客户端机密详细信息作为参数。
- 其次,创建 WordsApi 类的实例并提供配置实例作为参数。
- 下一步是使用 WordsApi 的 UploadFileRequest(…) 方法将文件从本地驱动器上传到云存储。
- 倒数第二,创建一个 GetDocumentWithFormatRequest 类的对象,该对象以 DOCX 文件名、输出格式和结果文件的名称作为参数。
- 最后调用GetDocumentWithFormat(…)方法执行转换。
// 从 https://dashboard.aspose.cloud/ 获取客户端凭证
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// 通过传递客户端 ID 和客户端机密详细信息来创建配置实例
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };
// 创建 WordsApi 对象
var wordsApi = new WordsApi(config);
// 输入 docx 文件
string fileName = "file-sample_1MB.docx";
// 输出格式为 PDF
string format = "pdf";
// 结果文件名
string outputfile = "result.pdf";
// 从本地驱动器加载 DOCX 文件内容
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
// 将原始文档上传至云存储
wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}
// 将文件上传至云存储
try
{
GetDocumentWithFormatRequest request = new GetDocumentWithFormatRequest(fileName,format,null,null,null,null,outputfile);
wordsApi.GetDocumentWithFormat(request);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
您可以考虑从 file-sample1MB.docx 和 result.pdf 下载上述示例中使用的资源文件。

图 6:- DOCX 到 PDF 转换预览。
使用 cURL 命令将 Word 转换为 PDF
在本节中,我们将通过 cURL 命令访问 Cloud API。因此,第一步是根据客户端 ID 和客户端密钥详细信息生成 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"
现在执行以下命令将文件上传到云存储。
curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/file-sample_1MB.docx" \
-H "accept: application/json" \
-H "Authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"fileContent":{}}
最后,使用 GetDocumentWithFormat API 执行 DOCX 到 PDF 的转换。
curl -X GET "https://api.aspose.cloud/v4.0/words/file-sample_1MB.docx?format=pdf&outPath=myOutput.pdf" \
-H "accept: application/octet-stream" \
-H "Authorization: Bearer <JWT Token>
结论
我们讨论了使用 Aspose.Words Cloud 将 Word 转换为 PDF 格式的一些令人惊叹的功能。可以使用 .NET 代码或通过 cURL 命令执行转换。此外,您还可以在浏览器中通过 Swagger UI 探索 API。
请注意,SDK 的完整源代码可在 GitHub 上下载,如果您在使用 API 时遇到任何问题,请随时通过 免费产品支持论坛 与我们联系。
相关文章
我们强烈建议您访问以下链接以了解更多信息: