跳至頁尾內容
使用 IRONPDF

C# 產生 PDF 的 7 個庫比較(免費和付費工具)

從建立報告到開票系統,C# 產生 PDF 的功能對於許多現代應用程式至關重要。 在本文中,我們將探討使用 C# 產生PDF檔案的六種流行方法,重點介紹基於程式碼的程式庫(如IronPDF )以及線上 API 和工具。 無論您是需要在 Web 應用程式中動態產生 PDF 文件,還是僅需要從現有文件建立 PDF 文件,這些工具都能滿足您的需求。

1. IronPDF

IronPDF是一個高級 .NET PDF 庫,專為需要高品質 HTML 轉 PDF 文件轉換的開發人員而設計。 IronPDF 使用基於 Chromium 的渲染引擎來確保精確轉換,因此對於希望將 HTML 頁面或基於 Web 的報告轉換為 C# 中的 PDF 文件的 Web 應用程式來說,這是一個完美的選擇。 該工具以其對現有 PDF 文件的強大處理能力而聞名,並提供編輯、合併或分割 PDF 的功能。

IronPDF 可以透過 NuGet 套件管理器輕鬆整合到 C# 專案中,只需幾行程式碼,即可開始產生 PDF 文件。 它是一款功能強大的工具,既可用於動態 HTML 內容,也可用於伺服器產生的 PDF 檔案輸出。

主要特點

  • HTML 轉 PDF 轉換: IronPDF 擅長將複雜的 HTML 頁面(包括對 JavaScript 執行和現代 CSS 的支援)直接轉換為 PDF。 它使用基於 Chromium 的渲染引擎,確保輸出效果與在網頁瀏覽器中看到的效果完全相同。
  • PDF 操作: IronPDF 讓您輕鬆合併、分割和修改現有的 PDF 文件。 -進階樣式選項: IronPDF 支援外部樣式表、自訂字體和 JavaScript,可讓您建立高度樣式化的文件。 它非常適合用於發票、報告和基於 Web 的內容。 -安全功能: IronPDF 提供新增密碼保護、數位簽章和設定權限等功能,以限制列印、複製或編輯 PDF 等操作。 -表單處理: IronPDF 允許開發人員以程式設計方式建立、填寫和讀取 PDF 表單,因此非常適合需要以 PDF 格式接收使用者輸入的應用程式。
  • NuGet 套件管理器:透過 Visual Studio 中的套件管理器控制台輕鬆安裝和管理。

程式碼範例

using IronPdf;

class Program
{
    static void Main()
    {
        string html = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>";

        // Create an instance of ChromePdfRenderer
        ChromePdfRenderer renderer = new ChromePdfRenderer(); 

        // Render the HTML as a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html); 

        // Save the PDF to a specified file
        pdf.SaveAs("Generated.pdf"); 
    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        string html = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>";

        // Create an instance of ChromePdfRenderer
        ChromePdfRenderer renderer = new ChromePdfRenderer(); 

        // Render the HTML as a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html); 

        // Save the PDF to a specified file
        pdf.SaveAs("Generated.pdf"); 
    }
}
$vbLabelText   $csharpLabel

1.命名空間導入: using IronPdf;導入 IronPDF 庫以存取其類別和方法。

  1. HTML 字串:變數"html"包含要轉換為 PDF 的 HTML 內容。 3.渲染器實例: new ChromePdfRenderer();建立 ChromePdfRenderer 類別的實例,提供將 HTML 內容渲染為 PDF 格式的方法。 4.渲染 PDF: PdfDocument pdf = renderer.RenderHtmlAsPdf(html);將 HTML 字串轉換為 PDF 文件。 5.儲存 PDF: pdf.SaveAs(&quot;Generated.pdf&quot;);將產生的 PDF 儲存到指定的檔案路徑。

優點

  • 網頁內容渲染品質極佳。
  • 對表單、超連結和書籤提供強大的支援。

缺點

  • 對於大型項目,許可證費用可能是需要考慮的因素。
  • 更進階的功能可能需要更深入的學習。

2. iTextSharp

C# 產生 PDF 的 7 個庫比較(免費和付費工具):圖 2

iTextSharp是一個成熟的 .NET PDF 函式庫,提供用於建立和編輯 PDF 檔案的豐富功能。 它廣泛應用於金融和法律等行業,在這些行業中,文件需要進行客製化和安全保護。 iTextSharp 可讓您從頭開始建立 PDF 文件、填寫表單和修改 PDF 文件,從而對文件內容提供廣泛的控制。 它對於需要產生具有精確佈局和動態資料的 PDF 文件(例如發票或合約)的企業應用程式尤其有用。

主要特點

-完整的 PDF 建立功能: iTextSharp 可以輕鬆地從頭開始用 C# 建立 PDF 文件,讓開發人員可以添加文字、圖像、表格和向量圖形。 它提供了對文件佈局的完全控制,包括定義頁面大小、邊距和元資料的功能。 -表單填寫: iTextSharp 的一個顯著優勢是能夠處理 PDF 表單(AcroForms)。 您可以建立包含各種輸入欄位的表單,然後透過程式設計方式填入它們,此功能在自動化文件產生工作流程中非常有用。

  • XML 到 PDF 轉換: iTextSharp 具有強大的支持,可使用 XFA(XML 表單架構)將 XML 資料轉換為 PDF。 這在需要將 XML 資料格式化為標準格式或報告的行業中尤其有價值。
  • PDF 安全性: iTextSharp 包含進階功能,例如新增加密、數位簽章和浮水印,以確保文件真實性並保護敏感資料。 -文本提取和處理:您可以從現有的 PDF 中提取文本,重新排列文檔內容,或處理頁面元素,這使其可用於對文檔進行後處理或從複雜的 PDF 生成摘要報告。

程式碼範例

using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;

namespace Helpers
{
    public class PdfGenerator
    {
        public static byte[] GeneratePdfFromFragment(string htmlFragment)
        {
            var html = string.Format(@"
            <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
            <head>
            <style type='text/css'>
            table,td {{border: 1px solid black;}}
            div {{ white-space: nowrap; padding: 2px;}}
            table{{ border-collapse: collapse; width: 100%; empty-cells: show;}}
            body table {{font-size: 50%;}}
            th {{width:500px; height: 28px;}}
            td {{width:300px; height: 28px;}}
            </style>
            </head><body>{0}</body></html>", htmlFragment);
            return Generate(html);
        }

        public static byte[] GeneratePdfFromPage(string htmlPage)
        {
            return Generate(htmlPage);
        }

        private static byte[] Generate(string html)
        {
            using (var memoryStream = new MemoryStream())
            {
                var pdfDocument = new Document(PageSize.LETTER);
                var pdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream);
                pdfDocument.Open();
                using (var fw = new StringReader(html))
                {
                    XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw);
                }
                pdfDocument.Close();
                return memoryStream.ToArray();
            }
        }
    }
}
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;

namespace Helpers
{
    public class PdfGenerator
    {
        public static byte[] GeneratePdfFromFragment(string htmlFragment)
        {
            var html = string.Format(@"
            <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
            <head>
            <style type='text/css'>
            table,td {{border: 1px solid black;}}
            div {{ white-space: nowrap; padding: 2px;}}
            table{{ border-collapse: collapse; width: 100%; empty-cells: show;}}
            body table {{font-size: 50%;}}
            th {{width:500px; height: 28px;}}
            td {{width:300px; height: 28px;}}
            </style>
            </head><body>{0}</body></html>", htmlFragment);
            return Generate(html);
        }

        public static byte[] GeneratePdfFromPage(string htmlPage)
        {
            return Generate(htmlPage);
        }

        private static byte[] Generate(string html)
        {
            using (var memoryStream = new MemoryStream())
            {
                var pdfDocument = new Document(PageSize.LETTER);
                var pdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream);
                pdfDocument.Open();
                using (var fw = new StringReader(html))
                {
                    XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw);
                }
                pdfDocument.Close();
                return memoryStream.ToArray();
            }
        }
    }
}
$vbLabelText   $csharpLabel
  1. GeneratePdfFromFragment:接收一個 HTML 片段(例如部分 HTML 文件),並透過將其包裝在一個基本的 Pdf 文件中,將其轉換為完整的 HTML 結構。<html>模板。 然後它調用內部的Generate方法。
  2. GeneratePdfFromPage:接受一個完整的 HTML 頁面,並直接呼叫Generate方法。 3.產生:此方法處理 HTML 到 PDF 的轉換。
    • 初始化 MemoryStream 以將產生的 PDF 保存在記憶體中。
    • 建立一個具有信紙大小頁面的 iTextSharp 文件物件。
    • XMLWorkerHelper 解析 HTML 內容,並使用提供的 StringReader 將其寫入 PDF 文件。

優點

  • 高度可自訂,功能豐富。
  • 豐富的文件資料和社群支援。

缺點

  • iTextSharp (個人使用免費,但大型專案需要商業許可)在處理複雜的 CSS 或 JavaScript 時可能存在限制。
  • XMLWorker (此處使用)是 iTextSharp 中用於解析 HTML/CSS 的一個已棄用的工具。 iText7(iText 的新版本)使用更強大的 HTML 解析器pdfHTML ,可以更好地支援現代 Web 標準。
  • 對初學者來說,學習曲線更陡峭。

3. PDFsharp

C# 產生 PDF 的 7 個庫比較(免費和付費工具):圖 3

PDFSharp是一個輕量級的開源 .NET PDF 函式庫,非常適合基本的 PDF 建立任務。 如果您的應用程式只需要添加文字、圖像或表格等簡單操作,PDFSharp 是一個易於使用的 C# 生成 PDF 文件的選項。 它缺少 HTML 轉 PDF 等高級功能,但它在 C# 中生成中小型 PDF 文件方面非常簡潔。

主要特點

-基本 PDF 建立:簡單易用的 API,用於繪製文字和圖形。 非常適合建立簡單的文件。 -文件操作:輕鬆合併和修改現有 PDF,實現文件管理的靈活性。 -繪圖和圖形支援: PDFsharp 提供了一套在 PDF 頁面上繪圖的工具,包括線條、矩形和其他向量圖形。 它還支援將圖片嵌入到 PDF 文件中。 -免費開源: PDFsharp 完全免費,可用於商業和非商業用途,對於從事開源專案的小型企業和開發人員來說,這是一個很有吸引力的選擇。

程式碼範例

using PdfSharp.Pdf;
using PdfSharp.Drawing;

class Program
{
    static void Main()
    {
        // Create a new PDF document
        PdfDocument document = new PdfDocument();
        document.Info.Title = "Created with PdfSharp";

        // Add a page to the document
        PdfPage page = document.AddPage();

        // Create an XGraphics object to draw on the page
        XGraphics gfx = XGraphics.FromPdfPage(page);

        // Set a font to use for drawing text
        XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

        // Draw the text on the PDF page
        gfx.DrawString("Hello, World!", font, XBrushes.Black, 
                       new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);

        // Save the document to disk
        document.Save("Generated.pdf");
    }
}
using PdfSharp.Pdf;
using PdfSharp.Drawing;

class Program
{
    static void Main()
    {
        // Create a new PDF document
        PdfDocument document = new PdfDocument();
        document.Info.Title = "Created with PdfSharp";

        // Add a page to the document
        PdfPage page = document.AddPage();

        // Create an XGraphics object to draw on the page
        XGraphics gfx = XGraphics.FromPdfPage(page);

        // Set a font to use for drawing text
        XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

        // Draw the text on the PDF page
        gfx.DrawString("Hello, World!", font, XBrushes.Black, 
                       new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);

        // Save the document to disk
        document.Save("Generated.pdf");
    }
}
$vbLabelText   $csharpLabel
  • PdfDocument:表示整個 PDF 文件。 您可以新增頁面、設定元資料和操作文件。
  • PdfPage:表示文件中的單一頁面。 使用AddPage方法新增頁面。
  • XGraphics:用於在特定頁面上繪製文字、圖像和形狀。 它類似於 .NET 中的 GDI+。
  • XFont:指定文字渲染的字體和樣式。 在這個例子中,"Verdana"字體採用了粗體樣式。
  • DrawString:在文件中指定的位置繪製指定的字串。

優點

  • 免費開源,無任何授權限制。
  • 簡單輕便,方便使用者上手進行基本的 PDF 產生。
  • 適用於不需要複雜功能的項目。

缺點

與其他庫相比,功能有限。

  • 不支援將 HTML 轉換為 PDF。

4. Syncfusion PDF 庫

C# 產生 PDF 的 7 個庫比較(免費和付費工具):圖 4

Syncfusion PDF Library是一款高效能、功能全面的工具,專為需要在各種應用程式中處理 PDF 的企業而設計。 它是 Syncfusion 套件的一部分,該套件提供適用於各種格式和平台的庫。 PDF 庫之所以脫穎而出,是因為它擁有豐富的功能集,不僅限於簡單的文件創建,還允許進行詳細的操作,包括表單填寫、數位簽章和文件安全。

主要特點

-全面的 PDF API:能夠產生高度客製化的 PDF,包括具有複雜佈局、嵌入式字體和高解析度圖像的 PDF。 提供對 PDF 創建各個方面的詳細控制,從頁面格式到高級佈局選項。 -表單處理:此程式庫擅長建立、填寫並從互動式 PDF 表單(AcroForms)中提取資料。 可用於建立使用者可填寫的 PDF 檔案、自動資料輸入或處理已填寫的表單。 -數位簽章和加密:提供強大的安全功能,包括加密 PDF 文件、新增密碼保護和應用數位簽章。 對於醫療保健和法律服務等需要文件真實性和安全性的行業來說,這一點至關重要。

程式碼範例

using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;

class Program
{
    static void Main()
    {
        // Create a new PDF document.
        PdfDocument document = new PdfDocument();

        // Add a page to the document.
        PdfPage page = document.Pages.Add();

        // Create PDF graphics for the page.
        PdfGraphics graphics = page.Graphics;

        // Set the standard font.
        PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 20);

        // Draw the text.
        graphics.DrawString("Hello World!!!", font, PdfBrushes.Black, new PointF(0, 0));

        // Save the document.
        document.Save("Output.pdf");

        // Close the document.
        document.Close(true);
    }
}
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;

class Program
{
    static void Main()
    {
        // Create a new PDF document.
        PdfDocument document = new PdfDocument();

        // Add a page to the document.
        PdfPage page = document.Pages.Add();

        // Create PDF graphics for the page.
        PdfGraphics graphics = page.Graphics;

        // Set the standard font.
        PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 20);

        // Draw the text.
        graphics.DrawString("Hello World!!!", font, PdfBrushes.Black, new PointF(0, 0));

        // Save the document.
        document.Save("Output.pdf");

        // Close the document.
        document.Close(true);
    }
}
$vbLabelText   $csharpLabel
  • PdfDocument:表示 PDF 文件。 您可以新增頁面、設定屬性並操作其內容。
  • PdfPage:表示 PDF 文件中的一頁。
  • PdfFont:定義用於渲染文字的字體。 本例中使用的是標準的Helvetica字型。
  • DrawString:在給定座標處將指定的字串繪製到 PDF 頁面上。

優點

  • 功能豐富,適合建立複雜的PDF檔案。
  • 專業的支援和文件使其成為大規模應用的理想選擇。
  • 支援進階 PDF 功能,如表單填寫、加密和註釋。

缺點

  • 商業用途的授權費用相對較高。
  • API 較為複雜,可能需要一段時間才能掌握。

5. PDFShift(線上工具)

C# 產生 PDF 的 7 個庫比較(免費和付費工具):圖 5

PDFShift是一款基於雲端的服務,旨在將 HTML 轉換為 PDF 檔案。 它透過 API 與 C# 應用程式無縫集成,使您可以將動態生成的 HTML 網頁轉換為專業品質的 PDF。 PDFShift 對於希望根據 HTML 內容(例如發票或報告)按需產生 PDF 文件的 Web 開發人員來說尤其有用。 由於 PDFShift 完全透過其 REST API 運行,您只需向該服務發送幾行 HTML 程式碼,即可收到可下載的 PDF 檔案。 這是一個簡單、可擴展的基於 Web 的 PDF 文件生成解決方案。

主要特點

  • HTML 轉 PDF 轉換: PDFShift 擅長將 HTML 文件轉換為高品質的 PDF。 它可以處理複雜的 CSS 樣式、JavaScript 和響應式設計佈局,確保您的網頁在 PDF 格式中看起來完全一樣。
  • API 整合: PDFShift API 旨在與 Web 應用程式無縫整合。 使用方法很簡單:只需傳送包含 HTML 內容的 HTTP POST 請求,服務就會傳回 PDF 文件。 -自訂選項:允許自訂產生的 PDF,包括設定頁面大小、方向、邊距和頁首/頁尾。 您也可以為頁首和頁尾新增動態內容,例如頁碼或文件元資料。

工作原理

  • 傳送包含 HTML 內容的 POST 請求給 PDFShift API 端點。
  • 收到產生的 PDF 文件,即可下載或儲存。

範例程式碼

using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = "<h1>Hello, World!</h1><p>This is generated using PDFShift API.</p>";
            var content = new StringContent(htmlContent, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync("https://api.pdfshift.io/v3/convert", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = "<h1>Hello, World!</h1><p>This is generated using PDFShift API.</p>";
            var content = new StringContent(htmlContent, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync("https://api.pdfshift.io/v3/convert", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
$vbLabelText   $csharpLabel
  • HttpClient:將 HTML 內容作為 POST 請求傳送到 PDFShift API。
  • PostAsync:向 API 發送請求,API 處理 HTML 並返回 PDF。
  • ReadAsByteArrayAsync:將 PDF 回應讀取為位元組數組,然後可以將其儲存為檔案。

優點

  • 簡單易用的API,設定極少。
  • 非常適合需要動態 HTML 到 PDF 轉換的 Web 應用程式。
  • 無需管理 PDF 庫或伺服器。

缺點

  • 僅限於HTML轉PDF; 不支援更複雜的PDF功能。
  • 需要網路連接,超過一定使用量後會產生費用。

6. DocRaptor(線上工具)

C# 產生 PDF 的 7 個庫比較(免費和付費工具):圖 6

DocRaptor是另一款功能強大的基於 API 的 PDF 生成服務,可將 HTML 和 CSS 轉換為高品質的 PDF。 它以出色的 HTML 文件渲染能力而聞名,尤其擅長處理複雜的 CSS 樣式、媒體查詢和 Web 字體。 這使得 DocRaptor 成為直接從 HTML 範本產生報告、發票和電子書等專業外觀文件的絕佳選擇。

主要特點

  • HTML 和 CSS 支援:轉換具有複雜 CSS 樣式(包括媒體查詢和字體)的 HTML 文件。
  • API 整合: REST API,可無縫整合到 Web 應用程式中。 -自訂頁首/頁尾:新增動態頁首和頁腳,包括頁碼和自訂格式。
  • PDF 安全性:支援加密和密碼保護。

工作原理

  • 向 DocRaptor API 發送帶有 HTML 內容的 POST 請求。
  • 透過設定頁面大小、邊距、頁首和頁尾等參數來自訂 PDF 輸出。
  • 收到產生的 PDF 檔案。

範例程式碼

using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string apiKey = "YOUR_API_KEY";
            string htmlContent = "<h1>Professional Report</h1><p>Generated using DocRaptor API.</p>";
            string jsonData = $"{{\"test\": true, \"document_content\": \"{htmlContent}\", \"name\": \"Generated.pdf\", \"document_type\": \"pdf\"}}";
            var content = new StringContent(jsonData, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync($"https://docraptor.com/docs?user_key={apiKey}", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string apiKey = "YOUR_API_KEY";
            string htmlContent = "<h1>Professional Report</h1><p>Generated using DocRaptor API.</p>";
            string jsonData = $"{{\"test\": true, \"document_content\": \"{htmlContent}\", \"name\": \"Generated.pdf\", \"document_type\": \"pdf\"}}";
            var content = new StringContent(jsonData, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync($"https://docraptor.com/docs?user_key={apiKey}", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
$vbLabelText   $csharpLabel
  • API 金鑰:使用 DocRaptor 時,您必須提供 API 金鑰進行驗證。 請將"YOUR_API_KEY"替換為您的實際密鑰。
  • JsonData:此 JSON 字串包含 HTML 內容、文件名稱和類型(本例為 PDF)。
  • PostAsync:將 HTML 內容和參數傳送到 DocRaptor API 以產生 PDF。

優點

  • 高品質渲染,完全支援 HTML、CSS 和 JavaScript。
  • 文件佈局和安全性方面的高級自訂選項。
  • 無需維護 PDF 生成庫或基礎設施。

缺點

  • 超出免費使用限額後,需付費使用服務。
  • 取決於網路連線。

7. 無需程式碼的線上工具

如果您不想編寫程式碼或需要快速產生 PDF 的解決方案,可以使用一些線上工具輕鬆快速地建立 PDF。 以下是一些值得關注的選擇:

7.1. Smallpdf

C# 產生 PDF 的 7 個庫比較(免費和付費工具):圖 7

Smallpdf是一個線上平台,提供各種 PDF 相關工具,包括從多種文件格式建立 PDF 的功能。 它專為那些想要簡單拖放介面而無需編寫程式碼的用戶而設計。 Smallpdf 廣泛用於快速文件轉換,例如將 Word 文件、Excel 表格或圖像轉換為 PDF。 它還提供了合併、壓縮和分割 PDF 的工具,使其成為執行基本 PDF 任務的多功能工具。

主要特點

-檔案轉換:支援將 Word、Excel、PowerPoint 和圖片檔案(JPG、PNG)轉換為 PDF。 這使其成為需要快速從各種文件類型建立 PDF 的使用者的理想選擇。 -合併和分割 PDF:提供一個簡單的介面,可以將多個 PDF 合併成一個文件,或將 PDF 拆分成單獨的頁面。 -雲端儲存整合:您可以輕鬆地從 Google Drive 或 Dropbox 上傳文件,並將轉換後的 PDF 保存回這些平台,從而簡化文件管理。

  • PDF 編輯工具:提供基本的 PDF 編輯工具,用於編輯任何現有的 PDF 文檔,例如新增註釋、填寫表單和進行數位簽章。

優點

  • 對非開發人員來說也非常容易使用。
  • 基本功能免費,升級可獲得更多功能。
  • 提供各種與 PDF 相關的工具,例如合併、分割和壓縮 PDF。

缺點

與基於程式碼的解決方案相比,可自訂性有限。 免費版可能存在一些功能限制。

7.2. PDFescape

C# 產生 PDF 的 7 個庫比較(免費和付費工具):圖 8

PDFescape是一款易於使用的基於 Web 的 PDF 編輯器,使用者無需安裝任何軟體即可建立、編輯和檢視 PDF 檔案。 對於需要快速編輯 PDF 文件(例如填寫表格、添加文字註釋或插入圖像)的用戶來說,這是一個很棒的工具。 PDFescape 還提供從頭開始建立新 PDF 的工具,使其成為基本文件建立的靈活選擇。

主要特點

-表格填寫與編輯:擅長處理 PDF 表格。 使用者可以輕鬆填寫 PDF 文件中的表格或編輯現有字段,這對於合約、申請表和其他表格非常有用。 -基本 PDF 建立:提供新增文字、形狀、圖像和表單欄位的工具。 適用於建立簡單的文檔,例如信件或表格。 -註釋和評論:在現有 PDF 中新增評論、便條和其他註釋,使 PDFescape 成為文件審查和協作的絕佳工具。 -無需安裝:完全在瀏覽器中運行,因此無需安裝任何軟體。 這使其成為需要隨時隨地快速存取 PDF 工具的用戶的理想選擇。

優點

  • 非技術用戶也能輕鬆使用。
  • 免費版提供基本的 PDF 建立和編輯功能。
  • 適用於簡單的PDF編輯任務。

缺點

  • 缺少建立複雜 PDF 檔案的進階功能。
  • 設計和格式選項有限。

7.3. PDF糖果

C# 產生 PDF 的 7 個庫比較(免費和付費工具):圖 9

PDF Candy是一套免費的線上 PDF 工具,涵蓋了從文件轉換到編輯的各種 PDF 相關任務。 對於需要快速執行 PDF 操作但又不想註冊帳號或安裝軟體的用戶來說,這是一個絕佳的選擇。 PDF Candy 支援將各種文件類型(例如 Word 文件、圖像和文字檔案)轉換為 PDF。 它還提供了合併、拆分和壓縮 PDF 的工具。

主要特點

-多種轉換選項:可將多種文件格式(包括 Word 文件、圖像和文字檔案)轉換為 PDF。 這使其成為處理不同類型內容的靈活工具。 -合併和分割 PDF:允許使用者將多個 PDF 合併為一個,或將大型 PDF 拆分為更小、更易於管理的文件。 -文件隱私:短時間內自動從伺服器刪除文件,確保您的文件保持隱私。 -免費使用:大多數工具無需註冊即可免費使用,因此可供廣大用戶使用。 不過,它也提供高級版本,具有更高級的功能,適合需要更頻繁使用或轉換更大文件的用戶。

優點

  • 使用方便,而且對大多數用戶來說完全免費。
  • 支援將多種文件類型轉換為 PDF。
  • 基本使用無需註冊帳戶。

缺點

  • 進階PDF自訂功能有限。
  • 某些工具可能對檔案大小或轉換複雜度有限制。

結論

C# 產生 PDF 的 7 個庫比較(免費和付費工具):圖 10

在 C# 中選擇合適的工具來產生 PDF 檔案取決於您的需求。 如果您需要從 HTML 內容產生 PDF 文檔,IronPDF 和 PDFShift 都是不錯的選擇。 iTextSharp 和 Syncfusion 為更複雜的專案提供了廣泛的自訂選項和對文件結構的控制。 對於更簡單、開源的解決方案,PDFsharp 是修改 PDF 檔案或建立基本 PDF 的可靠選擇。 最後,對於非開發人員,Smallpdf、PDFescape 和 PDF Candy 提供了簡單、無需程式碼即可處理 PDF 文件的選項。

對於有興趣嘗試[IronPDF 的](trial license)用戶來說,這是一個絕佳的選擇,開發者可以在購買付費許可證之前測試其 HTML 到 PDF 的轉換和 PDF 操作功能。 試用版讓您可以探索其高級功能,例如高品質 PDF 文件生成、安全選項和修改現有 PDF 文檔,讓您親身體驗該工具的功能。 如果您的專案需要經常將 HTML 轉換為 PDF 或進行複雜的 PDF 編輯,IronPDF 的免費試用版是了解它是否符合您的需求的絕佳方式。

透過評估每種工具的特定功能和專案範圍,您可以選擇在 C# 中高效產生 PDF 檔案的最佳解決方案。

常見問題解答

如何在C#中將HTML轉換為PDF?

您可以使用 IronPDF 的RenderHtmlAsPdf方法將 HTML 字串轉換為 PDF。您也可以使用RenderHtmlFileAsPdf將 HTML 檔案轉換為 PDF。

免費和付費的 C# PDF 庫有什麼區別?

像 PDFsharp 這樣的免費庫非常適合基本的 PDF 創建和操作,而像 IronPDF 這樣的付費庫則提供 HTML 轉 PDF、表單處理和增強安全性等高級功能。

在 C# 中,用於基本 PDF 處理的最佳開源程式庫是什麼?

PDFsharp 是一個輕量級的開源 .NET PDF 函式庫,非常適合基本的 PDF 建立任務。它可免費用於商業和非商業用途。

iTextSharp 如何支援安全建立 PDF 文件?

iTextSharp 提供豐富的自訂選項,用於建立安全的 PDF 文檔,包括支援數位簽章和加密,使其適用於需要安全文件處理的行業。

我可以在 C# 應用程式中使用線上工具將 HTML 轉換為 PDF 嗎?

是的,像 PDFShift 和 DocRaptor 這樣的線上工具提供了基於 API 的 HTML 到 PDF 轉換功能,這對於需要動態產生 PDF 的 Web 應用程式來說是理想的選擇。

使用基於 Chromium 的渲染引擎的庫來產生 PDF 有哪些優勢?

IronPDF 等庫使用基於 Chromium 的渲染引擎,提供高品質的 HTML 到 PDF 轉換,並支援複雜的樣式和 JavaScript。

Syncfusion PDF Library 如何讓企業應用程式受益?

Syncfusion PDF 庫為企業應用程式提供全面的功能,包括表單處理、數位簽章和加密,使其非常適合複雜的專業需求。

IronPDF 是否相容於即將發布的 .NET 10 版本?

是的-IronPDF 開箱即用,支援 .NET 10。它與 .NET 9、8、7、6、Core、Standard 和 Framework 版本一樣,都被列為 .NET 10 的相容版本,無需任何特殊設定。 (ironpdf.com)

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。