在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
程式化地轉換文件已成為許多應用程式中的一項基本功能。 尤其是在商業世界中,將 Word 文件轉換為 PDF 文件是一項常規工作。 值得慶幸的是,使用 C# 和 Microsoft Interop,您可以無縫地將 Word 文件轉換為 PDF。 本教程將討論使用C#程式化將Word轉換為PDF的過程。
在深入研究程式碼之前,使用 C# 將 .DOCX 轉換為 PDF確保已設置必要的環境是非常重要的。 以下是您需要的先決條件:
確保您的電腦上已安裝 Microsoft Word。 Interop 服務將使用 Word 的內建功能來處理 Word 文件和 PDF 轉換。
版本的Visual Studio是創建、編譯和運行 C# 程式所必需的。 如果您還沒有 Visual Studio,可以從下載免費的社群版本,Microsoft 官方網站.
Microsoft.Office.Interop.Word
此套件對於讓您的 C# 程式能夠與 Word 文件互動所需的功能至關重要。 它將稍後使用 NuGet 包管理器安裝,但了解其在轉換過程中的重要性是好的。
準備您想轉換的 Word 文件或 .docx
文件。 確保您知道其在機器上的路徑,因為您需要在 C# 程式中指定它。
確保您可以讀取Word文件並將生成的PDF文件寫入所需目錄。 以管理員身份運行 Visual Studio 有時可以解決與權限相關的問題。
有了這些先決條件,您可以設置您的環境並將您的Word文件轉換為PDF文件。
打開您的 Visual Studio。
創建一個新的 C# 控制台應用程式。
轉到 NuGet 套件管理員 > 為方案管理 NuGet 套件。
搜尋「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# 專案中都是必備的。
真正的動作從 Main
方法內開始。 我們首先使用 new Word.Application
創建一個新的 Word 應用程式實例(). 這個步驟類似於啟動 MS Word,但所有事情都在背景中發生,使用者看不到。 一旦應用程式實例初始化後,我們指示它使用
wordApp.Documents.Open` 方法打開一個 Word 文件。 將您的 Word 文件路徑替換為 "path_to_your_word_file.docx" 至關重要。
現在,打開文件後,我們確定希望將 PDF 儲存的位置。 這是在 output path
變數中指定的。 請注意,必須調整路徑至您希望轉換後的輸出PDF檔案所在的位置。
將Word 文件轉換為 PDF的魔力發生在這行 wordDocument.ExportAsFixedFormat
。(...)`. Interop 服務提供內建方法,使轉換變得輕鬆無憂。 該方法需要兩個主要參數:PDF應儲存的路徑以及匯出格式,在我們的例子中,匯出格式是PDF。
在轉換後,關閉我們使用過的資源是良好的做法。因此,wordDocument.Close
()確保我們打開的文件現在已關閉,同時
wordApp.Quit()` 確保我們在背景中啟動的 Word 應用程式實例被終止。
最後,我們的程式使用簡單的控制台訊息向使用者傳達結果。 Console.WriteLine()
方法提供反饋,表示轉換過程已成功執行。
因此,Microsoft.Office.Interop.Word
提供了一個適合的解決方案來處理和轉換 Word 文件。
雖然 Microsoft.Office.Interop
提供了一個可行的文件轉換解決方案,但有一個更高效且更健全的替代方法來處理 Excel: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是必不可少的,它提供了更高的性能並簡化了過程。 如果您正在考慮試用IronXL,他們提供一個免費試用. 一旦您體驗到其強大功能,授權從合理的 $749 開始,為您的投資提供價值,並確保在您的應用程式中流暢的文件處理。