产品比较

在Windows上Wkhtmltopdf与IronPDF的比较

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
2023年四月18日
分享:

IronPDF 与 wkhtmltopdf:综合比较

IronPDF 和wkhtmltopdf - 与其他组件的比较这两种工具都可用于将 HTML 页面或完整的网站(包括图像)转换为 PDF 格式。 然而,这两种工具在功能、性能和易用性方面存在一些差异。

什么是 wkhtmltopdf?

wkhtmltopdf 是一款开源命令行工具,可将 HTML 页面或网站转换为 PDF 格式。 它适用于 Windows、Linux 和 macOS X 操作系统,可与 C# 和 Java 等多种编程语言配合使用。

wkhtmltopdf

如何在 Java 和 C# 上安装 wkhtmltopdf;

以下是在 Windows 服务器上用 C# 和 Java 安装 wkhtmltopdf 的步骤:

为 C#.NET 安装 wkhtmltopdf;

  1. 从官方网站 URL 下载当前的 Windows 版本:wkhtmltopdf 下载

  2. 双击下载的安装程序,按照安装向导中的说明安装 wkhtmltopdf。

  3. 安装后,请将 wkhtmltopdf 可执行文件添加到系统的 PATH 环境变量中以修改路径。 可以通过命令提示符使用以下命令完成翻译:
   set PATH=%PATH%;C:\Program Files\wkhtmltopdf\bin  

安装 wkhtmltopdf for Java

  1. 从官方网站下载最新版本的 wkhtmltopdf for Windows:wkhtmltopdf 下载

  2. 将下载的压缩包内容解压到系统中的目标文件夹。

    在 C# 和 Java 中,wkhtmltopdf 的安装和使用涉及通过命令提示符执行 wkhtmltopdf 命令或使用 ProcessBuilder 类以编程方式执行命令。 必须确保将 wkhtmltopdf 可执行文件添加到系统的 PATH 环境变量中,并提供必要的开关和选项以生成所需的 PDF 输出文件。

什么是 IronPDF,如何为 C# 和 Java 安装 IronPDF

探索 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;  
  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");  
  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");  

输出

安装 IronPDF for Java

  1. 下载IronPDF for Java 库来自 IronPDF 网站。

  2. 将 IronPdf JAR 文件添加到项目的类路径中。

  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 等外部工具。

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

IronPDF 和 wkhtmltopdf 是两个可用于在 C# 中操作 PDF 文件的库。 在本节中,我们将探讨如何使用这两个库来处理 PDF 文件。

操作 PDF 文件

使用 IronPDF 操作 PDF 文件

IronPdf 是一个 C# 库,可用于创建、操作和处理 IronPDF。渲染 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");

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();
        }
    }
}

总之,IronPDF 和 wkhtmltopdf 是两款功能强大的工具,可用于在 C# 中操作 PDF 文件。 IronPDF 提供了一个易于使用的 API,用于创建、操作和渲染 PDF 文件,而 wkhtmltopdf 是一个命令行工具,可用于将 HTML 页面转换为 PDF 文件。 这两种工具各有优缺点,开发人员应选择最适合自己需要的工具。

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

操作 PDF 文件是文档管理的重要组成部分,开发人员需要可靠的工具来帮助他们实现这一目标。 Java 开发人员可以使用各种库和工具进行 PDF 操作,其中 IronPDF for Java 和 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 for Java 和 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 for Java 是一个针对性能进行了优化的 .NET 库,可以直接在 C# 或 Java 应用程序中使用。 它能够处理大型 HTML 文件,并能快速高效地生成 PDF。
  • wkhtmltopdf 是一种命令行工具,它依赖于外部进程来生成 PDF。 这可能会导致性能降低,尤其是在处理大型 HTML 文件时。

易用性

  • IronPDF 的设计易于使用,包含一个简单的 API,可直接集成到 C# 或 Java 应用程序中。 译文还包括大量的文档和支持资源,以帮助开发人员快速上手和运行。
  • wkhtmltopdf 要求开发人员使用命令行界面,这可能会更加复杂和耗时。 此外,它还缺乏与 IronPDF 相同水平的文档和支持资源。

平台支持

  • IronPDF for .NET 是一个 .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 issues 和 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,而且需要一定的专业技术知识才能有效设置和使用。

与 wkhtmltopdf 相比,IronPDF 的一个亮点在于其许可协议。 虽然两款软件都采用 MIT 许可,但 IronPdf 提供商业许可,包括高级支持并允许在商业应用中使用。 因此,对于正在寻找可靠、稳定的 PDF 操作库的开发人员来说,这将是一个更具吸引力的选择。

就技术能力而言,IronPDF 优于 wkhtmltopdf。 IronPDF 具有页面大小调整、图像压缩和文档加密等功能,为开发人员创建和处理 PDF 文件提供了更大的灵活性。 此外,IronPDF 支持更广泛的图像格式,API 更简单直观,使开发人员更容易上手。

最后,值得一提的是,IronPDF 是 Iron Software 产品套件的一部分,该套件包括用于 .NET 开发的其他实用库。 开发人员可以两个许可证的价格购买 Iron Software 的全部五种产品,对于那些希望获得最大价值的人来说,这是一个很有吸引力的套餐。

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 运用技能时,他会进行游戏编程。作为产品测试、产品开发和研究的负责人之一,Jordi 为持续的产品改进增添了极大的价值。多样化的经验让他充满挑战和参与感,他说这是他在 Iron Software 工作中最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。
< 前一页
如何使用PDFSharp在C#(.NET 5)中生成PDF
下一步 >
使用 Itextsharp 添加数字签名到 PDF 在 C# 中