在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
從不同格式創建、閱讀、寫入和轉換 PDF 一直是開發人員面臨的挑戰任務。隨著眾多庫的完成,這些問題現在已經解決。此外,這些庫的易於整合使其在 C# 應用程序中更受歡迎且更容易使用。
這篇文章將比較兩個最受 .NET 和 .NET Core 開發人員歡迎的 PDF 庫。這兩個庫是:
IronPDF 和 PDFTron 都是提供創建、操作和 列印 PDF 在 .NET 和 .NET Core 中。下一個問題是決定哪個 C# PDF函式庫 最適合您的 .NET 專案。您可以在閱讀以下兩個圖書館及其在 PDF 轉換和操作方面的特點比較後進行決定。
我們首先來看看這兩個圖書館各自提供的功能,然後進行比較。
IronPDF .NET PDF Library 解決方案是開發人員的夢想,特別是使用 C# 的軟體工程師。您可以使用這個出色的工具輕鬆創建 .NET 核心 PDF 庫。
IronPDF 使用 .NET Chromium 引擎將 HTML 頁面渲染為 PDF 文件。通過 HTML 到 PDF,不需要使用複雜的 API 來定位或設計 PDF。IronPDF 支持標準網頁文件:HTML、ASPX、JS、CSS 和圖像。
它還能讓您使用 HTML5、CSS、JavaScript 和圖像創建 .NET PDF 庫。您可以輕鬆編輯、加蓋印章、並在 PDF 中添加頁首和頁尾。進一步的,使其變得非常容易 讀取 PDF 文本和提取图片。
IronPDF C# 库 — 突出特性
一些重要的功能包括:
创建 PDF (HTML轉PDF)**
在無需Adobe Acrobat的情況下編輯現有的PDF文件
操作現有的PDF文件
多格式轉換
保存和列印
注意: 您還可以查看IronPDF以外的其他產品,因為您現在可以購買Iron Suite for .NET並以兩個的價格獲得五個許可證,讓您擁有IronPDF、IronOCR、IronXL、IronBarcode和IronWebscraper。
PDFTron SDK 是內建的,為任何大小和複雜度的數字內容提供準確且可靠的呈現功能。它將 PDF、CAD & MS Office 功能帶入 Windows、Mac OS、Linux、Android、iOS 和網絡的任何軟件中。
PDFTron Systems Inc. 是一個全面的跨平台 PDF 和 Office SDK,允許您撰寫獨立的、跨平台的和可靠的商業應用程序。PDFTron 的 PDFnet SDK 是一個高質量、行業強度的 .NET PDF 庫。 (支援 WPF/WinForms) 適用於最苛刻和多樣的應用程序。
PDFtron .NET PDF C# 庫 — 突出功能
一些重要功能包括:
從多種格式轉換
本文其餘部分將探討以下主題:
創建項目
安裝 IronPDF C# 庫
安裝 PDFTron SDK
從現有 URL 創建 PDF
從 HTML 輸入字符串創建 PDF
將 ASPX 頁面轉換為 PDF
將圖像轉換為 PDF
許可
使用以下步驟來創建一個ASP.NET網站:
圖 1 – 新專案對話框
圖2 – 網頁表單
現在專案已經建立,我們幾乎準備好測試這些函式庫了。然而,我們仍然需要將它們安裝並整合到專案中。讓我們先安裝IronPDF。
有四種方式下載和安裝 IronPDF 庫。這些方法如下:
使用 Visual Studio
開發者命令提示字元
直接下載 NuGet 包
讓我們仔細看看每一種方法。
Visual Studio 提供了 NuGet 套件管理器來安裝項目中的 NuGet 套件。你可以透過專案選單或在解決方案總管中右鍵點擊你的專案來訪問它。
圖3 – 解決方案總管
圖4 – 專案選單 > 管理 NuGet 套件
選定後,瀏覽 IronPDF 套件並安裝,如下圖所示。
圖 5 – 從 NuGet 套件安裝 IronPDF
另一種下載和安裝 IronPDF C# 庫的方法是通過以下步驟來使用開發者命令提示符安裝 IronPDF NuGet 包。
輸入以下命令:
Install-Package IronPdf
第三種下載和安裝 IronPDF 的方法是按照以下步驟操作。這可以通過直接訪問 NuGet 網站並下載套件來完成。步驟如下:
您可以直接從網站下載 IronPDF .DLL 文件。可以直接從 IronPDF DLL下載將庫引用到您的專案中,請按照以下步驟進行:
完成! IronPDF已下載、安裝並準備就緒。不過,在此之前,我們應該先安裝PDFTron。
以下步驟幫助您為使用者設置 PDFtron SDK。
本文使用 PDFNET_BASE 作為解壓縮後資料夾的路徑。
PDFNET_BASE = path/to/extraction/folder/PDFNetDotNet4/
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
' Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
注意:PDFTron 會收集一些有關您使用 SDK 的數據以改進產品。
在 Visual Studio 中為您首選的程式語言創建一個新的 .NET Framework 控制台應用程式項目。您可以在 Visual C# 類別中找到它們。
進入您的專案資料夾。預設路徑應類似於:C:/Users/User_Name/source/repos/myApp
將 PDFNET_BASE 中的 Lib 資料夾複製到您的專案資料夾中 (包含您的 .csproj 檔案的資料夾).
在右側找到方案總管。右鍵點擊「參考」,並選擇「添加參考」選項。這會打開一個參考管理員對話框。
點擊對話框底部的「瀏覽...」按鈕。導航到已複製的 Lib 文件夾,並將 PDFNetLoader.dll 添加到參考中。
同樣,從 x86 文件夾中添加適當版本的 PDFNet.dll 作為另一個參考。 (path/to/your/project/folder/Lib/PDFNet/x86/PDFNet.dll). 這個版本將允許應用程式在32位和64位操作系統上運行。
圖6 – PDFTron - copy_local_false
<configuration>
<runtime>
<loadFromRemoteSources enabled="true" />
</runtime>
</configuration>
<configuration>
<runtime>
<loadFromRemoteSources enabled="true" />
</runtime>
</configuration>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<configuration> <runtime> <loadFromRemoteSources enabled="true" /> </runtime> </configuration>
xcopy $(ProjectDir)Lib\PDFNet $(TargetDir)PDFNet /S /I /Y
xcopy $(ProjectDir)Lib\PDFNet $(TargetDir)PDFNet /S /I /Y
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'xcopy $(ProjectDir)Lib\PDFNet $(TargetDir)PDFNet /S /I /Y
本部分將介紹 NuGet 的整合步驟。
執行手動整合的前兩步。
右鍵點擊專案的 Dependencies,然後點擊 Manage NuGet Packages... 這將開啟 NuGet 套件管理器。
點擊套件管理器頂部附近的 Browse 標籤。在搜索欄中輸入:PDFTron.NET.x64
圖7 – PDFTron - 使用 NuGet 套件安裝
這兩個資料庫都提供了將 HTML 網頁轉換為 PDF 的功能。我們來逐一看看每個資料庫的代碼。
IronPDF 使從現有 URL 渲染 HTML 為 PDF 變得非常簡單。它對 JavaScript、圖像、表單和 CSS 提供了非常高的支持。
以下代碼使用 IronPDF 直接從網站地址創建 PDF 文檔。
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
Imports IronPdf
Private Renderer As New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
Pdf.SaveAs("url.pdf")
HTML2PDF 模組是一個可選的附加工具,可與 PDFTron SDK 一起使用,將 HTML 檔案轉換為 PDF 文件,而不需要任何外部第三方依賴。
注意:需要 HTML2PDF (下載連結) module add-on. The HTML2PDF module is packaged as a zip archive and is meant to be expanded directly into the directory of your previous PDFTron SDK download.
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// add from a web page location
converter.InsertFromURL(webPageLocation);
// apply conversion
converter.Convert(doc);
doc.Save("url.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// add from a web page location
converter.InsertFromURL(webPageLocation);
// apply conversion
converter.Convert(doc);
doc.Save("url.pdf", SDFDoc.SaveOptions.e_linearized);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
' Start with a PDFDoc (the conversion destination)
Dim doc As New PDFDoc()
Dim converter As New HTML2PDF()
' add from a web page location
converter.InsertFromURL(webPageLocation)
' apply conversion
converter.Convert(doc)
doc.Save("url.pdf", SDFDoc.SaveOptions.e_linearized)
IronPDF 和 PDFTron 都提供了從包含 HTML 的字串生成 PDF 的功能。兩者僅使用兩行代碼即可完成此任務。
以下代碼展示了如何使用 HTML 輸入字串來生成 PDF 文檔。您可以選擇簡單的 HTML,或加入 CSS、圖片和 JavaScript。
using IronPdf;
var Renderer = new IronPdf.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 IronPdf.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 IronPdf.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")
HTML2PDF 轉換器支援將 HTML 從字串轉換,並提供許多選項來控制頁面大小和格式。
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// add from HTML String data
converter.InsertFromHtmlString("<h1>Html with CSS and Images</h1>");
// apply conversion
converter.Convert(doc);
doc.Save("html-with-assets.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// add from HTML String data
converter.InsertFromHtmlString("<h1>Html with CSS and Images</h1>");
// apply conversion
converter.Convert(doc);
doc.Save("html-with-assets.pdf", SDFDoc.SaveOptions.e_linearized);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
' Start with a PDFDoc (the conversion destination)
Dim doc As New PDFDoc()
Dim converter As New HTML2PDF()
' add from HTML String data
converter.InsertFromHtmlString("<h1>Html with CSS and Images</h1>")
' apply conversion
converter.Convert(doc)
doc.Save("html-with-assets.pdf", SDFDoc.SaveOptions.e_linearized)
IronPDF 只需一行代碼即可輕鬆將 ASPX 網頁轉換為 PDF,而 PDFTron 技術則缺乏直接轉換的功能。
以下代碼使用 IronPDF 將 ASPX 網頁文件渲染為 PDF。這是單行代碼,非常易於使用。在渲染時,可以向 PDF 設定添加更多選項。
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
在 IronPDF 库中,可以使用 IronPdf.ImageToPdfConverter 类轻松地从一个或多个图像文件构建 PDF 实体文档。您可以从 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
以下是一些使用PDFTron SDK進行PDF、XPS、EMF、SVG、TIFF、PNG、JPEG和其他圖像格式之間直接高質量轉換的C#示例代碼。 ('pdftron.PDF.Convert' 命名空間)它使用 Convert.ToPdf 方法,且更傾向於處理具有辦公功能的 MS Office 文件,如將任何可列印的文件轉換。 (例如:TXT、RTF、Word、MS Office、DXF、DWG 等等) 使用通用文件轉換器將其轉換為 PDF 或 XPS。
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
// Set the path of the image file
var filename = "sample-image.png";
// perform the conversion with no optional parameters
Convert.ToPdf(doc, filename);
doc.Save("sample-image.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
// Set the path of the image file
var filename = "sample-image.png";
// perform the conversion with no optional parameters
Convert.ToPdf(doc, filename);
doc.Save("sample-image.pdf", SDFDoc.SaveOptions.e_linearized);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Start with a PDFDoc (the conversion destination)
Private doc As New PDFDoc()
' Set the path of the image file
Private filename = "sample-image.png"
' perform the conversion with no optional parameters
Convert.ToPdf(doc, filename)
doc.Save("sample-image.pdf", SDFDoc.SaveOptions.e_linearized)
PDFTron SDK for .NET 下一代軟體應用程式提供免費試用產品,可以使用試用授權金鑰進行測試。該產品的授權和價格沒有詳細說明,授權程序確實不簡單,您需要聯繫銷售部門以根據您的需求獲取自訂報價。您可以瀏覽此 連結 瞭解更多資訊。
IronPDF 不會從遠端伺服器渲染 HTML 到 PDF。實際上,它在背景中啟動了一個符合標準的真正網頁瀏覽器實例。 (無需安裝任何額外的軟體). 該HTML能夠完全精確地渲染,並以適合最高商業印刷標準的向量格式呈現。輸出是一個乾淨且高品質的PDF。這是一個公開商業化的產品,許可和定價詳情都在網站上公布。
PDFTron是最全面的MS Office和PDF SDK。它提供一個獨立的HTML2PDF附加模組,需要下載並放置在PDFnet SDK的路徑中。同樣,其他轉換選項,如OCR和PDF到Word也需要額外下載模組。這是一個公開商業化的產品並準備好部署使用,但許可並不簡單,你必須先聯繫銷售人員以獲得報價。
在這裡,IronPDF 相對於 PDFTron 有一個優勢,那就是它在初次安裝後不需要額外下載。這節省了時間,並確保達成預期目標的過程保持簡單。IronPDF 只需一次下載即可提供所有必要的功能。然而,PDFTron 確實具備 MS Office 能力,能更好地處理 MS Office 文件。其他功能可以通過下載特定模組來添加。更重要的是,IronPDF 的許可證非常簡單明了,詳細信息完全公佈在網站上,因此在競爭中具有進一步的優勢。目前,特別優惠意味著您可以以兩個產品的價格購買到五個 IronPDF 產品。