產品比較

Windows 上 Wkhtmltopdf 與 IronPDF 的比較

發佈 2023年4月18日
分享:

IronPDF 和 wkhtmltopdf 兩者都是可以用來將 HTML 頁面或完整的網站(包括圖像)轉換為 PDF 格式的工具。然而,兩者在功能、性能和易用性方面有一些差異。

wkhtmltopdf 是什麼?

wkhtmltopdf 是一個開源命令行工具,可讓你將 HTML 頁面或網站轉換為 PDF 格式。它適用於 Windows、Linux 和 MacOS X 操作系統,並且可以與多種程式語言一起使用,包括 C# 和 Java。

wkhtmltopdf

如何在 Java 和 C 中安裝 wkhtmltopdf

以下是在 Windows 伺服器上安裝 wkhtmltopdf 的步驟,適用於 C# 和 Java:

為C#安裝wkhtmltopdf

  1. 從官方網站網址下載最新的Windows版本: https://wkhtmltopdf.org/downloads.html

    1. 雙擊下載的安裝程式,並按照安裝嚮導中的指示來安裝 wkhtmltopdf。
  2. 安裝完成後,我們透過將 wkhtmltopdf 執行檔添加到系統的 PATH 環境變數來修改路徑。這可以通過命令提示符使用以下命令來完成:
set PATH=%PATH%;C:\Program Files\wkhtmltopdf\bin  

為Java安裝wkhtmltopdf

  1. 從官方網站下載最新版本的Windows版wkhtmltopdf: https://wkhtmltopdf.org/downloads.html

    1. 將下載的壓縮檔案內容解壓縮到系統上的指定資料夾。

在C#和Java中,安裝和使用wkhtmltopdf涉及通過命令提示字元執行wkhtmltopdf命令,或者使用ProcessBuilder類以程式方式執行命令。確保將wkhtmltopdf可執行檔加入系統的PATH環境變數中,並提供必要的開關和選項以生成所需的PDF文件是非常重要的。

IronPDF 是什麼以及如何在 C# 和 Java 中安裝它

IronPDF 是一個庫,允許開發人員使用 C# 和 Java 創建、操作和轉換 PDF。它提供廣泛的功能,包括 HTML 轉 PDF 轉換、從頭生成 PDF 和 PDF 操作。

IronPDF

安裝 IronPDF for C#

  1. 使用套件管理員主控台或透過 Visual Studio UI 安裝 IronPDF NuGet 套件。

  2. 在您的代碼中,加入以下 using 陳述式以匯入 IronPDF 命名空間:
    using IronPdf;  
    using IronPdf;  
Imports IronPdf
VB   C#
  1. 若要從 HTML 內容生成 PDF,請使用以下代碼:
    var Renderer = new ChromePdfRenderer(); 
    var PDF = Renderer.RenderHTMLFileAsPdf("IronFile.html").SaveAs("IronPDF file.pdf");  
    var Renderer = new ChromePdfRenderer(); 
    var PDF = Renderer.RenderHTMLFileAsPdf("IronFile.html").SaveAs("IronPDF file.pdf");  
Dim Renderer = New ChromePdfRenderer()
	Dim PDF = Renderer.RenderHTMLFileAsPdf("IronFile.html").SaveAs("IronPDF file.pdf")
VB   C#
  1. 要從頭開始創建 PDF,請使用以下代碼:
  using IronPdf; var Renderer = new IronPdf.ChromePdfRenderer(); 
  // Create a PDF from a URL or local file path
  using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20"); 
  // Export to a file or Stream 
  pdf.SaveAs("url.pdf");  
  using IronPdf; var Renderer = new IronPdf.ChromePdfRenderer(); 
  // Create a PDF from a URL or local file path
  using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20"); 
  // Export to a file or Stream 
  pdf.SaveAs("url.pdf");  
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

輸出

安裝 IronPDF for Java

  1. 下載 圖書館 來自 IronPDF 網站。

  2. 將 IronPDF JAR 檔案添加到專案的 classpath 中。

  3. 在您的代碼中,導入 IronPDF 包:
  import com.ironsoftware.ironpdf.*;  
JAVA
  1. 安裝後,使用以下代碼從 HTML 內容生成 PDF:
  import com.ironsoftware.ironpdf.*;
  import java.io.IOException;
  import java.nio.file.Paths; 

  // Apply your license key 
  License.setLicenseKey("YOUR-LICENSE-KEY"); 

  // Set a log path 
  Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); 

  // Render the HTML as a PDF. Stored in myPdf as type PdfDocument; 
  PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(" ~Hello World~  Made with IronPDF!"); 

  // Save the PdfDocument to a file 
  myPdf.saveAs(Paths.get("html_saved.pdf"));  
JAVA

請注意,IronPDF 使用專有的 HTML 到 PDF 轉換引擎,不依賴於像 wkhtmltopdf 這樣的外部工具。

如何在 C# 中使用 IronPDF 和 Wkhtmltopdf 操作 PDF 文件

IronPDF 和 Wkhtmltopdf 是兩個可以在 C# 中用於操作 PDF 文件的庫。在本節中,我們將探討如何使用這兩個庫來操作 PDF 文件。

操作 PDF 檔案

使用 IronPDF 操作 PDF 文件

IronPDF 是一個 C# 庫,可以用來創建、操作和 渲染 PDF 文件。它提供了一個易於使用的 API,讓開發者可以對 PDF 文件進行各種操作,例如添加文本、圖片和表格,以及合併、拆分、無編序和轉換 PDF 文件。以下是一個如何使用 IronPDF 向 PDF 文件添加文本的示例:

var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderHTMLFileAsPdf("Project/MyHtmlDocument.html");
Renderer.RenderHTMLFileAsPdf("Project/MyHtmlDocument.html");
var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderHTMLFileAsPdf("Project/MyHtmlDocument.html");
Renderer.RenderHTMLFileAsPdf("Project/MyHtmlDocument.html");
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim PDF = Renderer.RenderHTMLFileAsPdf("Project/MyHtmlDocument.html")
Renderer.RenderHTMLFileAsPdf("Project/MyHtmlDocument.html")
VB   C#

HTML轉PDF

使用 wkhtmltopdf 操作 PDF 檔案

Wkhtmltopdf 是一個命令行工具,可用於將 HTML 頁面轉換為 PDF 檔案。它使用 Qt WebKit 渲染引擎將 HTML 頁面渲染為 PDF 格式。以下是一個示例,說明如何使用 wkhtmltopdf 將 HTML 頁面轉換為 PDF 檔案:

using System.Text;
using System.Diagnostics;
static void Main(string [] args)
{
    //function calling
    ConvertChromePdfRenderer("URL", "Sample.pdf");
    Console.WriteLine("successfully created!");
    Console.ReadKey();
}
//function declaration
public static void ConvertChromePdfRenderer(string url, string filename)
{
    //function definition
    StringBuilder paramsBuilder = new StringBuilder();
    //make CLI command
    paramsBuilder.AppendFormat("\"{0}\" \"{1}\"", url, filename);
    //create new process
    using (Process process = new Process())
    {
        //specify wkhtmltopdf.exe file path to execute above CLI
        process.StartInfo.FileName = "C:\\Program Files (x86)\\wkhtmltopdf\\bin\\wkhtmltopdf.exe";
        //assign CLI as process argument
        process.StartInfo.Arguments = paramsBuilder.ToString();
        //setting the credentials
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardOutput = true;
        process.StartInfo.RedirectStandardError = true;
        //start execution
        process.Start();
        if (!process.WaitForExit(60000))
        {
            process.Kill();
        }
    }
}
using System.Text;
using System.Diagnostics;
static void Main(string [] args)
{
    //function calling
    ConvertChromePdfRenderer("URL", "Sample.pdf");
    Console.WriteLine("successfully created!");
    Console.ReadKey();
}
//function declaration
public static void ConvertChromePdfRenderer(string url, string filename)
{
    //function definition
    StringBuilder paramsBuilder = new StringBuilder();
    //make CLI command
    paramsBuilder.AppendFormat("\"{0}\" \"{1}\"", url, filename);
    //create new process
    using (Process process = new Process())
    {
        //specify wkhtmltopdf.exe file path to execute above CLI
        process.StartInfo.FileName = "C:\\Program Files (x86)\\wkhtmltopdf\\bin\\wkhtmltopdf.exe";
        //assign CLI as process argument
        process.StartInfo.Arguments = paramsBuilder.ToString();
        //setting the credentials
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardOutput = true;
        process.StartInfo.RedirectStandardError = true;
        //start execution
        process.Start();
        if (!process.WaitForExit(60000))
        {
            process.Kill();
        }
    }
}
Imports System.Text
Imports System.Diagnostics
Shared Sub Main(ByVal args() As String)
	'function calling
	ConvertChromePdfRenderer("URL", "Sample.pdf")
	Console.WriteLine("successfully created!")
	Console.ReadKey()
End Sub
'function declaration
Public Shared Sub ConvertChromePdfRenderer(ByVal url As String, ByVal filename As String)
	'function definition
	Dim paramsBuilder As New StringBuilder()
	'make CLI command
	paramsBuilder.AppendFormat("""{0}"" ""{1}""", url, filename)
	'create new process
	Using process As New Process()
		'specify wkhtmltopdf.exe file path to execute above CLI
		process.StartInfo.FileName = "C:\Program Files (x86)\wkhtmltopdf\bin\wkhtmltopdf.exe"
		'assign CLI as process argument
		process.StartInfo.Arguments = paramsBuilder.ToString()
		'setting the credentials
		process.StartInfo.UseShellExecute = False
		process.StartInfo.RedirectStandardOutput = True
		process.StartInfo.RedirectStandardError = True
		'start execution
		process.Start()
		If Not process.WaitForExit(60000) Then
			process.Kill()
		End If
	End Using
End Sub
VB   C#

總而言之,IronPDF 和 wkhtmltopdf 是兩個強大的工具,可以用來在 C# 上操作 PDF 文件。IronPDF 提供了一個易於使用的 API 來創建、操作和渲染 PDF 文件,而 wkhtmltopdf 則是一個命令行工具,可以用來將 HTML 頁面轉換為 PDF 文件。這兩個工具各有優缺點,開發人員應根據自己的需求選擇最合適的工具。

使用 Qt WebKit 渲染引擎在 Java 中使用 IronPDF 和 wkhtmltopdf 操作 PDF 文件

操作 PDF 文件是文件管理的必需部分,開發人員需要可靠的工具來幫助他們實現這一點。Java 開發人員可以使用各種庫和工具來操作 PDF 文件,IronPDF 和 wkhtmltopdf 是其中常見的選擇。在這次比較中,我們將探討 Java 開發人員如何使用這些工具來操作 PDF 文件。

IronPDF 是一個 C# 的 PDF 庫,提供簡便快速的 PDF 操作能力。它還有一個 Java 版本,使 Java 開發人員可以享受相同的功能。IronPDF 提供了一個用於處理 PDF 的 API,包括創建、編輯和渲染 PDF 文件。它還支持 PDF 表單、注釋、設置方向和安全功能。

要在 Java 中開始使用 IronPDF,開發人員需要從官方網站下載 IronPDF Java 庫並將其導入到他們的 Java 項目中。

IronPDF

另一方面,wkhtmltopdf是一個命令行工具,使用Qt WebKit渲染引擎將整個HTML內容轉換為可攜式文檔格式。它是一個開源工具,可在Windows、Linux和macOS上使用。Wkhtmltopdf提供了多種選項和開關,用於自訂PDF輸出文件,例如設置邊距、頁面大小和方向。

要在Java中使用wkhtmltopdf,開發人員可以使用Java中的Process類來執行wkhtmltopdf工具。

wkhtmltopdf

IronPDF 和 wkhtmltopdf 都提供可靠的 Java PDF 操作功能。IronPDF 更適合喜歡使用 API 的開發人員,而 wkhtmltopdf 則適合喜歡使用命令行工具的開發人員。IronPDF 功能更豐富,提供更多的 PDF 自訂選項,而 wkhtmltopdf 則更快並且佔用空間更小。

兩個庫的總結比較

功能

  • IronPDF 是一款功能全面的 HTML 到 PDF 轉換工具,支持 CSS、JavaScript 和 HTML5。它還可以用來為 PDF 文件添加頁眉、頁腳和浮水印,並將多個 PDF 文件合併成一個文件。此外,它還包括 OCR 功能,可將掃描文件轉換為可搜索的 PDF 文件。
  • wkhtmltopdf 是一個主要專注於將 HTML 轉換為 PDF 的命令行工具。它包括對 CSS 和 JavaScript 的基本支持,但不支持 HTML5。它不包括添加頁眉或頁腳,或合併 PDF 文件等高級功能。

性能

  • IronPDF 是一個優化過的 .NET 程式庫,可以直接用於 C# 或 Java 應用程式中。它能夠處理大型 HTML 文件並迅速高效地生成 PDF。
  • wkhtmltopdf 是一個依賴外部進程生成 PDF 的命令行工具。在處理大型 HTML 文件時,這可能會導致性能較慢。

易於使用

  • IronPDF 旨在易於使用,並包含一個簡單的 API,可以直接整合到 C# 或 Java 應用程式中。它還包括廣泛的文件和支援資源,以幫助開發人員快速上手。
  • wkhtmltopdf 要求開發人員使用命令列介面,這可能更加複雜且耗時。它也缺乏如同 IronPDF 相同程度的文件和支援資源。

平台支援

  • IronPDF 是一個 .NET 庫,可以在任何基於 .NET 的平台上使用,包括 Windows、Linux 和 macOS。它還可以在使用 IKVM.NET 運行時的 Java 平台上使用。
  • wkhtmltopdf 是一個命令行工具,可在 Windows、Linux 和 macOS 上使用。它還可以與多種編程語言一起使用,包括 C# 和 Java。

成本

  • IronPDF 是一款商业产品,在生产环境中使用需要付费许可证。但是,它确实提供了让开发人员测试和评估工具的免费试用版。
  • wkhtmltopdf 是一个开源工具,可以免费用于商业和非商业用途。

总之,IronPDF 是一个功能更全面且用户友好的 HTML 转 PDF 转换器,针对性能进行了优化,可以直接在 C# 或 Java 应用程序中使用。然而,它是一款商业产品,在生产环境中使用需要付费许可证。另一方面,wkhtmltopdf 是一个开源的命令行工具,可以与包括 C# 和 Java 在内的多种编程语言一起使用,但缺乏一些 IronPDF 的高级功能和易用性。

定價和授權

IronPDF 和 wkhtmltopdf 是兩種用於從 HTML 內容生成 PDF 文件的熱門工具。雖然這兩種工具提供類似的功能,但在授權和定價方面存在差異。

IronPDF 是一個商業軟件庫,商業使用需要授權。它提供了一系列的授權選項,包括每位開發人員、每台伺服器和每次部署的授權。IronPDF 為授權用戶提供技術支持和軟件更新。IronPDF 的價格取決於所選擇的授權選項而有所不同。

另一方面,wkhtmltopdf 是一個開源工具,免費提供。它擁有 LGPLv3 許可,可以使用、修改和分發軟件。然而,它不提供任何技術支持或軟件更新。用戶社區通過 GitHub 問題和 Stack Overflow 等不同渠道提供支持和更新。

在定價方面,IronPDF 比 wkhtmltopdf 更昂貴。IronPDF 的價格由每位開發人員授權的 $399 起,而 wkhtmltopdf 則是免費使用的。

值得注意的是,IronPDF 和 wkhtmltopdf 都使用 Qt WebKit 渲染引擎將 HTML 內容轉換為 PDF 文件。它們都提供了生成 PDF 文件的命令行工具,並支持包括 HTML、URL 和本地文件在內的一系列輸入格式。

IronPDF 授權協議畫面

總結來說,IronPDF 和 wkhtmltopdf 在從 HTML 內容生成 PDF 文件方面提供了類似的功能。主要區別在於它們的許可證和定價模式。IronPDF 是一個需要商業許可的商業軟體庫,而 wkhtmltopdf 是可免費安裝的開源工具。在創建 PDF 應用程式時,兩者都非常有用。

結論

總結來說,IronPDF 是一個為 .NET 語言構建的強大 PDF 操作庫。它旨在為開發人員提供一個易於使用且穩健的工具來創建、編輯和操作 PDF 文件。IronPDF 專注於易用性和效能,是開發人員在 C# 或 Java 中創建和操作 PDF 的絕佳選擇。

另一方面,wkhtmltopdf 是一個使用 Qt WebKit 渲染引擎將 HTML 轉換為 PDF 文件的命令行工具。這是開源軟體,可在 Windows、Linux 和 macOS 上使用。儘管它是一個強大的工具,但功能僅限於將 HTML 轉換為 PDF,且需要一些技術專業知識來有效設置和使用。

IronPDF 在許多方面相較於 wkhtmltopdf 表現更為優異的一點是它的授權。雖然兩個軟體都在 MIT 授權範圍內,但 IronPDF 提供商業授權,包括高級支援並允許在商業應用中使用。這使得它成為尋找可靠且穩定的 PDF 操作庫的開發人員一個更具吸引力的選擇。

在技術能力方面,IronPDF 優於 wkhtmltopdf。具備頁面調整大小、圖像壓縮和文檔加密等功能,IronPDF 為開發人員提供了更大的靈活性以創建和操作 PDF 文件。此外,IronPDF 支援更廣範圍的圖像格式,並且有一個更簡單且更直觀的 API,使得開發人員更容易上手。

最後值得一提的是,IronPDF 是 Iron Software 套件產品的一部分,該套件包括其他有用的 .NET 開發庫。開發人員可以購買全部五個 Iron Software 產品,只需支付兩個授權的價格,這使得它成為那些希望最大化物有所值的人一個吸引人的套裝。

< 上一頁
如何使用 PDFSharp 在 C# (.NET 5) 中生成 PDF
下一個 >
使用 Itextsharp 在 C# 中為 PDF 添加數字簽名

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

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >