如何在 C# 中以编程方式将 Word 转换为 PDF

如何在 C# 中以编程方式将 Word 转换为 PDF

[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);
      }
    }
  }
}
如何在线将Word文件转换为PDF

在线将 Word 文件转换为 PDF

下载转换后的文件

上面的代码示例会将上传的 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

如何在 C# 中将页面范围从 Word 转换为 PDF

请按照前面提到的步骤上传和下载文件。

如何在 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);
      }

    }
  }
}
``` 请按照前面提到的步骤上传和下载文件。


如何在 C# 中将 Word 的特定页面转换为 PDF

如何在 C# 中将 Word 的特定页面转换为 PDF

## 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