產品比較

IronPDF與PDFCrowd之間的比較

發佈 2021年12月13日
分享:

IronPDF 和 PDFCrowd - 全面比較

不斷進步的技術意味著為所有人(特別是開發者)提供更智能的節省時間的解決方案。 自動化現在是軟體開發流程的關鍵。 多年来,使用C#處理PDF文件一直是開發者面臨的困難問題。 在從 PDF 文件中轉換內容時,有多種因素需要考慮,尤其是在將不同格式的內容轉換為 PDF 時更是如此。 這些問題現在已透過完成多個設計用來從不同格式讀取、寫入、創建和轉換為PDF的庫來解決。

本文將比較兩個最受.NET和.NET Core開發者歡迎的PDF庫。 這兩個庫是:

  • IronPDF
  • PDFCrowd

    IronPDF 和 PDFCrowd 都是提供創建、操作及...的方法的庫。在 .NET 和 .NET Core 中列印 PDF. 接下來的問題是決定哪一個C# PDF 庫最適合您的 .NET 專案? 在閱讀下列兩個庫及其各自的特色功能以進行 PDF 轉換和操作的比較時,您可以權衡您的決策。

    首先我們來看看這兩個庫提供的功能,然後再進行比較。

IronPDF及其主要功能

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# 庫 - 突出功能

一些重要功能包括:

創建PDFs(HTML 轉 PDF)

  • 從HTML 4和5、CSS和JavaScript創建PDF文件
  • 從網址生成 PDF 文件
  • 使用自定的網絡登錄憑證、使用者代理、代理伺服器、Cookies、HTTP 標頭、表單變數載入 URL,允許在 HTML 登錄表單後登錄。

    在沒有 Adobe Acrobat 的情況下編輯現有的 PDF 文檔

  • 讀取並填寫表單欄位數據
  • 從 PDF 中提取圖像和文本
  • 將新的 HTML 內容蓋印到任何現有的 PDF 頁面上
  • 新增邏輯或HTML頁首和頁尾

    操作現有的PDF文件

  • 載入並解析現有的 PDF 文檔
  • 合併和分割 PDF 文件中的內容
  • 新增頁首、頁尾、註解、書籤、浮水印、文字和圖像資產

    從多種格式轉換

  • ASPX WebForms – 使用 3 行程式碼,將 ASP.NET 網頁表單轉換為可在瀏覽器中檢視的可下載 PDF 文件
  • HTML 文件 – 將 HTML 轉換為 PDF
  • 自訂「基本 URL 」以允許全網範圍內的可訪問資產文件
  • 通過虛擬視口實現響應式佈局(寬度和高度)
  • 接受任何主要檔案編碼的HTML編碼(預設為UTF-8)

    儲存和列印

  • 保存和載入文件、二進制資料或 MemoryStreams
  • 螢幕或印刷 CSS 媒體類型
  • 將 PDF 文件轉換為 PrintDocument 對象並在無需使用 Adobe 的情況下列印(使用最少的代碼)
  • 匯出官方日誌檔案,包含有關 API 成功和源代碼中的調試錯誤的詳細信息。

PDFCrowd 庫 - 突出功能

Pdfcrowd.com API 是一個專業的解決方案,可從網頁和 HTML 文件創建 PDF 和截圖圖像。 這是一項在線網路服務,允許您將任何網頁轉換為 PDF。 該 API 是一個網路服務,您的輸入將在 PDFCrowd 伺服器上進行轉換。

它質量高且速度快,因此為您節省時間。它安全且具有壓縮文件的能力。

PDFCrowd API 功能

以下是一些最重要的 PDFCrowd 功能:

HTML 轉 PDF API

  • 易於使用的 API 客戶端 SDK 庫
  • 支持最新的網頁標準
  • 此整合只需幾分鐘即可設置,不需要任何第三方庫。
  • 可在任何平台上虛擬使用 - Windows、Linux、macOS、BSD、類Unix系統等。
  • 可靠、廣泛使用,並支持最新的HTML5、CSS3和JavaScript規範。

    API Playground

  • 互動式探索 API 設定
  • PDF預覽,自動代碼生成
  • 將網頁、HTML 文件或 HTML 代碼轉換

    注意: PDFCrowd 不提供可以離線使用的獨立 SDK。

    本文的其餘部分將探討以下主題:

  1. 建立專案

  2. IronPDF C# 庫安裝

  3. PDFCrowd API 安裝

  4. 從現有的網址創建PDF

  5. 從 HTML 輸入字串建立 PDF

  6. 將 ASPX 頁面轉換為 PDF

  7. 將 XML 轉換為 PDF

  8. 將圖片轉換為 PDF

  9. 授權

  10. 摘要與結論

1. 創建一個 ASP.NET 專案

使用以下步驟來創建 ASP.NET 網站:

  • 打開 Visual Studio 2019
  • 從選單中點擊檔案,然後點擊「新建專案」來建立一個新專案。
  • 在專案類型列表框中,選擇 Visual C# 下的 Web
  • 選擇 ASP.NET Web 應用程式(.NET框架)按下圖所示點擊「確定」

    Pdf Crowd 1 related to 1. 創建一個 ASP.NET 專案

    圖 1新專案對話框

  • 在下一個畫面中,如下圖所示選擇“Web Forms”。

    Pdf Crowd 2 related to 1. 創建一個 ASP.NET 專案

    圖2網頁表單

  • 選擇全部後,點擊確定。

    現在專案已建立,我們幾乎準備好測試這些函式庫。 但是,我們仍然需要安裝並將它們整合到我們的專案中。 讓我們先安裝IronPDF。

2. IronPDF C# 庫安裝

有四種方式可以下載並安裝 IronPDF 程式庫。 它們如下:

  1. 使用 Visual Studio

  2. 開發者命令提示字元

  3. 直接下載 NuGet 套件

  4. 下載 IronPDF .DLL 函式庫

    讓我們更仔細地看看每一個。

2.1 使用 Visual Studio

Visual Studio 提供 NuGet 套件管理器以在您的專案中安裝 NuGet 套件。 您可以通過專案選單存取它,或在方案總管中右鍵點擊您的專案。 下面這些選項在截圖中顯示為圖 3 和圖 4。

Pdf Crowd 3 related to 2.1 使用 Visual Studio

圖3專案選單 > 管理 NuGet 套件

Pdf Crowd 4 related to 2.1 使用 Visual Studio

圖4右鍵解決方案總管

選定後,瀏覽 IronPDF 套件並安裝,如下圖所示。

Pdf Crowd 5 related to 2.1 使用 Visual Studio

圖 5從 NuGet 套件安裝 IronPDF

2.2 使用開發人員命令提示字元

另一種下載並安裝IronPDF C#資料庫的方法是透過開發者命令提示字元使用以下步驟來安裝IronPDF NuGet套件

  • 開啟 開發人員命令提示字元——通常位於 Visual Studio 資料夾中。
  • 輸入以下命令:
  :ProductInstall
  • 按Enter键
  • 這將下載並安裝該套件
  • 重新載入您的 Visual Studio 專案並開始使用

2.3. 直接下載 NuGet 套件

下載和安裝 IronPDF 的第三種方法是遵循以下步驟。 這可以透過直接訪問 NuGet 網站並下載套件來完成。 步驟如下:

2.4. 透過下載庫安裝IronPDF

您可以直接從網站下載 IronPDF .DLL 文件。可以直接從IronPDF DLL 下載頁面.

Pdf Crowd 6 related to 2.4. 透過下載庫安裝IronPDF

圖6直接下載 IronPDF C# 庫

在您的項目中引用庫,請按照以下步驟操作:

  • 在方案總管中右鍵單擊方案
  • 選擇參考文獻
  • 瀏覽 IronPDF.dll 庫
  • 點擊確定

    全部完成! IronPDF 已下載、安裝並準備使用。 然而,在此之前,我們應先安裝 PDFCrowd API。

3.PDFCrowd API 安裝

驗證

需要進行身份驗證才能使用 Pdfcrowd API 客戶端。 用來存取 API 的憑證是您的 Pdfcrowd 用戶名和 API 密鑰。

Pdfcrowd API 用戶端程式庫適用於 .NET

Pdfcrowd API 客戶端庫允許您在 HTML、PDF 和各種圖像格式之間進行轉換。 .NET API 客戶端庫使實現更加簡便在您的 .NET 應用程序中使用 Pdfcrowd API.

有三種方法可以安裝 PDFCrowd API .NET 用戶端庫:

  1. 以 Zip 直接下載 Pdfcrowd 客戶端

  2. 透過NuGet套件管理器適用於Pdfcrowd官方客戶端套件

  3. Pdfcrowd GitHub 存储库

    讓我們更仔細地看看每一個。

3.1 直接下載

下載pdfcrowd-5.2.0-dotnet.zip,解壓縮它並將 pdfcrowd.dll 的參考添加到您的專案中。

在您的項目中引用庫,請按照以下步驟操作:

  • 在方案總管中右鍵單擊方案
  • 選擇參考文獻
  • 瀏覽 pdfcrowd.dll 程式庫
  • 點擊確定

3.2 通過開發人員命令提示字元使用 NuGet 套件管理器

另一種下載和安裝 PDFCrowd API 的方法是使用開發者命令提示符執行以下步驟來安裝 PDFCrowd API Client NuGet 套件

  • 打開 開發者命令提示符 – 通常位於 Visual Studio 資料夾下
  • 輸入以下命令:PM > Install-Package Pdfcrowd.official -Version 5.2.0
  • 按Enter键
  • 這將下載並安裝該套件
  • 重新載入您的 Visual Studio 專案並開始使用

3.3 GitHub 資料庫

要安裝 PDFCrowd,您可以克隆pdfcrowd-dotnet從 GitHub 獲取並構建該程式庫。 此客戶端庫是根據 MIT 許可證授權的。

使用以下命令構建 PDFCrowd API 客戶端庫:

  • git clone https://github.com/pdfcrowd/pdfcrowd-dotnet
  • cd pdfcrowd-dotnet
  • make.bat # 在 Windows 上
  • 在 Unix 上執行 make all #

    現在我們已經創建了項目並安裝了必要的庫,讓我們開始從代碼的角度比較 IronPDF 和 PDFCrowd 庫。

4. 從現有的 URL 創建 PDF 文件

這兩個庫都提供將 HTML 網頁轉換為 PDF 的功能。 讓我們逐一查看每個庫的代碼。

4.1. 使用 IronPDF 將現有 URL 轉換為 PDF

IronPDF 讓從現有 URL 渲染 HTML 為 PDF 文件變得非常簡單。 對 JavaScript、圖片、表單和 CSS 的支援非常高。

以下程式碼使用IronPDF直接從網站地址建立PDF文件。

IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

Pdf.SaveAs("url.pdf");
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

Pdf.SaveAs("url.pdf");
Dim Renderer As New IronPdf.ChromePdfRenderer()
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")

Pdf.SaveAs("url.pdf")
VB   C#

4.2 使用 PDFCrowd 將現有 URL 轉換為 PDF

使用 PDFCrowd,將網址轉換為 PDF 文件也非常容易。 以下程式碼使用 PDFCrowd 從網站地址直接生成 PDF 文件。

// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and write the result to a file
client.convertUrlToFile("http://www.pdfcrowd.com", "example.pdf");
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and write the result to a file
client.convertUrlToFile("http://www.pdfcrowd.com", "example.pdf");
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")

' run the conversion and write the result to a file
client.convertUrlToFile("http://www.pdfcrowd.com", "example.pdf")
VB   C#

5. 從 HTML 輸入字串建立 PDF

IronPDF 和 PDFCrowd 都提供從包含 HTML 的字串生成 PDF 的功能。 兩者都僅使用兩行代碼來完成此任務。

5.1. 使用 IronPDF 的 HTML 輸入字串

以下程式碼顯示,可以使用 HTML 輸入字串來渲染 PDF 文件。 您可以選擇簡單的HTML,也可以加入CSS、圖像和JavaScript。

var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.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 
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.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 
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
PDF.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 AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
AdvancedPDF.SaveAs("html-with-assets.pdf")
VB   C#

5.2. 使用 PDFCrowd 的 HTML 輸入字串

以下程式碼顯示如何使用包含 HTML 的字串生成 PDF 文件。 HTML 輸入字串也可以用來轉換為記憶體中的 PDF,並將生成的 PDF 寫入輸出流。

// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and write the result to a file
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf");

// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertString("<html><body><h1>Hello World!</h1></body></html>");
// at this point the "pdf" variable contains PDF raw data and
// can be sent in an HTTP response, saved to a file, etc.

// create an output stream for the conversion result
FileStream outputStream = new FileStream("HelloWorld.pdf", FileMode.CreateNew);

// run the conversion and write the result into the output stream
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream);

// close the output stream
outputStream.Close();
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and write the result to a file
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf");

// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertString("<html><body><h1>Hello World!</h1></body></html>");
// at this point the "pdf" variable contains PDF raw data and
// can be sent in an HTTP response, saved to a file, etc.

// create an output stream for the conversion result
FileStream outputStream = new FileStream("HelloWorld.pdf", FileMode.CreateNew);

// run the conversion and write the result into the output stream
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream);

// close the output stream
outputStream.Close();
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")

' run the conversion and write the result to a file
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf")

' run the conversion and store the result into the "pdf" variable
Dim pdf() As Byte = client.convertString("<html><body><h1>Hello World!</h1></body></html>")
' at this point the "pdf" variable contains PDF raw data and
' can be sent in an HTTP response, saved to a file, etc.

' create an output stream for the conversion result
Dim outputStream As New FileStream("HelloWorld.pdf", FileMode.CreateNew)

' run the conversion and write the result into the output stream
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream)

' close the output stream
outputStream.Close()
VB   C#

將 ASPX 頁面轉換為 PDF

IronPDF 和 PDFCrowd 的下一段代碼從 ASP.NET 網頁創建 PDF 文件。

6.1. 使用 IronPDF 將 ASPX 頁面轉換為 PDF

以下代碼使用 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
VB   C#

6.2. 使用 PDFCrowd 將 ASPX 頁面轉換為 PDF

以下程式碼使用 PDFCrowd 將 ASPX 網頁檔案轉換為 PDF。 這使您能夠設置完整的 HTTP 回應標頭,並將結果作為 PDF 在網頁瀏覽器中查看。

// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertUrl("https://en.wikipedia.org");

// set HTTP response headers
Response.ContentType = "application/pdf";
Response.Headers.Add("Cache-Control", "max-age=0");
Response.Headers.Add("Accept-Ranges", "none");
Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" + Uri.EscapeUriString("result.pdf"));

// send the result in the HTTP response
Response.OutputStream.Write(pdf, 0, pdf.Length);
Response.Flush();
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertUrl("https://en.wikipedia.org");

// set HTTP response headers
Response.ContentType = "application/pdf";
Response.Headers.Add("Cache-Control", "max-age=0");
Response.Headers.Add("Accept-Ranges", "none");
Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" + Uri.EscapeUriString("result.pdf"));

// send the result in the HTTP response
Response.OutputStream.Write(pdf, 0, pdf.Length);
Response.Flush();
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")

' run the conversion and store the result into the "pdf" variable
Dim pdf() As Byte = client.convertUrl("https://en.wikipedia.org")

' set HTTP response headers
Response.ContentType = "application/pdf"
Response.Headers.Add("Cache-Control", "max-age=0")
Response.Headers.Add("Accept-Ranges", "none")
Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" & Uri.EscapeUriString("result.pdf"))

' send the result in the HTTP response
Response.OutputStream.Write(pdf, 0, pdf.Length)
Response.Flush()
VB   C#

7. 將 XML 轉換為 PDF

以下代碼將 XML 轉換為 IronPDF 和 PDFCrowd API 的 PDF。

7.1. 使用 IronPDF 將 XML 轉換為 PDF

將 C# XML 直接轉換為 PDF 可能是一個複雜的挑戰。 我們發現,在 C# 中將 XML 轉換為 PDF 時,最好從 XSLT 開始。 可以通過HTML將XML渲染為PDF(5)使用 XLST 轉換。

private void XMLtoPDF(string XSLT, string XML)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using(XmlReader reader = XmlReader.Create(new StringReader(XSLT)))  
    {
        transform.Load(reader);
    }
    StringWriter results = new StringWriter();
    using(XmlReader reader = XmlReader.Create(new StringReader(XML))) 
    {
        transform.Transform(reader, null, results);
    }
    IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
    // options, headers, and footers may be set there
    // Render our XML as a PDF via XSLT
    using var PDF = Renderer.RenderHtmlAsPdf(results.ToString());
    PDF.SaveAs("XMLtoPDF.pdf");
}
private void XMLtoPDF(string XSLT, string XML)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using(XmlReader reader = XmlReader.Create(new StringReader(XSLT)))  
    {
        transform.Load(reader);
    }
    StringWriter results = new StringWriter();
    using(XmlReader reader = XmlReader.Create(new StringReader(XML))) 
    {
        transform.Transform(reader, null, results);
    }
    IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
    // options, headers, and footers may be set there
    // Render our XML as a PDF via XSLT
    using var PDF = Renderer.RenderHtmlAsPdf(results.ToString());
    PDF.SaveAs("XMLtoPDF.pdf");
}
Private Sub XMLtoPDF(ByVal XSLT As String, ByVal XML As String)
	Dim transform As New XslCompiledTransform()
	Using reader As XmlReader = XmlReader.Create(New StringReader(XSLT))
		transform.Load(reader)
	End Using
	Dim results As New StringWriter()
	Using reader As XmlReader = XmlReader.Create(New StringReader(XML))
		transform.Transform(reader, Nothing, results)
	End Using
	Dim Renderer As New IronPdf.ChromePdfRenderer()
	' options, headers, and footers may be set there
	' Render our XML as a PDF via XSLT
	Dim PDF = Renderer.RenderHtmlAsPdf(results.ToString())
	PDF.SaveAs("XMLtoPDF.pdf")
End Sub
VB   C#

XSLT 文件的結構如下:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <p>Titles:
    <xsl:for-each select="catalog/cd">
      <xsl:value-of select="title"/>
      <xsl:if test="position() < last()-1">
        <xsl:text>, </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()-1">
        <xsl:text>, and </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()">
        <xsl:text>!</xsl:text>
      </xsl:if>
    </xsl:for-each>
    </p>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <p>Titles:
    <xsl:for-each select="catalog/cd">
      <xsl:value-of select="title"/>
      <xsl:if test="position() < last()-1">
        <xsl:text>, </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()-1">
        <xsl:text>, and </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()">
        <xsl:text>!</xsl:text>
      </xsl:if>
    </xsl:for-each>
    </p>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2> My CD Collection</h2> <p> Titles: <xsl:for-@each @select="catalog/cd"> <xsl:value-@of @select="title"/> <xsl:if test="position() < last()-1"> <xsl:text>, </xsl:text> </xsl:if> <xsl:if test="position()=last()-1"> <xsl:text>, @and </xsl:text> </xsl:if> <xsl:if test="position()=last()"> <xsl:text>!</xsl:text> </xsl:if> </xsl:for-@each> </p> </body> </html> </xsl:template> </xsl:stylesheet>
VB   C#

7.2. 使用 PDFCrowd 將 XML 轉換為 PDF

PDFCrowd API 客戶端能夠渲染 HTML 模板。 模板語法基於Jinja模板渲染引擎。PDFCrowd API客戶端也支持XML格式,可以使用此語法。

// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}");

// configure the conversion
client.setDataString(@"<?xml version=""1.0"" encoding=""UTF-8""?>
        <data>
          <name>World</name>
          <product>Pdfcrowd API</product>
        </data>");

// run the conversion and write the result to a file
client.convertStringToFile("Hello {{ data.name }} from {{ data.product }}", "output.pdf");
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}");

// configure the conversion
client.setDataString(@"<?xml version=""1.0"" encoding=""UTF-8""?>
        <data>
          <name>World</name>
          <product>Pdfcrowd API</product>
        </data>");

// run the conversion and write the result to a file
client.convertStringToFile("Hello {{ data.name }} from {{ data.product }}", "output.pdf");
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}")

' configure the conversion
client.setDataString("<?xml version=""1.0"" encoding=""UTF-8""?>
        <data>
          <name>World</name>
          <product>Pdfcrowd API</product>
        </data>")

' run the conversion and write the result to a file
client.convertStringToFile("Hello {{ data.name }} from {{ data.product }}", "output.pdf")
VB   C#

8. 將圖片轉換為PDF

8.1. 使用 IronPDF 將圖像轉換為 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.
using var PDF = ImageToPdfConverter.ImageToPdf(ImageFiles);
PDF.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.
using var PDF = ImageToPdfConverter.ImageToPdf(ImageFiles);
PDF.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
VB   C#

8.2. 使用 PDFCrowd 將圖像轉換為 PDF

PDFCrowd也提供將圖像轉換為PDF的多種選項功能。 它還提供從 URL 轉換圖像的選項。 以下程式碼顯示如何從本機儲存中將圖片轉換為 PDF。

// create the API client instance
pdfcrowd.ImageToPdfClient client = new pdfcrowd.ImageToPdfClient("your_username", "your_apikey");

// run the conversion and write the result to a file
client.convertFileToFile("/path/to/logo.png", "logo.pdf");
// create the API client instance
pdfcrowd.ImageToPdfClient client = new pdfcrowd.ImageToPdfClient("your_username", "your_apikey");

// run the conversion and write the result to a file
client.convertFileToFile("/path/to/logo.png", "logo.pdf");
' create the API client instance
Dim client As New pdfcrowd.ImageToPdfClient("your_username", "your_apikey")

' run the conversion and write the result to a file
client.convertFileToFile("/path/to/logo.png", "logo.pdf")
VB   C#

9. 授權

PDFCrowd 是一項網路服務,可以在線上從其他格式創建 PDF 文件。其價格結構多樣,最低為每月 $11,限額為 200 點數,其中 1 點數等於 0.5Mb 的輸出數據。 您還可以註冊免費試用。 詳細的定價可以查看在PDFCrowd 定價頁面.

另一方面,IronPDF 是一個 C# PDF 程式庫。 它在開發時免費,並且始終可以獲得商業部署的許可。 IronPDF的許可證現已可用用於單一專案使用、單一開發人員、代理商和全球企業,以及 SaaS 和 OEM 再分發。 所有授權包括:30天退款保證、一年產品支援與更新、適用於開發/測試/生產環境的有效性,以及永久授權。(一次性購買). Lite 套裝的起價為 $749。 IronPDF 套件是永久的,沒有持續的費用;相比之下,PDFCrowd 確實有持續的費用。

10. 總結和結論

摘要

IronPDF 無法從遠端伺服器將 HTML 轉換為 PDF。 它實際上在幕後啟動了一個符合標準的真正網頁瀏覽器實例。(無需安裝任何額外的軟體). HTML 以完全準確的方式呈現,並且採用矢量格式,適合商業印刷的最高標準。 輸出是一個乾淨且高質量的 PDF。 它是公開商業化的,所有授權和定價詳情都發布在網站上。

PDFCrowd 也能將任何給定格式的 HTML 轉換為 PDF,達到最高準確度,且絕不會有停機時間,因為它是運行在多地的雲伺服器上。 PDFCrowd 是一個基於網絡的 API,提供在線服務將內容轉換為 PDF。 伺服器端 API 客戶端庫使您能夠輕鬆使用 Pdfcrowd HTML 到 PDF API。 這些庫有多種流行的伺服器端程式語言版本可供使用。 定價詳情列在網站上。

結論

IronPDF 相較於 PDFCrowd 的一個小優勢是安裝後可以離線工作。 IronPDF 非常適合追求高效和有效工作的實用程式開發者。 最重要的是,它能節省時間。 PDFCrowd 在處理不同伺服器端語言的 PDF 時可能會很有用。 此外,IronPDF 套件提供終身授權,且無持續費用,而 PDFCrowd 則有持續費用。

< 上一頁
Accusoft Prizmdoc PDF Viewer 教程和比較
下一個 >
IronPDF和Docraptor - 全面比較

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >