如何使用 PDFSharp 在 C# (.NET 5) 中產生 PDF
這段影片是一個關於如何使用 PDFsharp 函式庫生成 PDF 檔案的教學指南,使用 C# 代碼。 講者首先介紹 PDFsharp,它是一個棘手但有效的產生 PDF 檔案的函式庫。 該函式庫具有先進的功能,而且與許多競爭對手不同,它是完全免費的。 講者強調 PDFsharp 儘管複雜,但仍是使用 C# 產生 PDF 檔案的絕佳選擇。
教學開始時,講者會以一個生成的 PDF 檔案為例,該檔案由三行文字組成。 第一行文字不完全是第一行,而第三行文字出現在右下角。 講者指出,一旦他們深入研究程式碼,文字的順序就會變得合理。 他們還解釋將會使用 .NET 5 來示範 PDFsharp 如何運作。
安裝與設定
在進入程式碼之前,講者強調為 PDFsharp 設定環境可能相當具有挑戰性。 他們說明在使用 PDFsharp NuGet 套件詳細資訊之前,必須先安裝三個 NuGet 套件。 第一個套件是 PDFsharp 本身,由於其版本較舊,可能會產生與 .NET 不匹配的警告。 另外兩個套件是 System.Drawing.Common 和 System.Text.Encoding.CodePages 。

講者強調,在使用 PDFsharp 之前,必須先安裝這三個套件;否則,程式碼會產生錯誤。 他們解釋說,System.Text.Encoding.CodePages 套件尤其重要,因為它提供了產生 PDF 檔案所需的編碼支援。 講者還要指出,若無法正確安裝套件,就很難排除故障。
安裝相關程式庫
為了讓PDFSharp正常運作,講者解釋必須為 System.Text.Encoding 註冊一個提供者。 提供者來自 System.Text.Encoding.CodePages 套件,講者強調註冊套件以確保 PDFsharp 正常運作的重要性。 他們解釋,如果無法註冊提供者,就會出現錯誤,這對於排除故障是很有挑戰性的。
建立 PDF 檔案
接下來,講者會介紹一個使用 PDFsharp 來產生 PDF 檔案的簡單主控台應用程式。他們解釋在使用這個函式庫之前,必須先宣告 PDFsharp Drawing 和 PDFsharp PDF 的 using 語句。 演講者接著會介紹產生 PDF 檔案的程式碼,其中包括建立新文件、新增頁面,以及在頁面上繪製文字。
using PdfSharp.Drawing;
using PdfSharp.Pdf;
namespace PdfSharpExample
{
class Program
{
static void Main(string[] args)
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a new page
PdfPage page = document.AddPage();
// Prepare to draw on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define a font
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Draw a string to the page
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height),
XStringFormats.Center);
// Save the document
const string filename = "HelloWorld.pdf";
document.Save(filename);
}
}
}using PdfSharp.Drawing;
using PdfSharp.Pdf;
namespace PdfSharpExample
{
class Program
{
static void Main(string[] args)
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a new page
PdfPage page = document.AddPage();
// Prepare to draw on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define a font
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Draw a string to the page
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height),
XStringFormats.Center);
// Save the document
const string filename = "HelloWorld.pdf";
document.Save(filename);
}
}
}講者指出,可以調整產生 PDF 檔案的程式碼,以加入更複雜的功能,例如新增圖片、表格和圖表。 他們還解釋 PDFsharp 提供了各種處理字型的功能,包括在 PDF 檔案中嵌入字型。

講者會解釋透過安裝必要的 NuGet 套件和註冊 System.Text.Encoding 的提供者來正確設定環境的重要性。 他們還介紹了一個使用 PDFsharp 產生 PDF 檔案的簡單主控台應用程式,並示範如何調整程式碼以包含更複雜的功能。 對於任何有興趣使用 C# 和 PDFsharp 產生 PDF 檔案的人來說,這段影片是極佳的資源。
建立清單和更複雜的項目
在影片的第二部分,講者首先介紹一個較複雜的範例,即建立 PDF 文件。 他強調一個空的 PDF 文件是沒有意義的,接著解釋如何使用PDFSharp函式庫建立新的頁面。 他指出,這個過程與在 Excel 或 PowerPoint 附加元件中建立事物類似,一旦建立頁面,就能以不需要調用其他方法的參照來運作。

接著,講者會介紹 XGraphics 變數,它提供了繪製文字、線條和影像等東西的方法。 此外,還介紹了 XFont 變數,作為 PDF 文件中使用的字型設定方法。 講者指出,字型可以在其他地方產生,但如果有更複雜的安排,在全局設定字型會很有用。
接下來,講者會討論 DrawString 方法,這個方法會將文字寫入 PDF 檔案。他指出,該方法的複雜部分在於決定文字將繪製到何處,並解釋了所涉及的各種參數,例如文字可能對齊的字型、顏色和邊界。 他還解釋了如何使用 XBrushes 變數來設定文字的顏色。
解釋 DrawString 及其他方法
演講者接著會介紹幾個使用 DrawString 方法的範例,這些範例包含不同的參數,例如將文字對齊在中央、對齊在左下方,以及指定文字放置的確切座標。 他指出,最後一個選項是最可自訂的,並提供極大的靈活性。

講者說明如何使用 C# 程式語言的圖形建立表格。 它們涵蓋了如何插入圖片、字串和線條,以及如何使用圖形功能繪製弧線和 BarCode。 他們還解釋了使用座標工作時試誤的重要性,以及如何畫線分隔行。
講者還討論了表格標頭以及數值和行的起點需求。他們解釋了如何調整 y 的位置和增加記錄的行數,以及當表格的記錄超過一定數量時,如何移動到另一個頁面。 最後,他們提到為每個頁面重新設定值的重要性。
結論
最後,講者強調在使用PDFSharp時熟悉 Microsoft Office 附加元件的重要性,並提供他自己的相關課程。 他也指出,這個函式庫具有高度的通用性,可用於建立各式各樣的 PDF 文件,從簡單的文字文件到包含圖片、圖形和自訂版面的複雜文件。
IronPDF:C# PDF 函式庫
IronPDF 是一個 C# PDF 函式庫,用於建立、編輯和處理 PDF 文件。 本手冊的設計易於使用,並可與 .NET 應用程式無縫整合。
與 PDF Sharp 相比,IronPDF 具有以下幾項優勢。 首先,它是一款商業產品,並附有專業的支援,這是 PDF Sharp 所沒有的。其次,IronPDF 有更好的說明文件和更直覺的 API,讓開發人員更容易上手和使用這個函式庫。 此外,IronPDF 還擁有更豐富的功能,包括進階的 PDF 建立選項,以及支援使用 HTML、CSS 和 JavaScript。
特點
| 特點 | IronPdf | PDFSharp |
|---|---|---|
| 將 HTML 轉換為 PDF | 是 | 無 |
| 專業支援 | 是 | 無 |
| HTML、CSS 及 JavaScript 支援 | 是 | 無 |
| 數位簽名 | 是 | 無 |
| 加密 | 是 | 無 |
IronPDF 的主要功能之一是能夠使用IronPdf將 HTML 轉換為 PDF,從網頁中輕鬆建立 PDF 文件。 PDF Sharp 不提供此功能,因此限制了其使用情況。
IronPDF 還支援數位簽章和加密,這對於需要安全處理的敏感文件至關重要。 PDF Sharp 不提供此功能。
與 PDF Sharp 相比,IronPDF 是功能更強大且使用更方便的 PDF 函式庫,具有更多的功能和更好的支援選項。 不過,這也是一種商業產品,因此對於尋找免費或開放原始碼解決方案的開發人員而言,這可能不是最佳選擇。
常見問題解答
如何使用 C# 中的 PDFsharp 產生 PDF 檔案?
要使用 PDFsharp 產生 PDF,您需要建立一個新的 PDF 文檔,向其中新增一個頁面,並使用XGraphics物件繪製文字或圖形。請確保包含對PdfSharp.Drawing和PdfSharp.Pdf命名空間的 using 語句。
PDFsharp 需要哪些必要的 NuGet 套件?
要有效使用 PDFsharp,您需要安裝以下 NuGet 套件:PDFsharp、System.Drawing.Common 和 System.Text.Encoding.CodePages。這些套件對於編碼支援和正確的 PDF 生成至關重要。
在C#中產生PDF方面,IronPDF與PDFsharp相比如何?
IronPDF 是一款商業庫,提供 PDFsharp 不具備的進階功能,例如 HTML 轉 PDF、數位簽章和加密。此外,它還提供更完善的文件和專業的支持,使其在處理複雜任務時更加用戶友好。
使用 PDFsharp 產生 PDF 有哪些限制?
PDFsharp 不支援 HTML、CSS 或 JavaScript,這限制了它的應用場景。對於複雜的文檔,它需要使用者對編碼設定和 Microsoft Office 加載項有深入的了解,這使得它相比 IronPDF 而言不夠直觀易用。
為什麼 System.Text.Encoding.CodePages 套件對 PDFsharp 很重要?
使用 PDFsharp 產生 PDF 檔案時,System.Text.Encoding.CodePages 軟體包提供必要的編碼支援。如果未正確安裝和註冊此軟體包,可能會遇到與編碼相關的錯誤。
我可以使用免費的 C# 庫將 HTML 轉換為 PDF 嗎?
不,PDFsharp 不支援 HTML 轉 PDF。要實現此功能,您需要使用像 IronPDF 這樣的商業庫,它不僅提供此功能,還提供其他進階功能。
如何排查PDFsharp中的常見錯誤?
PDFsharp 中的常見錯誤通常是由於 NuGet 套件配置不正確或編碼問題引起的。請確保所有必需的套件(包括 System.Text.Encoding.CodePages)都已正確安裝和註冊,以解決此類問題。
IronPDF 為 C# 開發人員提供了哪些進階功能?
IronPDF 提供 HTML 轉 PDF、數位簽章、加密以及處理 CSS 和 JavaScript 等進階功能。它還與 .NET 應用程式整合並提供專業支持,使其成為開發人員的強大工具。
如何使用 PDFsharp 自訂 PDF 中的文字佈局?
使用 PDFsharp,您可以利用XGraphics類別的DrawString方法自訂 PDF 中的文字佈局。這樣,您就可以在指定的範圍內設定字體、顏色和文字對齊方式等屬性。
PDFsharp 是否適合用 C# 建立複雜的 PDF 文件?
PDFsharp 可以建立複雜的 PDF 文檔,但它要求使用者對編碼和 Microsoft Office 加載項有深入的了解。對於複雜的任務,IronPDF 可能是更好的選擇,因為它具有更直覺的 API 和更多功能。






