在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
以编程方式转换文档已成为许多应用程序的基本功能。 特别是在商业领域,将 Word 文档转换为 PDF 文件是一项常规任务。 值得庆幸的是,通过 C# 和 Microsoft Interop,您可以将 Word 文件无缝转换为 PDF。 本教程将讨论使用 C# 编程将 Word 转换为 PDF 的过程;
在深入代码之前使用 C# 将 .DOCX 转换为 PDF此外,确保您拥有必要的环境设置也至关重要。 以下是您需要具备的前提条件:
请确保您的计算机上安装了 Microsoft Word。 Interop 服务将使用 Word 的内置功能来处理 Word 文档和 PDF 的转换。
版本Visual Studio是创建、编译和运行 C# 程序所必需的。 如果您还没有 Visual Studio,可以从以下网址免费下载社区版本微软官方网站.
本软件包对于为您的 C# 程序提供与 Word 文档交互的必要功能至关重要。 稍后将使用 NuGet 软件包管理器进行安装,但了解其在转换过程中的重要性是有好处的。
准备一份您希望转换的 Word 文档或 .docx
文件。 确保您知道它在您机器上的路径,因为您需要在 C# 程序中指定它。
确保您可以读取 Word 文件,并将生成的 PDF 文件写入所需目录。 以管理员身份运行 Visual Studio 有时可以解决与权限相关的问题。
有了这些先决条件,您就可以设置环境并将 Word 文档转换为 PDF 文件了。
打开您的 Visual Studio。
创建一个新的 C# 控制台应用程序。
转到 NuGet 包管理器 > Manage NuGet Packages for Solution。
搜索"Microsoft.Office.Interop.Word
"并安装。 该软件包将使我们的应用程序能够与 Word 通信并转换 Word 文件。
要使用 C# 将 Word 文档转换为 PDF,我们将利用 Microsoft Interop 服务的功能。 下面的代码片段完成了这一任务,接下来将进行详细解释。
using System;
using Word = Microsoft.Office.Interop.Word;
class Program
{
static void Main()
{
var wordApp = new Word.Application();
var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");
var outputPath = @"path_where_you_want_to_save_pdf.pdf";
wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);
wordDocument.Close();
wordApp.Quit();
Console.WriteLine("Word document converted to PDF successfully!");
}
}
using System;
using Word = Microsoft.Office.Interop.Word;
class Program
{
static void Main()
{
var wordApp = new Word.Application();
var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");
var outputPath = @"path_where_you_want_to_save_pdf.pdf";
wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);
wordDocument.Close();
wordApp.Quit();
Console.WriteLine("Word document converted to PDF successfully!");
}
}
Imports System
Imports Word = Microsoft.Office.Interop.Word
Friend Class Program
Shared Sub Main()
Dim wordApp = New Word.Application()
Dim wordDocument = wordApp.Documents.Open("path_to_your_word_file.docx")
Dim outputPath = "path_where_you_want_to_save_pdf.pdf"
wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF)
wordDocument.Close()
wordApp.Quit()
Console.WriteLine("Word document converted to PDF successfully!")
End Sub
End Class
我们代码的开头包括两个重要的命名空间。 System "命名空间提供了 C# 编程的基本类,几乎是所有 C&num 的主干;
真正的行动始于 Main
方法。 我们首先使用 new Word.Application
创建一个 Word 应用程序的新实例。(). 这一步骤类似于启动 MS Word,但一切都在后台进行,用户看不到。 应用程序实例初始化后,我们使用
wordApp.Documents.Open` 方法指示它打开一个 Word 文档。 指定 Word 文档的路径而不是 "path_to_your_word_file.docx "至关重要。
现在,打开文档后,我们要确定 PDF 的保存位置。 输出路径 "变量中指定了这一点。 必须注意的是,路径应调整为您希望转换后的输出PDF 文件所在的位置。
wordDocument.ExportAsFixedFormat "行是将Word 文档转换为 PDF 的神奇之处。(...)`. Interop 服务提供了一种内置方法,可以轻松实现转换。 该方法需要两个主要参数:保存 PDF 的路径和导出格式,在我们的例子中是 PDF。
转换完成后,关闭我们使用过的资源是一种良好的做法。因此,wordDocument.Close()确保我们打开的文档已关闭,而
wordApp.Quit()确保我们在后台启动的 Word 应用程序实例被终止。
最后,我们的程序将通过简单的控制台消息向用户传达翻译结果。 控制台.WriteLine()该方法可提供反馈,表明转换过程已成功执行。
因此,"Microsoft.Office.Interop.Word "为处理和转换 Word 文档提供了合适的解决方案。
虽然 "Microsoft.Office.Interop "为文档转换提供了一个可行的解决方案,但还有一个更高效、更强大的替代方案可用于与 Excels 一起工作:IronXL.
IronXL简化了用 C# 处理 Excel 文件的过程。 它不仅在速度和易用性方面优于 Interop,而且无需像 Microsoft Office 那样进行额外安装。有兴趣进一步了解吗? 查看他们的详细教程如何使用 C# 阅读 Excel 文件.
可在 NuGet 包管理器控制台中使用以下命令安装 IronXL 库:
Install-Package IronWord
using IronXL;
using System.IO;
// Import any XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Export the excel file as XLS, XLSX, XLSM, CSV, TSV, JSON, XML
workBook.SaveAs("sample.xls");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.tsv");
workBook.SaveAsCsv("sample.csv");
workBook.SaveAsJson("sample.json");
workBook.SaveAsXml("sample.xml");
// Export the excel file as Html, Html string
workBook.ExportToHtml("sample.html");
string htmlString = workBook.ExportToHtmlString();
// Export the excel file as Binary, Byte array, Data set, Stream
byte [] binary = workBook.ToBinary();
byte [] byteArray = workBook.ToByteArray();
System.Data.DataSet dataSet = workBook.ToDataSet(); // Allow easy integration with DataGrids, SQL and EF
Stream stream = workBook.ToStream();
using IronXL;
using System.IO;
// Import any XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Export the excel file as XLS, XLSX, XLSM, CSV, TSV, JSON, XML
workBook.SaveAs("sample.xls");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.tsv");
workBook.SaveAsCsv("sample.csv");
workBook.SaveAsJson("sample.json");
workBook.SaveAsXml("sample.xml");
// Export the excel file as Html, Html string
workBook.ExportToHtml("sample.html");
string htmlString = workBook.ExportToHtmlString();
// Export the excel file as Binary, Byte array, Data set, Stream
byte [] binary = workBook.ToBinary();
byte [] byteArray = workBook.ToByteArray();
System.Data.DataSet dataSet = workBook.ToDataSet(); // Allow easy integration with DataGrids, SQL and EF
Stream stream = workBook.ToStream();
Imports IronXL
Imports System.IO
' Import any XLSX, XLS, XLSM, XLTX, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Export the excel file as XLS, XLSX, XLSM, CSV, TSV, JSON, XML
workBook.SaveAs("sample.xls")
workBook.SaveAs("sample.xlsx")
workBook.SaveAs("sample.tsv")
workBook.SaveAsCsv("sample.csv")
workBook.SaveAsJson("sample.json")
workBook.SaveAsXml("sample.xml")
' Export the excel file as Html, Html string
workBook.ExportToHtml("sample.html")
Dim htmlString As String = workBook.ExportToHtmlString()
' Export the excel file as Binary, Byte array, Data set, Stream
Dim binary() As Byte = workBook.ToBinary()
Dim byteArray() As Byte = workBook.ToByteArray()
Dim dataSet As System.Data.DataSet = workBook.ToDataSet() ' Allow easy integration with DataGrids, SQL and EF
Dim stream As Stream = workBook.ToStream()
如上述示例代码所示,IronXL 库有助于在不使用 Interop 的情况下读取 Excel 文件。您还可以进一步使用 IronXL 库加载工作簿,并使用 "SaveAs "方法将其导出为 XLS、XLSX、XLSM、CSV、TSV、JSON、XML 等不同格式。 它还允许在代码中直接导出 HTML 字符串、二进制文件、字节数组、数据集和内存流等数据类型。
在当今的数字化时代,文档转换,尤其是将Word 文档转换为 PDF,已成为许多应用程序不可或缺的一部分。 可以使用 C# 和 Microsoft Interop 提供的功能来实现这一目标。
然而,要与时俱进地使用高级工具,如IronXL在翻译过程中,".NET"、"Java"、"Python "或 "Node js "是必不可少的,它们可以提高性能并简化流程。 如果您正在考虑试用 IronXL,他们提供了一个免费试用. 一旦您体验了它的强大功能,许可证的起价就是合理的"$liteLicense",为您的投资提供价值,并确保在您的应用程序中流畅地处理文档。