在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在許多應用程式中,程式化地轉換文件已成為一個基本功能。尤其在商業世界中,將 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 文件。替換 "path_to_your_word_file.docx" 為你的 Word 文件路徑是至關重要的。
現在,打開文檔後,我們確定將 PDF 保存在哪裡。這在 output path
變量中指定。需要注意的是,應該將路徑調整到你希望轉換後的 PDF 文件 所在的位置。
將 Word 文件轉換為 PDF 的魔法在這行 wordDocument.ExportAsFixedFormat
中發生。(...)`. 互操作服務提供了一種內建方法,能夠輕鬆地轉換。該方法需要兩個主要參數:PDF 保存的路徑和導出格式,在我們的例子中是 PDF。
在轉換之後,關閉我們使用的資源是一個好習慣。因此,wordDocument.Close()
確保我們打開的文件現在已關閉,同時wordApp.Quit()
確保我們在背景中啟動的 Word 應用程式實例被終止。
最後,我們的程序會透過簡單的控制台訊息向使用者傳達結果。Console.WriteLine()
method 提供了反饋,表示轉換過程成功執行。
因此,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 開始,為您的投資提供價值,並確保在您的應用程式中順利處理文件。