跳過到頁腳內容
使用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 儲存到指定的檔案路徑。

優點

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

缺點

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

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 文件),並透過將其包裝在基本的 <html><body> 範本中,將其轉換為完整的 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 轉換、表單處理和強化安全功能。

什麼是用於基本 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 庫如何為企業應用帶來顯著優勢?

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

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

是的,IronPDF開箱即用支持.NET 10。它被列為與.NET 10兼容,同時還支持版本9、8、7、6、Core、Standard和Framework,無需特殊解決方案。(ironpdf.com)

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