跳至页脚内容
使用IRONPDF
如何在C#中将Word文件转换为PDF

如何在C#中将Word(Docx)转换为PDF(教程)

role="alert"> IronWord 是 Iron Software 最新的 .NET Word 文档库,提供最先进的功能,简化 Word 和 DOCX 文档的创建、阅读和编辑。立即开始使用 IronWord

在许多商业应用程序中,将 Word 文档转换为 PDF 是一种常见的需求,从自动化报告生成到传递专业质量的文档。 PDF文件因其一致的格式、安全功能和共享的简便性而被广泛认可。

在本教程中,我们将指导您如何使用IronPDF库在 C# 中将 Word 文档 (DOCX 文件) 转换为 PDF。 本逐步指南将帮助您快速无缝地将 Word 到 PDF 的功能集成到您的 .NET 应用程序中。

前提条件

在开始本教程之前,请确保您具备以下条件:

  1. 开发环境

    • 安装良好的Visual Studio(建议使用 2019 或更高版本)。

    • 安装 .NET 6.0 或兼容的 .NET 框架。
  2. IronPDF 库

    • 通过 NuGet 安装 IronPDF

    • 有效的 IronPDF 许可证密钥
  3. 示例 Word 文档

    • 准备一个 DOCX 文件(例如,example.docx)进行测试。 您可以使用 Microsoft Word、Google Docs(导出为 DOCX)或任何兼容的编辑器创建一个。
  4. 基本 C# 知识

    • 熟悉 C# 中基本的文件 I/O 操作。

为什么要将 Word 文件转换为 PDF?

PDF 相对 DOCX 的优势

由于其原因,PDF 是共享和存档文档的黄金标准:

  • 平台独立性:无论使用何种操作系统或设备打开,PDF 外观都相同。

  • 数据完整性:文本、图像、字体和布局完全按预期方式保存。

  • 安全性:PDF 支持加密、密码保护和数字签名,确保文档的机密性和真实性。

Word 到 PDF 转换的常见场景

以下是一些 Word 到 PDF 转换非常重要的现实场景:

  • 合同和法律文件:生成保持格式且无法轻易编辑的合同。

  • 业务报告:分享具有一致格式的优雅专业报告。

  • 发票生成:以防篡改的格式自动创建发票。

  • 文档存档:以长期、不可修改的格式保存重要的 Word 文档。

设置 IronPDF 库

要跟随本教程,您需要 IronPDF 库。

步骤 1:安装 IronPDF

IronPDF 可通过 NuGet 获取。 打开包管理器控制台并运行:

Install-Package IronPdf

或者,您可以通过 Visual Studio 中的 NuGet 包管理器进行安装。 只需转到工具 > NuGet 包管理器 > 管理解决方案的 NuGet 包:

Word To Pdf Csharp Tutorial 1 related to 步骤 1:安装 IronPDF

然后搜索 IronPDF。 在这里,您可以将 IronPDF 库安装到您的项目中。

Word To Pdf Csharp Tutorial 2 related to 步骤 1:安装 IronPDF

步骤 2:激活您的许可证

IronPDF 提供免费试用,但您需要激活许可证密钥以实现全部功能。 要激活,只需在代码中添加您的许可证密钥:

IronPdf.License.LicenseKey = "YOUR_LICENSE_KEY_HERE";
IronPdf.License.LicenseKey = "YOUR_LICENSE_KEY_HERE";
IronPdf.License.LicenseKey = "YOUR_LICENSE_KEY_HERE"
$vbLabelText   $csharpLabel

输入 Word 文档

Word To Pdf Csharp Tutorial 3 related to 输入 Word 文档

基本示例代码

下面的示例代码展示了将 DOCX 文件转换为 PDF 的简单过程。

using IronPdf;  
using System.IO;  

class Program  
{  
    static void Main(string[] args)  
    {  
        // Create a new DocxToPdfRenderer object
        DocxToPdfRenderer renderer = new DocxToPdfRenderer();

        // Convert DOCX to PDF using IronPDF  
        PdfDocument pdf = renderer.RenderDocxAsPdf("newsletter.docx");

        // Save the resulting PDF to a file  
        pdf.SaveAs("output.pdf"); 
    }  
}
using IronPdf;  
using System.IO;  

class Program  
{  
    static void Main(string[] args)  
    {  
        // Create a new DocxToPdfRenderer object
        DocxToPdfRenderer renderer = new DocxToPdfRenderer();

        // Convert DOCX to PDF using IronPDF  
        PdfDocument pdf = renderer.RenderDocxAsPdf("newsletter.docx");

        // Save the resulting PDF to a file  
        pdf.SaveAs("output.pdf"); 
    }  
}
Imports IronPdf
Imports System.IO

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new DocxToPdfRenderer object
		Dim renderer As New DocxToPdfRenderer()

		' Convert DOCX to PDF using IronPDF  
		Dim pdf As PdfDocument = renderer.RenderDocxAsPdf("newsletter.docx")

		' Save the resulting PDF to a file  
		pdf.SaveAs("output.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

输出 PDF 文档

Word To Pdf Csharp Tutorial 4 related to 输出 PDF 文档

代码解释

为了开始将您的 DOCX 文件转换为 PDF,我们首先需要实例化 DocxToPdfRenderer。 这将处理将您的 Word 文档转换为 PDF 格式。 下一步是创建一个新的 PdfDocument 实例,它将保存新创建的 PDF 文档,并使用 RenderDocxAsPdf 方法将 DOCX 文件转换为 PDF。 最后,您只需使用 SaveAs 将 PDF 文档保存到所需的位置,大功告成! 您只需三行代码就将 DOCX 文件转换为了 PDF。

增强 PDF 的高级功能

IronPDF 拥有高级功能,帮助您自定义和丰富您的 PDF 输出:

1. 添加水印

水印用于标记品牌或敏感文件。 您可以在转换 PDF 之后添加水印

pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
$vbLabelText   $csharpLabel

2. 为您的 PDF 添加页眉

PDF 最常见的自定义之一是为每一页添加页眉。 页眉可以包括文档标题、页码、日期或您希望在 PDF 每页顶部展示的任何其他信息。

TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "Weekly Newsletter!",
};

pdf.AddTextHeaders(textHeader);
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "Weekly Newsletter!",
};

pdf.AddTextHeaders(textHeader);
Dim textHeader As New TextHeaderFooter With {.CenterText = "Weekly Newsletter!"}

pdf.AddTextHeaders(textHeader)
$vbLabelText   $csharpLabel

3. 自定义 PDF 布局

IronPDF allows you to define page settings, such as margins, orientation, and page size, before saving your PDF:

renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(20, 20);

renderer.RenderingOptions.MarginTop = 30;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 30;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(20, 20);

renderer.RenderingOptions.MarginTop = 30;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 30;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait

renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(20, 20)

renderer.RenderingOptions.MarginTop = 30
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
renderer.RenderingOptions.MarginBottom = 30
$vbLabelText   $csharpLabel

带有额外格式的完整示例代码

using IronPdf;
using IronPdf.Rendering;

public class Program
{
    public static void Main(string[] args)
    {
        // Create a new DocxToPdfRenderer object
        DocxToPdfRenderer renderer = new DocxToPdfRenderer();

        // Set paper orientation and custom size for the PDF
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(15, 15);

        // Set margins for the PDF document
        renderer.RenderingOptions.MarginTop = 15;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;
        renderer.RenderingOptions.MarginBottom = 15;

        // Convert DOCX to PDF using IronPDF  
        PdfDocument pdf = renderer.RenderDocxAsPdf("newsletter.docx");

        // Apply a watermark to the PDF document
        pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

        // Add text headers to the PDF document
        TextHeaderFooter textHeader = new TextHeaderFooter
        {
            CenterText = "Weekly Newsletter!",
        };

        pdf.AddTextHeaders(textHeader);

        // Save the resulting PDF to a file  
        pdf.SaveAs("output.pdf");
    }
}
using IronPdf;
using IronPdf.Rendering;

public class Program
{
    public static void Main(string[] args)
    {
        // Create a new DocxToPdfRenderer object
        DocxToPdfRenderer renderer = new DocxToPdfRenderer();

        // Set paper orientation and custom size for the PDF
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(15, 15);

        // Set margins for the PDF document
        renderer.RenderingOptions.MarginTop = 15;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;
        renderer.RenderingOptions.MarginBottom = 15;

        // Convert DOCX to PDF using IronPDF  
        PdfDocument pdf = renderer.RenderDocxAsPdf("newsletter.docx");

        // Apply a watermark to the PDF document
        pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

        // Add text headers to the PDF document
        TextHeaderFooter textHeader = new TextHeaderFooter
        {
            CenterText = "Weekly Newsletter!",
        };

        pdf.AddTextHeaders(textHeader);

        // Save the resulting PDF to a file  
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Rendering

Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Create a new DocxToPdfRenderer object
		Dim renderer As New DocxToPdfRenderer()

		' Set paper orientation and custom size for the PDF
		renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
		renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(15, 15)

		' Set margins for the PDF document
		renderer.RenderingOptions.MarginTop = 15
		renderer.RenderingOptions.MarginLeft = 20
		renderer.RenderingOptions.MarginRight = 20
		renderer.RenderingOptions.MarginBottom = 15

		' Convert DOCX to PDF using IronPDF  
		Dim pdf As PdfDocument = renderer.RenderDocxAsPdf("newsletter.docx")

		' Apply a watermark to the PDF document
		pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)

		' Add text headers to the PDF document
		Dim textHeader As New TextHeaderFooter With {.CenterText = "Weekly Newsletter!"}

		pdf.AddTextHeaders(textHeader)

		' Save the resulting PDF to a file  
		pdf.SaveAs("output.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

借此,您可以轻松地将您的 DOCX 文件转换为具有自定义格式的 PDF 文件,以满足您的需求。

输出 PDF 文档

Word To Pdf Csharp Tutorial 5 related to 输出 PDF 文档

Word 到 PDF 转换的最佳实践

1. 优化文件大小

Reduce PDF size by PDF 中的任何图像来减少 PDF 大小,以便更快地下载和更顺利地分享:

pdf.CompressImages(40);
pdf.CompressImages(40);
pdf.CompressImages(40)
$vbLabelText   $csharpLabel

2. 验证输入文件

在处理之前,请确保 DOCX 文件存在且有效:

if (!File.Exists(docxPath))  
{  
    throw new FileNotFoundException($"File not found: {docxPath}");  
}
if (!File.Exists(docxPath))  
{  
    throw new FileNotFoundException($"File not found: {docxPath}");  
}
If Not File.Exists(docxPath) Then
	Throw New FileNotFoundException($"File not found: {docxPath}")
End If
$vbLabelText   $csharpLabel

3. 保护您的 PDF

用密码加密敏感文档:

pdf.SecuritySettings.OwnerPassword = "SecurePassword123";
pdf.SecuritySettings.UserPassword = "Password";
pdf.SecuritySettings.OwnerPassword = "SecurePassword123";
pdf.SecuritySettings.UserPassword = "Password";
pdf.SecuritySettings.OwnerPassword = "SecurePassword123"
pdf.SecuritySettings.UserPassword = "Password"
$vbLabelText   $csharpLabel

关于 IronPDF。

IronPDF 是一个功能强大的 .NET 库,允许开发人员轻松创建、操作和转换 PDF 文档。 它提供了一系列功能,旨在帮助您自动化和简化 C# 应用程序中的文档生成和处理。 无论是将 HTML、DOCX 或图像文件转换为 PDF,还是编辑和提取现有 PDF 中的文本,IronPDF 都能以最少的编码简化这些任务。

IronPDF 的主要功能

  1. HTML 转 PDF 转换

    • IronPDF 的强大功能之一是将HTML 内容转换为 PDF 的能力。 这使得它非常适合 Web 应用程序中应用场景,用户需要下载报告、发票或其他 PDF 格式的文档。

    • 弹性的 HTML 和 CSS 支持,包括 JavaScript 执行,确保 PDF 输出与网页设计紧密匹配。
  2. 图像到 PDF 的转换

    • IronPDF 还可以图像(JPEG、PNG 等)转换为高质量 PDF,非常适合创建作品集、影集和扫描文件档案。 IronPDF 另外支持 PDF 到图像的转换。
  3. PDF 编辑

    • 您可以通过添加文本、图像、形状、注释或水印来编辑现有 PDF。 该库还支持合并和拆分 PDF 文件,使其成为文档管理应用程序的一大利器。
  4. 表单填充和 PDF 生成

    • IronPDF 允许开发人员填充现有 PDF 中的表单字段,非常适合需要填写交互式表单并将其保存为 PDF 的应用程序。
  5. 文本提取

    • IronPDF 可以从 PDF 中提取文本,然后用于数据分析、搜索或导出为其他格式(如 CSV 或 Excel)。 这非常适合需要分析 PDF 内容的文档处理工作流程。

结论

IronPDF 使在 C# 中以编程方式将 Word 文档转换为 PDF 变得简单、可靠且功能丰富。 只需几行代码,您就可以将此功能集成到您的 .NET 应用程序中,赋予用户从 DOCX 文件生成专业、高质量 PDF 的能力。

通过利用 IronPDF,开发人员可以简化工作流程:

  • 为企业自动化文档生成。

  • 在跨平台共享文件时确保数据完整性。

  • 创建安全的、防篡改的重要 Word 文档档案。

此外,像水印、文件合并、应用自定义布局等高级功能使您能够超越基本的转换。 这些功能非常适合在合同管理、发票生成和报告分发等领域构建强大解决方案。

IronPDF 凭借其简单性、灵活性和开发者友好的 API 而独树一帜,使其成为任何从事 .NET 文档处理工作的人的重要工具。 通过免费试用 IronPDF 亲自体验,并看看它如何改进您的 PDF 项目!

常见问题解答

如何将Word文件转换为PDF?

您可以通过创建DocxToPdfRenderer对象并利用RenderDocxAsPdf方法使用IronPDF将Word文件转换为PDF。此方法确保在生成的PDF中保留所有格式和样式。

将文档转换为PDF格式有什么好处?

将文档转换为PDF确保平台独立,维护数据完整性,增强安全性,使PDF在合同、商业报告和归档中理想使用。

如何安装用于PDF转换的.NET库?

您可以在Visual Studio中打开Package Manager控制台并执行命令Install-Package IronPdf通过NuGet安装IronPDF库。

在C#中执行Word到PDF转换的前提条件是什么?

要使用IronPDF执行Word到PDF转换,您需要Visual Studio 2019或更高版本、.NET 6.0或兼容框架、有效的IronPDF授权、示例DOCX文件和基本C#编程知识。

如何使用此库向PDF添加水印?

IronPDF允许您使用其水印功能向PDF添加水印,可以为文本和图像进行自定义以符合您的文档需求。

有哪些PDF文件大小优化方法?

要优化PDF文件大小,您可以使用IronPDF中的CompressImages方法,该方法在不影响质量的情况下减小PDF中图像的大小。

如何使用加密保护我的PDF?

IronPDF提供通过SecuritySettings属性设置所有者和用户密码的能力,有效地加密您的文档。

此库提供了哪些高级PDF功能?

IronPDF包括添加页眉和页脚、使用页边距和方向自定义页面布局以及将HTML和图像转换为PDF的高级功能。

为什么企业要将Word文档转换为PDF?

企业将Word文档转换为PDF,以确保跨平台的一致表现,保护内容免遭未经授权的编辑,并促进文件分发和存档。

除了DOCX到PDF之外,我可以使用此库进行其他文档转换吗?

是的,IronPDF还支持将HTML和图像转换为PDF,以及编辑PDF、填写表单和提取文本,使其成为进行各种文档处理任务的多功能工具。

IronPDF 是否兼容 .NET 10,能否用于 Word 到 PDF 的转换?

是的。IronPDF 完全兼容 .NET 10,并提供对新运行时和语言特性的首日支持。在 .NET 10 项目中,Word (DOCX) 转 PDF 功能与之前支持的版本一样流畅。(请参阅 IronPDF 的 .NET 版本兼容性)

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。