在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
C#的開發人員在讀取、寫入、創建或將PDF轉換為不同文件格式時一直面臨挑戰。 然而,隨著眾多函式庫的出現,這些問題已經得到解決,這些函式庫的簡單整合讓它們在C#應用程式中變得更加流行且易於使用。
本文旨在比較兩個最受 .NET Framework 和 .NET Core 開發人員歡迎的 PDF 庫:
專家PDF
這兩個庫都是 .NET C# 庫,提供用於生成、轉換和編輯 PDF 的方法,適用於 .NET 和 .NET Core。 主要問題是決定哪一個 C# PDF 函式庫最適合我們的專案。 在本文中,我們將以最全面的方式比較這兩個庫,強調它們的突出功能,讓您在為項目選擇合適的庫時做出明智的決策。
首先,讓我們看看這兩個函式庫各自提供了什麼,然後再進行比較。
IronPDF 是一個全面的 .NET PDF 庫解決方案,對 C# 開發者特別有利。 使用此函式庫,您可以輕鬆實現所有必要的功能,以在 C# 中創建一個優秀的 PDF 閱讀器或 PDF 檢視器。
IronPDF 擁有一個 .NET Chromium 引擎,用於將 HTML 內容渲染為 PDF 文件,使設計或定位 PDF 更加輕鬆,無需複雜的 API。它的 HTML 到 PDF 轉換器能夠使用 HTML5、CSS、JavaScript 和圖像創建 .NET PDF 庫。 此外,它允許您輕鬆編輯 PDF、添加頁眉和頁腳,並從 PDF 中提取圖片。 此外,它使閱讀 PDF 文本變得簡單易行。
請造訪 ExpertPDF 的官方網站以獲取詳細資訊了解有關他們的 .NET 庫的更多資訊,該庫為開發人員提供即時從 HTML 轉換為 PDF 的功能。 如果您需要生成 PDF 報告或製作 PDF 閱讀器,您不必再使用複雜的報告生成軟體。
ExpertPDF 易於使用,但同時也是一個功能強大的 PDF 編輯器。 它包含一個高級的 HTML 到 PDF 轉換器,可以在幾分鐘內實現到任何 .NET 應用程式中。 它適用於 .NET Framework、.NET Core、.NET 5 和 .NET 6。
這是功能強大的 .NET 程式庫,可協助您在 .NET Framework 或 .NET Core 應用程式中從任何網頁 URL、原始 HTML 標記、字串或檔案創建 PDF 檢視器和文檔。
以下是重要功能:
文件類型轉換:
PDF 轉文本轉換器
HTML 到 PDF 轉換器
HTML 轉換成圖片工具
PDF 轉換成圖像工具
本文的其餘部分將涵蓋以下主題:
建立一個控制台專案
IronPDF 安裝
ExpertPDF 安裝
從網址建立 PDF
從 HTML 輸入字串建立 PDF
將多個 PDF 合併成單個 PDF
將圖片轉換為 PDF
授權和定價
按照以下步驟使用 Visual Studio 2022 在 C# 中建立一個控制台應用程式:
打開 Visual Studio 2022 並點擊創建新項目
選擇 C# 主控台應用程式並點擊下一步。
接下來的畫面,輸入您的專案名稱並點擊下一步
現在我們的控制台專案已創建完成,我們準備好測試我們的函式庫。 然而,我們仍需將它們整合到我們的專案中。 首先安裝IronPDF。
有多種方式可以下載和安裝IronPDF庫。 如下:
使用 Visual Studio
直接下載 NuGet 套件
Visual Studio 本身提供了 NuGet 套件管理器來安裝 C# 專案中的所有 NuGet 套件。 您可以透過以下方式訪問:
在方案總管中右鍵點擊專案
選擇後,瀏覽 IronPDF NuGet 套件並安裝,如下圖所示:
另一種方法是從 NuGet 網站下載 IronPDF。訪問IronPDF NuGet 頁面直接下載套件。 按照以下步驟:
您也可以直接從網站下載 IronPDF 的 .DLL 檔案。IronPDF 網站. 點擊下載 IronPDF DLL安裝。
接下來,按照以下步驟在您的專案中引用IronPDF:
點擊確定,完成。!
全部完成! IronPDF 現已安裝完成,準備就緒。 不過,在此之前,我們將安裝ExpertPDF以進行比較。
有兩種方式下載和安裝 ExpertPDF Library:
下載組件(舊版 .NET Framework)
我們將使用新的 .NET Framework,因此我們將使用 NuGet Package Manager 安裝 ExpertPDF。
就像 IronPDF 一樣,您可以通過以下方式訪問 NuGet 套件管理器:
在方案總管中右鍵點擊專案
選擇後,瀏覽並安裝ExpertPDF NuGet套件,如下所示:
注意:ExpertPDF 僅支援 Windows 作業系統。
這兩個庫都能將HTML標記轉換為PDF。 現在,讓我們一一看看每個庫的 C# 程式碼。
IronPDF 在將現有 URL 的 HTML 渲染為 PDF 時非常簡單明瞭。 它對 CSS、JavaScript、圖片和表單提供了非常高的支持。
以下範例程式碼從網站 URL 直接建立 PDF。
using IronPdf;
ChromePdfRenderer Renderer = new ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
using IronPdf;
ChromePdfRenderer Renderer = new ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
Imports IronPdf
Private Renderer As New ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
'
Pdf.SaveAs("url.pdf")
ExpertPDF 使用 savePdfFromUrlToFile
方法將 URL 轉換為 PDF,該方法快速、安全且高效。 頁面的格式在實際的網絡瀏覽器上保持不變。
using ExpertPdf.HtmlToPdf;
PdfConverter pd = new PdfConverter();
pd.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
using ExpertPdf.HtmlToPdf;
PdfConverter pd = new PdfConverter();
pd.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
Imports ExpertPdf.HtmlToPdf
Private pd As New PdfConverter()
pd.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf")
IronPDF 和 Expert PDF 均提供從包含 HTML 的標記字符串創建 PDF 的功能。
以下程式碼片段演示了如何使用 HTML 輸入字串來渲染 PDF 文件圖像。
using IronPdf;
var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
// Load external html assets: images, css and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf");
using IronPdf;
var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
// Load external html assets: images, css and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf");
Imports IronPdf
Private Renderer = New ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf")
' Load external html assets: images, css and javascript.
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
Dim PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
PDF.SaveAs("html-with-assets.pdf")
ExpertPDF HTML To PDF 轉換器支援從 HTML 字串轉換為 PDF。 程式碼簡單且自我解釋,用於將 URL 轉換為 PDF:
using ExpertPdf.HtmlToPdf;
PdfConverter pd = new PdfConverter();
pd.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
using ExpertPdf.HtmlToPdf;
PdfConverter pd = new PdfConverter();
pd.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
Imports ExpertPdf.HtmlToPdf
Private pd As New PdfConverter()
pd.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf")
第一個參數是真正的 HTML 字串,第二個參數是將保存掃描文件的檔案名。
IronPDF 和 ExpertPDF 都提供將多個 PDF 文件合併成單一 PDF 文件的功能。這項功能對於整合分散的數據並更有效地通過互聯網發送非常有用。
以下程式碼呈現由不同 HTML 字串創建的兩個 PDF,然後使用 Merge
方法合併它們。 這一行程式碼非常容易使用。 渲染時可以向 PDF 設定添加更多選項。
using IronPdf;
var html_a = @"<p> [PDF_A] </p>
<p> [PDF_A] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_A] 2nd Page</p>";
var html_b = @"<p> [PDF_B] </p>
<p> [PDF_B] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_B] 2nd Page</p>";
var renderer = new ChromePdfRenderer();
var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b);
merged.SaveAs("Merged.pdf");
using IronPdf;
var html_a = @"<p> [PDF_A] </p>
<p> [PDF_A] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_A] 2nd Page</p>";
var html_b = @"<p> [PDF_B] </p>
<p> [PDF_B] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_B] 2nd Page</p>";
var renderer = new ChromePdfRenderer();
var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b);
merged.SaveAs("Merged.pdf");
Imports IronPdf
Private html_a = "<p> [PDF_A] </p>
<p> [PDF_A] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_A] 2nd Page</p>"
Private html_b = "<p> [PDF_B] </p>
<p> [PDF_B] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_B] 2nd Page</p>"
Private renderer = New ChromePdfRenderer()
Private pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
Private pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
Private merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b)
merged.SaveAs("Merged.pdf")
Merge
方法還提供了一個重載,允許接受多個以可枚舉物件形式表示的文件。 您可以在此中查看其使用範例IronPDF 合併 PDF 的程式碼範例.
請注意,如果合併的 PDF 文件包含可編輯的表單,則生成的 PDF 的表單欄位名稱將附加索引號碼。
ExpertPDF 使用合併 PDF 元件來完成此任務。 這必須從 NuGet 套件管理器安裝才能使用。 有一個 AppendPDFFile
方法可以將 PDF 檔案附加到 PDFMerge 類別物件中。 將先前由 ExpertPDF 創建的兩個 PDF 合併的代碼如下所示:
using ExpertPdf.MergePdf;
PDFMerge pDF = new PDFMerge();
pDF.AppendPDFFile("output.pdf");
pDF.AppendPDFFile("html-to-pdf.pdf");
pDF.SaveMergedPDFToFile("merged.pdf");
using ExpertPdf.MergePdf;
PDFMerge pDF = new PDFMerge();
pDF.AppendPDFFile("output.pdf");
pDF.AppendPDFFile("html-to-pdf.pdf");
pDF.SaveMergedPDFToFile("merged.pdf");
Imports ExpertPdf.MergePdf
Private pDF As New PDFMerge()
pDF.AppendPDFFile("output.pdf")
pDF.AppendPDFFile("html-to-pdf.pdf")
pDF.SaveMergedPDFToFile("merged.pdf")
IronPDF 能夠將各種圖像轉換為 PDF 文件,而 ExpertPDF 並不提供此功能。 然而,ExpertPDF 可以從 PDF 文件中提取圖像,並且還可以將 PDF 文件轉換為圖像,這也是 IronPDF 提供的功能。
在 IronPDF 中,可以使用 ImageToPdfConverter
類從一個或多個圖像輕鬆地創建 PDF 文件。 您可以從應用程式中的任何資料夾加載圖像。
// One or more images as IEnumerable. This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg")
f.EndsWith(".jpeg"));
// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
// One or more images as IEnumerable. This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg")
f.EndsWith(".jpeg"));
// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
IRON VB CONVERTER ERROR developers@ironsoftware.com
除了將各種圖片轉換為 PDF 檔案外,IronPDF 還可以將掃描的文件、紙質文件和商業文件轉換為單獨的圖片。 它還可以從這些類型的文件中提取圖像。
IronPDF 是一款完全開放的商用C# PDF程式庫可在 IronPDF 網站上獲取。它對於私人開發是免費的,並且可以隨時獲得商業用途的授權。 多種授權可用適用於單個專案、單個或多個開發人員、代理機構和全球企業。 它還支持 SaaS 和 OEM 重新分發。
所有許可證均提供 30 天退款保證,並附帶一年的支援和產品更新。 這些授權是永久性的,這意味著只需一次性購買,沒有額外的費用。 單個開發者和單個專案的 Lite 套件價格從 $749 起。
ExpertPDF 提供按開發者或公司購買授權。 您可以免費試用 ExpertPDF. 您可以在下圖中查看許可證功能列表。
ExpertComponents Toolkit Total 開發者授權從 $850 起,ExpertPDF Toolkit 從 $750 起。您也可以購買單個元件。 這ExpertPDF 的完整定價表可在網站上獲得。
IronPDF 本地渲染 HTML 到 PDF,因此不需要網際網路連線。 實際上,它隱式啟動一個真正符合標準的網頁瀏覽器物件。 HTML 渲染完全準確且為向量格式,符合商業印刷的最高標準。 輸出乾淨而且生成了高品質的PDF。 它可以獲得商業用途的許可,並且所有價格均已在其網站上列出,沒有任何隱藏費用。
ExpertPDF 的 HTML-to-PDF 轉換器庫是一個多功能工具,可以將網頁和 HTML 代碼轉換為 PDF 文件,從 ASP.NET 網頁生成 PDF 報告,甚至使用電子簽名簽署合同。 使用是免費的,但也可以授權獲取額外功能。
雖然這兩個庫都能夠處理 PDF 文件並從流行格式進行轉換,但 IronPDF 相較於 ExpertPDF 有一些優勢。 IronPDF 提供更廣泛的格式轉換,包括 XML、圖像和 AngularJS,並提供更強大的生成、格式化和編輯 PDF 功能。 IronPDF 是一個節省時間的解決方案,推薦給追求效率的務實開發者。
ExpertPDF 由需單獨安裝的各個組成部分構成,而 IronPDF 是一款將所有功能集成於一處的完整軟體。 ExpertPDF可能是僅需單一組件(例如HTML到PDF轉換)的專案的好選擇。 IronPDF 的套件提供終身許可證,沒有持續費用,而 ExpertPDF 需要續約。