IRONSOFTWAREHOME
PDF工具

如何從PDF文件中提取頁面——逐步指南

Curtis Chau
Curtis Chau
Updated: 2026年9月4日

這段影片是關於如何使用C#程式碼和PDFSharp程式庫來生成PDF文件的教學指南。 演講者首先介紹了PDFSharp,稱其為一個難以掌握但非常有效的生成PDF文件的程式庫。 該程式庫具有高級功能,與很多競爭者不同的是,它完全免費。 演講者強調,儘管它複雜,PDFSharp是使用C#生成PDF文件的絕佳選擇。

為了開始這個教程,演講者展示了一個由三行文字組成的生成PDF文件的例子。 第一行文字並不是完全在第一位,而第三行文字出現在右下角。 演講者指出,一旦我們瀏覽程式碼,文字的順序就會變得有意義。 他們還解釋稱將使用.NET 5來展示PDFSharp的工作原理。 若想要從從零開始用C#建立PDF有更全面的了解,IronPDF提供了一個簡化的替代方法。

這是一個簡要概覽,展示了PDFSharp和IronPDF在.NET PDF專案中最相關功能上的差異:

功能IronPDFPDFSharp
HTML轉PDFYes
數位簽名Yes
加密Yes
HTML、CSS和JavaScriptYes
專業支援Yes
授權商業用途MIT(開源)

以下部分將詳細解釋並提供這些差異的程式碼範例。 正在比較這兩個程式庫的團隊可以試用IronPDF的免費30天試用來測試其功能。

安裝與設置

在開始程式碼之前,演講者強調,設置PDFSharp的環境可能相當具有挑戰性。 他們解釋說,必須先安裝三個NuGet包,然後才能使用PDFSharp NuGet包詳情。 第一個包是PDFSharp本身,由於其舊版本,可能會產生與.NET不匹配的告警。 另外兩個包是System.Drawing.CommonSystem.Text.Encoding.CodePages

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

演講者強調,在使用PDFSharp之前,必須安裝所有三個包;否則,程式碼將拋出錯誤。 他們解釋說,System.Text.Encoding.CodePages包特別重要,因為它提供了生成PDF文件所需的編碼支持。 演講者還指出,如果未正確安裝包,可能會很難排除故障。 想要完全避免這種多包設置的團隊可以遵循從PDFSharp遷移到IronPDF的指南,以實現逐步過渡。

安裝相關程式庫

為了使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);  
        }
    }
}

演講者指出,可以調整生成PDF文件的程式碼以包括更複雜的功能,例如新增圖像(請參閱如何使用IronPDF將圖像轉換為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變數,該變數提供了繪製文字、線條和圖像的方法——這些功能IronPDF通過其文字和圖像標記API處理,而不需要手動計算坐標。 還介紹XFont變數作為在PDF文件中設置字體的方法。 演講者指出,字體可以在其他地方生成,但是如果有更複雜的安排,將其全域設置是有用的。

接下來,演講者討論了DrawString方法,它將文字寫入PDF文件中。他指出這個方法的複雜部分是確定文字將在何處繪製,並解釋所涉及的各種參數,例如字體、顏色和文字可能對齊的邊界。 他還解釋了使用XBrushes變數來設置文字的顏色。

解釋DrawString和其他方法

然後演講者展示了使用DrawString方法的多個例子,其中有不同的參數,例如將文字對齊至中心、對齊至左下,以及指定文字放置的確切坐標。 他指出,最後一個選項是最可定制的,提供了很大的靈活性。

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

演講者解釋了如何使用C#程式設計語言的圖形建立表格。 他們講解了如何插入圖像、字串和線條,以及如何使用圖形功能繪製弧線和條碼——IronPDF通過其邊距、標頭和DPI的渲染選項來簡化這些任務。 他們還解釋了在使用坐標時試錯的重要性,以及如何畫線以分隔行。

演講者還討論了表格標題,以及需求為值和線條設置一個起始點。他們解釋如何調整y位置、新增記錄行,以及在表格超過一定數量記錄時如何移動到另一頁。 最後,他們提到每頁重設值的重要性。

您應該選擇哪個程式庫?

總結來說,演講者強調在使用PDFSharp時了解Microsoft Office插件的重要性,並提供他自己關於此主題的課程。 他還指出該程式庫具有很高的多樣性,可以用於建立從簡單文字文件到具有圖像、圖形和自定義佈局的更復雜的PDF文件。

什麼是IronPDF?

IronPDF是一個用於建立、編輯和操作PDF文件的C# PDF 程式庫。 它作為一個單一的NuGet包發佈——Install-Package IronPdf——並與.NET應用程式整合而不需要額外的相依設置。

PDFSharp提供堅實的低層次繪圖控制,並在寬鬆的MIT許可下發布——這兩種真實的優勢使其在很多.NET專案中成為基本的方案。 當需求超出基於坐標的渲染進而涉及HTML轉PDF轉換、數位簽名或文件加密時,團隊通常會遇到摩擦。 IronPDF是一個商業支持的程式庫,將這些情形作為一級操作處理,提供專業支持並圍繞常見文件生成工作流程設計API介面,包括HTML、CSS和JavaScript渲染。

特點

功能IronPDFPDFSharp
將HTML轉換為PDF
專業支持
HTML、CSS和JavaScript支持
數位簽名
加密

IronPDF的一個關鍵功能是其使用IronPDF將HTML轉換為PDF的能力,這使得從網頁建立PDF文件變得直截了當。 HTML轉PDF轉換超出PDFSharp的當前范疇——它在坐標繪圖層工作——所以需要這項功能的團隊通常會新增一個單獨的渲染程式庫或評估IronPDF內建的Chromium引擎。

IronPDF還包括支持數位簽名和密碼保護的PDF加密,這對於需要安全處理的敏感文件至關重要。 PDFSharp未設計用於這些安全場景,因此有時有合規或文件保護需求的團隊會認為這是一個評估IronPDF的自然轉折點。

IronPDF提供了一個較廣泛的功能集和較全面的支持服務,相較於PDFSharp涵蓋HTML渲染、加密和數位簽名在單一的NuGet包中。 然而,它是一個商業產品,因此需求適合於PDFSharp基於坐標繪圖模型,且不需要HTML轉換或內建的安全功能的團隊可能更喜歡PDFSharp的MIT授權開源方式。

超過授權成本,總專案成本還包括用於組裝單獨渲染程式庫、管理復雜文件的基於坐標的頁面佈局和排除使用PDFSharp所需的多包設置的開發者小時數。 對於評估多年度專案生命週期成本的團隊來說,這些整合和維護成本通常會超過開源和商業授權之間的差距。

準備好了解IronPDF如何融入您的工作流程嗎? [下載免費30天試用](trial-license,來測試本比較中涵蓋的每個功能。

請注意: PDFsharp是一個其各自所有者的註冊商標。 本網站與PDFsharp無關,未經其認可或贊助。所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較僅供資訊參考,反映了撰寫時的公開可用資訊。
Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立