[Word][1] 是最流行的文字处理文档格式,由 Microsoft 开发。它允许您使用 Word 应用程序快速轻松地创建、编辑、查看和共享文档。 [PDF][2] 是由 Adobe 开发的便携式文档格式。它是当今保护和保护文档最常用的文件类型之一。 Word 文档重新格式化文档并且不为共享历史数据提供很好的安全性。虽然 PDF 保留了格式,但它支持出色的文件管理和安全性,可以使用密码或加密证书保护您的敏感信息。在这种情况下,我们可能需要将 Word 文件转换为 PDF 格式。因此,在本文中,我将演示如何使用 REST API 在 C# 中以编程方式将 Word 转换为 PDF。
本文应涵盖以下主题:
- [文档和文件转换 API - .NET 文件格式库][3]
- [使用 REST API 在 C# 中以编程方式将 Word 转换为 PDF][4]
- [使用高级选项在 C# 中将 DOCX 文件转换为 PDF][5]
- [如何在 C# 中将页面范围从 Word 转换为 PDF][6]
- [如何在C#中将Word的特定页面转换为PDF][7]
文档和文件转换 API - .NET 文件格式库
我将使用 GroupDocs.Conversion Cloud API 的 [.NET SDK][8] 将 Word 文档转换为 PDF。它是一个功能丰富的高性能云 SDK,可在 50 多种类型的文档和图像之间来回转换,包括 PDF、HTML、CAD、光栅图像等。 GroupDocs.Conversion Cloud API 允许您将特定于格式的信息从广泛的[支持的源文档格式][9] 列表中转换和提取为任何支持的目标格式。它提供了一组灵活的设置来自定义转换过程。目前,它还为 Cloud API 提供 C#、Java、PHP、Ruby、Python 和 Node.js SDK 作为其[文档转换家族成员][10]。
您可以从 [NuGet 包管理器][11] 或在包管理器控制台中使用以下命令将 GroupDocs.Conversion Cloud 安装到您的 Visual Studio Code 项目:
dotnet add package GroupDocs.Conversion-Cloud --version 22.10.0
在开始执行这些步骤和可用的代码示例之前,您需要从 [仪表板][12] 获取您的客户端 ID 和客户端密码。在代码中添加您的客户端 ID 和客户端密码,如下所示:
//从 https://dashboard.groupdocs.cloud 获取 clientId 和 clientSecret(需要免费注册)。
string clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
string clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
string myStorage = "test-internal-storage";
var configuration = new Configuration(clientId, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";
使用 REST API 在 C# 中以编程方式将 Word 转换为 PDF
将 Word 文档转换为 PDF 是保持文档外观和安全性并使其更易于与他人共享的有用方法。在 CSharp 中,您可以按照以下步骤使用 REST API 将 Word Doc 转换为 PDF 文件。
- [上传][13]Word文档至云端
- [转换][14] 使用 REST API 将 Word 文件转换为 PDF
- [下载][15]转换后的文件
上传Word文档
首先,使用以下任意一种方式将Word文档上传至云端:
- 使用仪表板
- 使用 [Upload File API][16] 从浏览器上传源文件
- 使用下面给出的代码示例以编程方式上传:
using System;
using GroupDocs.Conversion.Cloud.Sdk.Api;
using GroupDocs.Conversion.Cloud.Sdk.Client;
using GroupDocs.Conversion.Cloud.Sdk.Model.Requests;
using System.IO;
namespace GroupDocs.Conversion.CSharp
{
// 上传示例文件
class Upload_File
{
static void Main(string[] args)
{
try
{
// 初始化接口
var fileApi = new FileApi(configuration);
// 打开文件
var fileStream = File.Open(@"H:\groupdocs-cloud-data\input-sample-file.docx", FileMode.Open);
// 创建文件上传请求
var request = new UploadFileRequest("csharp-testing/input-sample-file.docx", fileStream, myStorage);
// 上传文件
var response = fileApi.UploadFile(request);
Console.WriteLine("Word File Upload Process Completed: " + response.Uploaded.Count.ToString());
fileStream.Close();
}
catch (Exception e)
{
Console.WriteLine("Exception when calling GroupDocs FileApi: " + e.Message);
}
}
}
}
结果,Word文件将上传到云存储
在线将 Word 文件转换为 PDF
这个简单的代码示例演示了如何使用 REST API 在 C# 文件中以编程方式将 Word 转换为 PDF。按照下面提到的步骤操作:
- 首先,创建 [ConvertApi][17] 的实例
- 其次,创建 ConvertSettings 的实例
- 第三,提供输入DOCX文件路径
- 现在,将“pdf”分配给格式
- 接下来,提供输出文件路径
- 然后,使用 ConvertSettings 创建 ConvertDocumentRequest
- 最后,通过使用 ConvertDocumentRequest 调用 [convertDocument()][18] 方法进行转换
以下代码示例显示了如何使用 REST API 在 C# 中将 DOCX 转换为 PDF:
// 如何使用 C# REST API 将 Word 文件转换为 PDF
using System;
using GroupDocs.Conversion.Cloud.Sdk.Api;
using GroupDocs.Conversion.Cloud.Sdk.Client;
using GroupDocs.Conversion.Cloud.Sdk.Model;
using GroupDocs.Conversion.Cloud.Sdk.Model.Requests;
namespace GroupDocs.Conversion.CSharp
{
// 将 Word DOCX 转换为 PDF 文件
class Convert_Word_To_PDF
{
static void Main(string[] args)
{
try
{
// 创建必要的 API 实例
var apiInstance = new ConvertApi(configuration);
// 准备转换设置
var settings = new ConvertSettings
{
FilePath = "csharp-testing/input-sample-file.docx",
Format = "pdf",
OutputPath = "csharp-testing/output-sample-file.pdf"
};
// 转换为指定格式
var response = apiInstance.ConvertDocument(new ConvertDocumentRequest(settings));
Console.WriteLine("Successfully converted Word document to PDF file format: " + response[0].Url);
}
catch (Exception e)
{
Console.WriteLine("Exception when calling GroupDocs ConvertApi: " + e.Message);
}
}
}
}
下载转换后的文件
上面的代码示例会将上传的 PDF 文件保存在云端。您可以使用以下代码示例下载它:
// 如何在 C# 中下载转换后的 PDF 文件
using System;
using GroupDocs.Conversion.Cloud.Sdk.Api;
using GroupDocs.Conversion.Cloud.Sdk.Client;
using GroupDocs.Conversion.Cloud.Sdk.Model.Requests;
namespace GroupDocs.Conversion.CSharp
{
// 下载输出文件
class Download_File
{
static void Main(string[] args)
{
try
{
// 初始化接口
var fileApi = new FileApi(configuration);
// 创建下载文件请求
var downloadRequest = new DownloadFileRequest("csharp-testing/output-sample-file.pdf", myStorage);
// 下载文件
Stream downloadResponse = fileApi.DownloadFile(downloadRequest);
// 将文件保存在工作目录中
using (var fileStream = System.IO.File.Create("H:\\groupdocs-cloud-data\\output-sample-file.pdf"))
{
downloadResponse.Seek(0, SeekOrigin.Begin);
downloadResponse.CopyTo(fileStream);
}
}
catch (Exception e)
{
Console.WriteLine("Exception when calling GroupDocs FileApi: " + e.Message);
}
}
}
}
使用高级选项在 C# 中将 DOCX 文件转换为 PDF
在本节中,您可以按照以下步骤使用一些高级设置将 Word 文档转换为 PDF 文件:
- 首先,创建 [ConvertApi][19] 的实例
- 其次,创建 ConvertSettings 的实例
- 接下来,提供 DOCX 文件路径
- 接下来,将“pdf”分配给格式
- 现在,创建 DocxLoadOptions 的实例
- 接下来,将密码设置为加载选项
- 创建 PdfConvertOptions 的实例
- 可选择设置各种转换选项,例如 CenterWindow、FromPage、边距(顶部、左侧、右侧、底部)等。
- 然后,提供输出文件路径
- 接下来,使用 ConvertSettings 创建 ConvertDocumentRequest
- 最后,通过使用 ConvertDocumentRequest 调用 [convertDocument()][20] 方法进行转换
以下代码示例显示了如何使用高级转换选项将 Word 文档转换为 PDF 文档:
// 如何使用高级选项将 Word 转换为 PDF
using System;
using GroupDocs.Conversion.Cloud.Sdk.Api;
using GroupDocs.Conversion.Cloud.Sdk.Client;
using GroupDocs.Conversion.Cloud.Sdk.Model;
using GroupDocs.Conversion.Cloud.Sdk.Model.Requests;
namespace GroupDocs.Conversion.CSharp
{
// 使用高级选项将 Word DOCX 转换为 PDF
class Convert_Word_To_PDF_Advanced_Options
{
static void Main(string[] args)
{
try
{
// 创建必要的 API 实例
var apiInstance = new ConvertApi(configuration);
// 准备转换设置
var settings = new ConvertSettings
{
FilePath = "csharp-testing/input-sample-file.docx",
Format = "pdf",
LoadOptions = new DocxLoadOptions { Password = "password" },
ConvertOptions = new PdfConvertOptions
{
CenterWindow = true,
CompressImages = false,
DisplayDocTitle = true,
Dpi = 1024,
FitWindow = false,
FromPage = 1,
Grayscale = false,
ImageQuality = 100,
Linearize = false,
MarginTop = 5,
MarginLeft = 5,
Password = "password",
UnembedFonts = true,
RemoveUnusedStreams = true,
RemoveUnusedObjects = true,
RemovePdfaCompliance = false
},
OutputPath = "csharp-testing/output-sample-file.pdf"
};
// 转换为指定格式
var response = apiInstance.ConvertDocument(new ConvertDocumentRequest(settings));
Console.WriteLine("Successfully converted Word to PDF format: " + response[0].Url);
}
catch (Exception e)
{
Console.WriteLine("Exception when calling GroupDocs ConvertApi: " + e.Message);
}
}
}
}
如何在 C# 中将页面范围从 Word 转换为 PDF
您可以将选定的 Word 页面转换为 PDF 文件。为此,您需要提供一系列页面,如以下代码示例所示。按照下面提到的步骤,以编程方式将一系列页面从 Word 文档转换为 PDF 文件:
- 首先,创建 [ConvertApi][21] 的实例
- 其次,创建 ConvertSettings 的实例
- 第三,提供输入DOCX文件路径
- 现在,将“pdf”分配给格式
- 接下来,创建 PdfConvertOptions 的实例
- 提供要转换的页码范围,从起始页码和要转换的总页数
- 同时提供输出文件路径
- 使用 ConvertSettings 创建 ConvertDocumentRequest
- 最后,通过使用 ConvertDocumentRequest 调用 [convertDocument()][22] 方法进行转换
以下代码示例显示了如何在 C# 中使用 REST API 将一系列页面从 DOCX 转换为 PDF:
// 如何在 CSharp 中将页面范围从 Word 转换为 PDF
using System;
using System.Collections.Generic;
using GroupDocs.Conversion.Cloud.Sdk.Api;
using GroupDocs.Conversion.Cloud.Sdk.Client;
using GroupDocs.Conversion.Cloud.Sdk.Model;
using GroupDocs.Conversion.Cloud.Sdk.Model.Requests;
namespace GroupDocs.Conversion.CSharp
{
// 在 CSharp 中将选定页面从 Word 转换为 PDF
class Convert_Range_of_Pages_from_Word_To_PDF
{
static void Main(string[] args)
{
try
{
// 创建必要的 API 实例
var apiInstance = new ConvertApi(configuration);
// 准备转换设置
var settings = new ConvertSettings
{
FilePath = "csharp-testing/input-sample-file.docx",
Format = "pdf",
LoadOptions = new DocxLoadOptions { Password = "password" },
ConvertOptions = new PdfConvertOptions
{
FromPage = 2,
PagesCount = 2
},
OutputPath = "csharp-testing/output-sample-file.pdf"
};
// 转换为指定格式
var response = apiInstance.ConvertDocument(new ConvertDocumentRequest(settings));
Console.WriteLine("Successfully converted Selected Pages to PDF file in CSharp: " + response[0].Url);
}
catch (Exception e)
{
Console.WriteLine("Exception when calling GroupDocs ConvertApi: " + e.Message);
}
}
}
}
请按照前面提到的步骤上传和下载文件。
如何在 C# 中将 Word 的特定页面转换为 PDF
您可以按照以下步骤以编程方式将 Word 文档的特定页面转换为 PDF 文件:
- 首先,创建 [ConvertApi][23] 的实例
- 其次,创建 ConvertSettings 的实例
- 接下来,提供输入 DOCX 文件路径
- 现在,将“pdf”分配给格式
- 创建 PdfConvertOptions 的实例
- 提供要转换的特定页码
- 接下来,提供输出文件路径
- 然后,使用 ConvertSettings 创建 ConvertDocumentRequest
- 最后,通过使用 ConvertDocumentRequest 调用 [convertDocument()][24] 方法进行转换
以下代码示例显示了如何在 C# 中使用 REST API 将 Word 文档的特定页面转换为 PDF:
// 如何使用 CSharp 将 Word 的特定页面转换为 PDF
using System;
using System.Collections.Generic;
using GroupDocs.Conversion.Cloud.Sdk.Api;
using GroupDocs.Conversion.Cloud.Sdk.Client;
using GroupDocs.Conversion.Cloud.Sdk.Model;
using GroupDocs.Conversion.Cloud.Sdk.Model.Requests;
namespace GroupDocs.Conversion.CSharp
{
// 使用 CSharp 将 Word 的特定页面转换为 PDF
class Convert_Specific_Pages_of_Word_To_PDF
{
static void Main(string[] args)
{
try
{
// 创建必要的 API 实例
var apiInstance = new ConvertApi(configuration);
// 准备转换设置
var settings = new ConvertSettings
{
FilePath = "csharp-testing/input-sample-file.docx",
Format = "pdf",
LoadOptions = new DocxLoadOptions { Password = "password" },
ConvertOptions = new PdfConvertOptions
{
Pages = new List<int?> {1, 2} // Page numbers starts from 1
},
OutputPath = "csharp-testing/output-sample-file.pdf"
};
// 转换为指定格式
var response = apiInstance.ConvertDocument(new ConvertDocumentRequest(settings));
Console.WriteLine("Successfully converted specific pages of Word file to PDF file format: " + response[0].Url);
}
catch (Exception e)
{
Console.WriteLine("Exception when calling GroupDocs ConvertApi: " + e.Message);
}
}
}
}
``` 请按照前面提到的步骤上传和下载文件。
## Word 到 PDF 在线免费转换器
如何在线免费将 Word 转换为 PDF?请尝试以下免费在线 Word 转 PDF [转换器][25],无需更改格式即可免费在线将 DOCX 转换为 PDF,它是使用上述 API 开发的。
## 结论
我们到这里结束这篇文章。在这篇博文中,我们了解到:
* 如何在云端将Word文档转换为PDF文件;
* 在 C# 中以编程方式将选定页面从 DOCX 转换为 PDF;
* 如何使用 C# 将 Word 文档的特定页面转换为 PDF;
* 以编程方式将 DOCX 文件上传到云端,然后从云端下载转换后的 PDF 文件;
此外,您可以使用 [文档][26] 了解有关 GroupDocs.Conversion Cloud API 的更多信息。我们还提供了一个 [API 参考][27] 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。
最后,[groupdocs.com][28] 正在撰写有关多种文件格式之间的在线文件转换器的新博客文章。因此,请保持联系以获取定期更新。
## 问一个问题
有关 Word DOCX 到 PDF 转换器的查询/讨论,请随时访问我们的[免费支持论坛][29]。
## 常见问题 {#faqs}
如何在不更改字体的情况下将 DOCX 文件转换为 PDF?
请按照 [此链接][30] 学习有关如何从 Word 快速创建 PDF 的 C# 代码片段。
如何将 Word 文档下载为 PDF?
安装 word 到 PDF 转换器软件 [免费下载 C# 库][31],以编程方式创建、下载和处理 Word DOCX 到 PDF 的转换。
如何在 Windows 中将 Word 文档离线转换为 PDF?
请访问[此链接](https://releases.groupdocs.app/total/windows/) 下载适用于 windows 的免费 Word 到 PDF 转换器软件。这款 Word 到 PDF 转换器软件只需单击一下即可快速执行转换。
如何免费在线将DOC 文件转换为PDF?
[免费的在线 DOC 到 PDF 转换器](https://products.groupdocs.app/conversion/docx-to-pdf) 让您可以快速轻松地将 Word 文档转换为 PDF 格式。转换完成后,您可以下载 PDF 文件。
## 也可以看看
* [如何在 Python 中将 EXCEL 转换为 JSON 以及将 JSON 转换为 EXCEL](https://blog.groupdocs.cloud/zh/conversion/convert-excel-to-json-and-json-to-excel-in-python/)
* [如何使用 Node.js 将 PDF 转换为可编辑的 Word 文档](https://blog.groupdocs.cloud/zh/conversion/convert-pdf-to-editable-word-document-using-node-js/)
* [在 Python 中使用 REST API 将 Word 文档转换为 PDF](https://blog.groupdocs.cloud/zh/conversion/convert-word-documents-to-pdf-using-rest-api-in-python/)
* [如何使用 REST API 在 Python 中将 PDF 转换为 Excel](https://blog.groupdocs.cloud/zh/conversion/convert-pdf-to-excel-in-python-using-rest-api/)
* [在 Python 中将 CSV 转换为 JSON 并将 JSON 转换为 CSV](https://blog.groupdocs.cloud/zh/conversion/convert-csv-to-json-and-json-to-csv-in-python/)
* [在 Python 中将 PowerPoint PPT/PPTX 转换为 JPG/JPEG 图像](https://blog.groupdocs.cloud/zh/conversion/convert-powerpoint-pptpptx-to-jpgjpeg-images-in-python/)
* [在 Python 中使用 REST API 以编程方式将 HTML 转换为 PDF](https://blog.groupdocs.cloud/zh/conversion/convert-html-to-pdf-using-rest-api-in-python/)
* [在 Python 中使用 REST API 以编程方式将 Excel 转换为 CSV](https://blog.groupdocs.cloud/zh/conversion/convert-excel-to-csv-using-rest-api-in-python/)
* [使用 REST API 查找和替换文档中的水印](https://blog.groupdocs.cloud/zh/watermark/find-and-replace-watermark-using-rest-api/)
* [在 Python 中将 XML 转换为 CSV,将 CSV 转换为 XML](https://blog.groupdocs.cloud/zh/conversion/convert-xml-to-csv-and-csv-to-xml-in-python/)
[1]: https://docs.fileformat.com/word-processing/docx/
[2]: https://docs.fileformat.com/pdf/
[3]: #CSharp-Document-and-File-Conversion-API-and-dotNET-SDK
[4]: #Convert-Word-to-PDF-Programmatically-in-CSharp-using-REST-API
[5]: #Convert-DOCX-File-to-PDF-in-CSharp-using-Advanced-Options
[6]: #How-to-Convert-Range-of-Pages-from-Word-to-PDF-in-CSharp
[7]: #How-to-Convert-Specific-Pages-of-Word-to-PDF-in-CSharp
[8]: https://products.groupdocs.cloud/conversion/net/
[9]: https://docs.groupdocs.cloud/conversion/supported-document-formats/
[10]: https://products.groupdocs.cloud/conversion/family/
[11]: https://www.nuget.org/packages/GroupDocs.Conversion-Cloud/
[12]: https://dashboard.groupdocs.cloud/
[13]: #Upload-the-Word-Document
[14]: #Convert-Word-File-to-PDF-Online
[15]: #Download-the-Converted-File
[16]: https://apireference.groupdocs.cloud/merger/#/File/UploadFile
[17]: https://apireference.groupdocs.cloud/conversion/#/Convert
[18]: https://apireference.groupdocs.cloud/conversion/#/Convert/ConvertDocument
[19]: https://apireference.groupdocs.cloud/conversion/#/Convert
[20]: https://apireference.groupdocs.cloud/conversion/#/Convert/ConvertDocument
[21]: https://apireference.groupdocs.cloud/conversion/#/Convert
[22]: https://apireference.groupdocs.cloud/conversion/#/Convert/ConvertDocument
[23]: https://apireference.groupdocs.cloud/conversion/#/Convert
[24]: https://apireference.groupdocs.cloud/conversion/#/Convert/ConvertDocument
[25]: https://products.groupdocs.app/conversion/docx-to-pdf
[26]: https://docs.groupdocs.cloud/conversion/
[27]: https://apireference.groupdocs.cloud/conversion/
[28]: https://blog.groupdocs.cloud/zh/category/conversion/
[29]: https://forum.groupdocs.cloud/c/conversion/11
[30]: https://blog.groupdocs.cloud/zh/conversion/convert-word-to-pdf-programmatically-in-csharp/#Convert-Word-to-PDF-Programmatically-in-CSharp-using-REST-API
[31]: https://github.com/groupdocs-conversion-cloud/groupdocs-conversion-cloud-dotnet