跳過到頁腳內容
產品比較
如何使用 PDFsharp 在 C# (.NET 5) 中生成 PDF

如何使用 PDFSharp 在 C# (.NET 5) 中生成 PDF

該影片是一個指導教程,講解如何使用 PDFsharp 庫透過 C# 程式碼產生 PDF 檔案。 演講者首先介紹 PDFsharp,稱其為一個功能強大但效果顯著的 PDF 文件生成庫。 該庫具有高級功能,而且與許多競爭對手不同,它是完全免費的。 演講者強調,儘管 PDFsharp 很複雜,但它是使用 C# 產生 PDF 檔案的絕佳選擇。

教程開始時,演講者展示了一個生成的 PDF 文件範例,該文件包含三行文字。 第一行文字並非真正意義上的第一行,而第三行文字則出現在右下角。 發言者指出,一旦深入研究程式碼,文本的順序就會變得有意義。 他們還解釋說,他們將使用.NET 5 來示範 PDFsharp 的工作原理。

安裝和設定

在深入程式碼之前,演講者強調,為 PDFsharp 設定環境可能相當具有挑戰性。 他們解釋說,在使用 PDFsharp 之前必須安裝三個NuGet套件。 NuGet套件詳細資料。 第一個軟體包是 PDFsharp 本身,由於其版本較舊,可能會產生一條警告,提示它可能與.NET不符。 另外兩個軟體包是 System.Drawing.CommonSystem.Text.Encoding.CodePages

如何使用 PDFSharp 在 C# (.NET 5) 中產生 PDF:圖 1

講者強調,在使用 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);  
        }
    }
}
$vbLabelText   $csharpLabel

演講者指出,可以調整生成 PDF 文件的程式碼,使其包含更複雜的功能,例如添加圖像、表格和圖表。 他們還解釋說,PDFsharp 提供了各種處理字體的功能,包括將字體嵌入 PDF 文件中。

如何使用 PDFSharp 在 C# (.NET 5) 中產生 PDF:圖 2

演講者解釋了正確設定環境的重要性,包括安裝必要的NuGet套件和註冊 System.Text.Encoding 的提供者。 他們還展示了一個簡單的控制台應用程序,該應用程式使用 PDFsharp 生成 PDF 文件,並演示瞭如何調整程式碼以包含更複雜的功能。 對於任何有興趣使用 C# 和 PDFsharp 產生 PDF 檔案的人來說,該影片都是極好的資源。

建立清單和更複雜的項目

在影片的第二部分,演講者首先介紹了一個建立 PDF 文件的更複雜的範例。 他強調,擁有一個空白的 PDF 文件是毫無意義的,並接著解釋如何使用 PDFSharp 庫建立新頁面。 他指出,這個過程類似於在 Excel 或 PowerPoint 加載項中建立內容,頁面建立完成後,它可以透過引用工作,而無需呼叫其他方法。

如何使用 PDFSharp 在 C# (.NET 5) 中產生 PDF:圖 3

演講者隨後介紹了 XGraphics 變量,該變量提供了繪製文字、線條和圖像等內容的方法。 引入了 XFont 變量,用於設定 PDF 文件中使用的字體。 演講者指出,字體可以在其他地方生成,但如果佈局比較複雜,最好全域設定字體。

接下來,演講者討論了DrawString方法,該方法可以將文字寫入PDF檔案。他指出,該方法的複雜之處在於確定文字的繪製位置,並解釋了涉及的各種參數,例如字體、顏色以及文字的對齊邊界。 他也解釋瞭如何使用 XBrushes 變數來設定文字顏色。

解釋 DrawString 和其他方法

然後,演講者展示了使用 DrawString 方法的不同參數的幾個範例,例如將文字居中對齊、將文字左下角對齊以及指定文字放置的確切座標。 他指出,最後一個選項可自訂性最強,提供了很大的靈活性。

如何使用 PDFSharp 在 C# (.NET 5) 中產生 PDF:圖 4

演講者講解如何使用 C# 程式語言建立圖形表格。 它們涵蓋如何插入圖像、字串和線條,以及如何使用圖形功能繪製弧線和條碼。 他們也解釋了在使用座標時反覆試驗的重要性,以及如何畫線來分隔行。

演講者也討論了表格標題以及數值和線條起始點的必要性。他們解釋瞭如何調整 y 軸位置、新增記錄行,以及當表格記錄數超過一定數量時如何換頁。 最後,他們提到了重置每個頁面的值的重要性。

結論

最後,演講者強調了在使用 PDFSharp 時熟悉 Microsoft Office 加載項的重要性,並提供了他自己關於該主題的課程。 他還指出,該庫用途廣泛,可用於創建各種 PDF 文檔,從簡單的文字文檔到包含圖像、圖形和自訂佈局的更複雜的文檔。

IronPDF:C# PDF庫

IronPDF是一個 C# PDF 庫,用於建立、編輯和操作 PDF 文件。 它設計易於使用,並且可以與.NET應用程式無縫整合。

與 PDF Sharp 相比, IronPDF具有以下幾個優勢。 首先,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 庫,具有更多功能和更好的支援選項。 然而,它也是一個商業產品,因此對於正在尋找免費或開源解決方案的開發人員來說,它可能不是最佳選擇。

請注意PDFsharp 是其各自所有者的註冊商標。 本網站與PDFsharp無任何關聯,亦未獲得其認可或贊助。所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較僅供參考,反映的是撰寫本文時可公開取得的資訊。

常見問題解答

如何在 C# 中使用 PDFsharp 生成 PDF 檔案?

要使用 PDFsharp 生成 PDF,您需要創建一個新的 PDF 文檔,在其中添加一頁,並使用 XGraphics 物件來繪製文字或圖形。確保包含 PdfSharp.DrawingPdfSharp.Pdf 命名空間的使用語句。

PDFsharp 所需的基本 NuGet 套件有哪些?

要有效地使用 PDFsharp,您需要安裝以下 NuGet 套件:PDFsharp、System.Drawing.Common 和 System.Text.Encoding.CodePages。這些套件對於編碼支援和正確的 PDF 生成至關重要。

IronPDF 與 PDFsharp 在 C# 中生成 PDF 的比較如何?

IronPDF 是一個商業庫,提供進階功能如 HTML 到 PDF 轉換、數位簽名和加密,這些在 PDFsharp 中是不可用的。它還提供更好的文件和專業支持,讓其在處理複雜任務時更具用戶友好性。

使用 PDFsharp 生成 PDF 有哪些限制?

PDFsharp 不支持 HTML、CSS 或 JavaScript,這限制了它的使用範圍。它需要對編碼設置和 Microsoft Office 外掛有良好的理解,以便處理複雜文件,這相比於 IronPDF 可能不太直觀。

為什麼 System.Text.Encoding.CodePages 套件對於 PDFsharp 很重要?

System.Text.Encoding.CodePages 套件提供在使用 PDFsharp 生成 PDF 文件時所需的編碼支持。如果沒有正確安裝和註冊此套件,您可能會遇到與編碼相關的錯誤。

我可以使用免費的 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 和額外功能對於複雜任務而言是更好的選擇。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me