IRONSOFTWAREHOME
PDF工具

如何免費為PDF設置密碼

Curtis Chau
Curtis Chau
Updated: 2026年7月19日

在 .NET 中處理 PDF 文件時,開發者經常發現需要比較各種程式庫,以決定哪一個最適合他們的專案需求。 .NET 生態系統中三個受歡迎的選擇是 PDFSharpQuestPDFIronPDF。 每個程式庫適用於不同的使用案例,並提供獨特的優勢和弱點。 在本文中,我們將對這些程式庫進行深入比較,探討它們如何處理基本的 PDF 生成,並附上此網址,以幫助您做出明智的決定。

什麼是PDFSharp?

PDFSharp 是一個設計用來建立、編輯和渲染 PDF 文件的開源程式庫。 PDFSharp 專注於簡單性和核心 PDF 功能,對於尋找簡單 PDF 操作能力的開發者來說,是一個可靠的工具。

PDFSharp 的主要功能

  • **PDF 建立和編輯:**生成新的 PDFs 或修改現有的。
  • **圖形繪製:**包括對繪製圖形、文字和圖像的支持。
  • **開源:**基於 MIT 授權,免費使用和修改。

安裝

通過使用 NuGet 套件管理器,很容易將 PDFSharp 安裝到您的專案中。 只需在 NuGet 套件管理器控制台中運行以下行:

PM > Install-Package PDFsharp

PDFSharp 程式碼範例

現在,讓我們來看看 PDFSharp 如何處理從指定 URL 建立新的 PDF 文件。 由於 PDFSharp 本身無法處理 HTML 或 URL 到 PDF 的轉換,我們需要整合一個網頁渲染引擎,如 HtmlRenderer.PdfSharp。此外,我們將使用 HttpClient 從指定 URL 檢索 HTML 內容。

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;

public class Program
{
    static async Task Main(string[] args)
    {
        // Ensure proper encoding support
        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
        
        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);
            
            // Generate PDF from the fetched HTML content
            var pdf = PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4);
            pdf.Save("output.pdf");
            
            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}

輸出 PDF 文件

PDFSharp 範例輸出

如您所見,雖然 PDFSharp 可用於將 HTML 內容和網頁轉換為 PDF 文件,但它需要額外的程式庫協助,並且無法保留原始網站上的任何 CSS 和格式。雖然是很棒的免費 PDF 開發者程式庫,但它確實缺乏一些在付費程式庫如 IronPDF 中可見的更高級的功能。

什麼是 QuestPDF?

QuestPDF 是一個現代化的開源程式庫,專注於使用流暢的 API 生成視覺上吸引人的 PDF。 它在文件佈局和渲染上的創新方法,使其在需要動態和複雜設計的應用中成為強有力的競爭者。

QuestPDF 的主要功能

  • **流暢 API:**提供聲明式的方法來定義文件佈局。
  • **現代化佈局系統:**受 CSS 啟發,支持網格、組件和靈活的佈局結構。
  • **高性能:**優化以快速渲染大型和複雜的文件。

安裝

由於此程式庫可作為 NuGet 套件安裝,安裝它是一個簡單的過程,只需在 NuGet 控制台中運行以下一行即可:

PM > Install-Package QuestPDF

QuestPDF 程式碼範例

現在是時候看看 QuestPDF 如何處理將我們的範例 URL 轉換為 PDF 格式了。 雖然 QuestPDF 沒有本地支持 URL 到 PDF 轉換,但您可以使用一個 HTTP 客戶端來獲取 HTML 內容,並使用 QuestPDF 的流暢 API 將其渲染為 PDF。

using System;
using System.Net.Http;
using System.Threading.Tasks;
using HtmlAgilityPack;
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

public class Program
{
    static async Task Main(string[] args)
    {
        // Configure QuestPDF to use the community license
        QuestPDF.Settings.License = LicenseType.Community;

        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);

            // Parse the HTML content using HtmlAgilityPack
            var htmlDoc = new HtmlDocument();
            htmlDoc.LoadHtml(htmlContent);
            
            // Extract meaningful content (e.g., text inside <body>)
            var bodyContent = htmlDoc.DocumentNode.SelectSingleNode("//body")?.InnerText ?? "No content found";

            // Generate PDF using QuestPDF
            Document.Create(container =>
            {
                container.Page(page =>
                {
                    page.Size(PageSizes.A4);
                    page.Margin(20);
                    page.Content().Text(bodyContent);
                });
            }).GeneratePdf("output.pdf");
            
            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}

輸出 PDF 文件

QuestPDF 範例輸出

就像 PDFSharp 一樣,雖然 QuestPDF 可以利用外部程式庫如 HtmlAgilityPack 將 HTML 內容轉換為 PDF,但它無法保持任何 CSS 樣式和格式。 雖然 QuestPDF 是想從頭開始建立 PDF 文件的任何人的好選擇,但 HTML 到 PDF 的轉換並不是這個程式庫的強項。

IronPDF:強大的 PDF 程式庫

IronPDF 是專為需要高級和全面 PDF 功能的 .NET 開發者設計的強大 PDF 程式庫。 它專注於 HTML 到 PDF 的渲染,結合了其他功能如高級 PDF 文件操作選項、加密和 PDF/A 符合性,使其成為企業級應用的強大選擇。

IronPDF的主要功能

  • **HTML 到 PDF:**輕鬆地呈現完整的網頁或HTML 字串作為 PDFs。
  • **PDF/A 符合性:**生成符合長期歸檔標準的文件。
  • **高級安全性:**支持加密、密碼保護數位簽名
  • **編輯 PDFs:**修改、合併和拆分現有的 PDF 文件。
  • **跨平台:**完全相容 .NET Framework、.NET Core 和 .NET 5+。

安裝

要安裝 IronPDF,請使用 Visual Studio 中的 NuGet 套件管理器:

使用 NuGet 套件管理器:

  1. 在Visual Studio中打開您的專案。
  2. 右鍵單擊解決方案資源管理器中的專案並選擇"管理NuGet包"。
  3. 搜尋"IronPDF"並點擊"安裝"。

IronPDF 安裝畫面

使用NuGet套件管理器控制台:

PM > Install-Package IronPdf

範例:使用 IronPDF 將 URL 轉換為 PDF

IronPDF 提供了一個簡單直接的 API,用於將 URLs 轉換為 PDFs。 以下是一個範例:

using IronPdf;

public class PdfConverter
{
    public static void Main(string[] args)
    {
        // Create a renderer with IronPdf
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Render the URL as a PDF
        PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");

        // Save the PDF
        pdf.SaveAs("url.pdf");
    }
}

輸出 PDF 文件

IronPDF 範例輸出

上面的程式碼範例展示了 IronPDF 如何輕鬆地通過幾行程式碼將 URL 內容轉換為 PDF。 如您所見,它不僅轉換了 HTML,還轉換了 CSS 樣式和佈局,確保輸出 PDF 保持原始格式。 通過使用ChromePdfRenderer 渲染引擎,IronPDF 生成像素級完美的 PDF 文件,在轉換過程中不損失任何內容的原始品質。

如這裡所見,IronPDF 是 HTML 到 PDF 轉換的強大選擇,還能將其他文件型別轉換為 PDF。 它以簡潔、易於實施的程式碼塊處理高品質的轉換工作。

詳細分析

易用性

PDFSharp 簡單易用,對於初學者或需要基本 PDF 功能的開發者來說是一個很好的選擇。 它的程式方法允許快速設置和實施,如向 PDF 新增文字、圖形或圖片等任務。 然而,它需要外部程式庫來處理 HTML 和 URL 到 PDF 的轉換工作。

另一方面,QuestPDF 提供了一種更現代化的方法,擁有流暢的 API。 有網頁或 UI 設計經驗的開發者會發現它直觀易用,但新手在習慣其以佈局為中心的設計理念時可能會面臨些許學習曲線。 再次強調,該程式庫缺乏內建的工具來處理 HTML 到 PDF 的轉換。

IronPDF 提供了最簡便的 HTML 到 PDF 轉換經驗和先進的 PDF 功能。 其直觀的 API 降低了實施所需的時間,並提供了詳盡的文件和範例。 IronPDF 可以處理多種不同文件型別轉換為 PDF 的工作,例如本文討論的 URL 到 PDF 轉換範例,且不會損失任何文件質量。

性能

性能是一個關鍵因素,特別是對於需要動態生成 PDF 的應用程式而言。 PDFSharp 對小型和簡單文件來說足夠,但在大規模或複雜佈局時會面臨困難。

QuestPDF 在呈現動態和視覺吸引力的文件上表現出色。 它經過優化以高效處理結構化佈局。

IronPDF 在性能和功能之間取得了出色的平衡,特別是在需要 HTML 渲染、CSS 和 JavaScript 支持的應用中。 它也能輕鬆處理企業級 PDF 任務。

比較總結

  • PDFSharp 是一個輕量且開源的程式庫,最適合基本的 PDF 建立和編輯工作。 它適合小型項目,但缺乏對現代佈局和先進功能的支持。
  • QuestPDF 在使用其流暢 API 生成動態、複雜且視覺吸引力的 PDFs 方面表現出色。 然而,它專注於 PDF 生成,不支持編輯現有的文件。
  • IronPDF 提供了最全面的功能集,包括內建的 HTML 到 PDF 轉換、OCR 和高級安全選項。 雖然需要商業授權,但其功能使其成為企業和專業應用的首選。

結論

為您的 .NET 項目選擇正確的 PDF 程式庫取決於您的具體需求。 如果您需要一個輕量、開源的工具來進行基本的 PDF 任務,PDFSharp 是一個不錯的選擇。 對於建立動態的、視覺吸引力的文件,QuestPDF 以其現代方法而脫穎而出。

然而,如果您需要高級功能、無縫的 HTML 到 PDF 轉換和企業級功能,請查看 IronPDF 的提供內容。

通過了解每個程式庫的優勢和限制,您可以做出明智的決定,以符合專案的需求。

請注意: PDFSharp 和 QuestPDF 是其各自所有者的註冊商標。 本網站與 PDFSharp 或 QuestPDF 無關,未獲其贊同或贊助。 所有產品名稱、徽標和品牌均為其各自所有者的財產。 比較僅供資訊參考,並反映了撰寫時的公開可用資訊。
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% 解鎖。無需信用卡。

OR
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天試用金鑰
無需信用卡或帳戶建立
QuestPDF Logo

厭倦了昂貴的續費和過時的產品更新?

QuestPDF輕鬆切換,透過我們的工程遷移支援和更好的交易。

C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999