产品比较

IronPDF与PDFreactor的比较

发布 2022年三月30日
分享:

PDFreactor 和 IronPDF 为工程师提供了生成、操作、编辑、格式化和 打印 PDF 文档 从各种输入中提取数据。在 .NET 和 .NET Core 中工作,我们必须选择最适合我们的项目和要求的工具,而使用代码示例和演示教程总是非常有用的。

任何一位 .NET 开发人员都会告诉你,在项目启动之前都要进行大量的研究。有一句古老的格言说:使用正确的工具完成正确的工作。PDF 库也不例外。作为开发人员,您必须适当了解现有的库和工具。当然,并不是所有的工具或库都是一样的--有些工具或库有不同的优势,有些工具或库有比其他工具或库更多的弱点,但归根结底,使用最适合您和您公司的工具是您的特权,最重要的是,使用最适合您项目的工具是您的特权。

本文将比较 .NET 和 .NET Core 开发人员最常用的两个 PDF 库。这两个库是

  • IronPDF
  • PDFreactor

对于任何比较文章来说,尽可能尝试比较好、坏、丑是件好事。遗憾的是,在当前的技术环境下,有些图书馆做得很不够,而另一些图书馆却做得很出色,发展得很好。技术发展日新月异,很难跟上时代的步伐。这不仅适用于第三方库创建者,也适用于开发者。要么吃掉,要么被吃掉,而且要快速适应。

让我们来看看这两种产品。

什么是 IronPDF?

IronPDF 是用 C# 编写的用于 .NET 平台的商业级 PDF 生成库。其主要概念是通过 HTML、CSS、图像和 JavaScript 渲染 PDF,从而避免耗时的 PDF 生成 API。它同样适用于表单应用程序、服务器应用程序和服务、Web 应用程序、安全内联网、控制台应用程序、WPF 应用程序和 MVC 模式网站。IronPDF 兼容任何 .NET Framework 项目(从版本 4 起)和 .NET Core(从版本 2 起)。

IronPDF C# Library Features

IronPDF 的一些强大功能包括

  • 从 HTML 和 ASPX 等网络平台生成 PDF 文档
  • 读取 PDF 文本
  • 从 PDF 文档中提取图像和数据
  • 合并、分割和处理 PDF 文件

2020 年的改进包括

  • 提高 PDF 文本提取的准确性
  • 增加了对更多 PDF 文件类型的支持
  • 改进内存占用
  • 现在支持加密 PDF 的数字签名
  • 数字签名元数据增强
  • 解决了边缘安装路径和许可问题

  • 支持 CentOS 8 和 Ubuntu 20

许可证从 $749 开始。

PDFreactor 是什么?

C# 是各行各业最常用的编程语言之一。如果您正在寻找一款能与 C# 和 .NET 无缝协作的高质量 PDF 转换器,那么有了 PDFreactor,您就可以使用一款功能强大的工具,通过 C# 将 HTML 页面渲染为 PDF。对于需要从 HTML 高效创建 PDF 的 C# 用户来说,PDFreactor 是一款简单、快速、现代化的转换引擎。

PDFreactor 的功能

1.支持所有 HTML5 元素

2.使用最先进的 CSS3,如计算、媒体查询、框阴影、文本阴影、过滤器。转换、旋转、缩放 HTML + CSS 到 PDF 的元素。

3.将 JavaScript 驱动的布局转换为 PDF。

4.PDFreactor 支持创建符合可访问性指南的标记 PDF 文档。

5.PDFreactor 网络应用程序提供专业的打印功能,如 PDF/X、PDF/X-4p、基线网格和专色。PDF/A PDFreactor 允许轻松创建 PDF/A (1a、1b、2a、2b、2u、3a、3b 和 3u) 和 PDF/UA 兼容文件,用于电子文件的长期存档。

新的改进包括

  • CSS 网格布局
  • 页面浮动
  • 连续标记
  • 更改栏
  • 风格化脚注
  • 创建可检查 PDF 的配置选项。这样就可以检查用 PDFreactor 生成的 PDF 的结构和布局,类似于我们新的浏览器开发工具 PDFreactor 检查器工具.

许可证起价 2,950,00 美元。

从创建 ASP.NET 网站开始

IronPDF

接下来的几个步骤将生成一个 ASP.NET 网站:

  • 打开 Visual Studio 2017 或 Visual Studio 2019。
  • 单击 "文件新建项目 "生成一个新项目。
  • 在项目类型列表框中选择 Visual C# 下的 Web。
  • 选择 ASP.NET Web Application。截图如下:
  • 选择确定。
  • 在下一个屏幕中选择 Web 表单,如下图所示:
  • 单击 "确定"。

接下来安装 IronPDF。

1.安装 IronPDF

安装 IronPDF 有两种方法:

  • NuGet
  • 下载程序库

让我们仔细看看

1.1.通过 NuGet 安装库

通过 NuGet 安装 IronPDF 有三种方法,分别是

  • Visual Studio
  • 开发人员命令提示符

  • 直接下载 NuGet 软件包

让我们逐一了解它们。

1.2.使用 Visual Studio

你可以通过 "项目菜单 "或在 "解决方案资源管理器 "中右键单击项目来访问 NuGet 包管理器。

选择后,浏览 IronPDF 软件包并安装,如下图所示:

1.3.使用开发人员命令提示符

使用接下来的几个步骤,通过开发人员命令提示符安装 IronPDF NuGet 包

  • 打开开发人员命令提示符--可在 Visual Studio 文件夹下找到。
  • 键入
    :ProductInstall
  • 按回车键。
  • 重新加载 Visual Studio 项目。

1.4.直接下载 NuGet 软件包

利用接下来的几个步骤,通过 NuGet 下载软件包:

1.5.通过下载库安装 IronPDF

安装 IronPDF 的第二种方法是直接从 IronPDF DLL 下载.

通过以下步骤在项目中引用该库:

  • 右键单击解决方案资源管理器中的解决方案
  • 选择引用
  • 浏览 IronPDF.dll 库
  • 点击确定

PDFReactor

按照上述相同步骤安装 PDFreactor。这通常用于在服务器端将 HTML 转换为 PDF,范围包括动态数据驱动文档 (报告、发票、表格、数据表) 用于电子分发复杂和高质量的 PDF 文件 (产品目录、营销资料、技术文件、期刊) 用于印刷和电子出版。

2.从 HTML 文本输入创建 PDF

接下来的代码将创建 PDF 文档并打印其中的 HTML 字符串。

2.1.用 IronPDF 将 HTML 字符串转换为 PDF

以下代码使用 IronPDF 直接从 HTML 字符串创建 PDF 文件。

private void HTMLString()
{
    // Render any HTML fragment or document to HTML
    var Renderer = new IronPdf.ChromePdfRenderer();
    var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
    Renderer.RenderingOptions.TextFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>" };
    var OutputPath = "ChromePdfRenderer.pdf";
    PDF.SaveAs(OutputPath);
    Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
}
private void HTMLString()
{
    // Render any HTML fragment or document to HTML
    var Renderer = new IronPdf.ChromePdfRenderer();
    var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
    Renderer.RenderingOptions.TextFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>" };
    var OutputPath = "ChromePdfRenderer.pdf";
    PDF.SaveAs(OutputPath);
    Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
}
Private Sub HTMLString()
	' Render any HTML fragment or document to HTML
	Dim Renderer = New IronPdf.ChromePdfRenderer()
	Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>")
	Renderer.RenderingOptions.TextFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
	Dim OutputPath = "ChromePdfRenderer.pdf"
	PDF.SaveAs(OutputPath)
	Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
End Sub
VB   C#

2.1.用 PDFreactor 将 HTML 字符串转换为 PDF

以下代码使用 PDFreactor 直接从 HTML 字符串创建 PDF 文件。

<script>
            window.onload = async function() {
                // Create new PDFreactor instance
                var pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest");
                // Create a new PDFreactor configuration object
                var config = {
                    // Specify the input document
                    document: "http://www.pdfreactor.com/product/samples/textbook/textbook.html",
                }       
                // Render document and save result
                try {
                    var result = await pdfReactor.convert(config);
                    document.getElementById("result").src = "data:application/pdf;base64," + result.document;
                } catch (error) {
                    if (error instanceof PDFreactor.PDFreactorWebserviceError) {
                        document.body.innerHTML = "<h1>An Error Has Occurred</h1><h2>" + error.message + "</h2>";
                    }
                }
            }
        </script>
<script>
            window.onload = async function() {
                // Create new PDFreactor instance
                var pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest");
                // Create a new PDFreactor configuration object
                var config = {
                    // Specify the input document
                    document: "http://www.pdfreactor.com/product/samples/textbook/textbook.html",
                }       
                // Render document and save result
                try {
                    var result = await pdfReactor.convert(config);
                    document.getElementById("result").src = "data:application/pdf;base64," + result.document;
                } catch (error) {
                    if (error instanceof PDFreactor.PDFreactorWebserviceError) {
                        document.body.innerHTML = "<h1>An Error Has Occurred</h1><h2>" + error.message + "</h2>";
                    }
                }
            }
        </script>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'(Of script) window.onload = async @function()
'{
'				' Create new PDFreactor instance
'				var pdfReactor = New PDFreactor("https://cloud.pdfreactor.com/service/rest");
'				' Create a new PDFreactor configuration object
'				var config = { document: "http://www.pdfreactor.com/product/samples/textbook/textbook.html"} try
'				{
'					var result = await pdfReactor.convert(config);
'					document.getElementById("result").src = "data:application/pdf;base64," + result.document;
'				}
'				catch (@error)
'				{
'					if (@error instanceof PDFreactor.PDFreactorWebserviceError)
'					{
'						document.body.innerHTML = "<h1>An Error Has Occurred</h1><h2>" + @error.message + "</h2>";
'					}
'				}
'			}
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'		</script>
VB   C#

3.将 ASPX 页面转换为 PDF

下一段代码将从 ASPX 页面创建 PDF 文件。

3.1.使用 IronPDF 将 ASPX 页面转换为 PDF

以下代码利用 IronPDF 从 ASPX 文件创建 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#

3.2.用 PDFreactor 将 ASPX 页面转换为 PDF

PDFreactor 似乎不支持从 ASPX 网页创建 PDF。

4.在 PDF 文档中使用 CSS3

  • HTML 转 PDF 支持
  • 全面、高保真的 HTML 4 和 HTML 5 渲染
  • CSS 3
  • JavaScript
  • 图像资产
  • SVG 资产
  • 响应式布局
  • 外部样式表和资产 (HTTP、HTTPS 或文件系统)
  • 静态和多线程渲染
  • 使用自定义加载 URL

    • 网络登录凭据

    • 用户代理

    • 代理服务器

    • Cookie

    • HTTP 标头

    • 允许在 HTML 登录表单后登录的表单变量

4.1.层叠样式表 CSS3

层叠样式表 (CSS) 描述了 HTML 文件的外观和格式。它利用选择器和属性在一个中心位置设置整个网页或网站的格式。CSS3 是最新的标准。CSS3 包括

  • 媒体查询
  • 命名空间
  • 选择器 3 级
  • 模块包括

    • 选择器

    • 方框模型

    • 文本效果

    • 二维变换

    • 三维变换

    • 背景

    • 用户界面

使用 IronPDF 时,您可以选择 CSS 样式的呈现位置:屏幕或打印。在处理屏幕时,您必须了解响应速度。为了区分屏幕或打印机,您可以使用下面这行快速代码:

Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
//or
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
//or
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
VB   C#

4.2.响应式网页设计

响应式网页设计能让网页和网站在所有设备上都看起来美观大方。响应式网页会根据不同的屏幕尺寸和视口自动调整。在使用响应式设计和 Bootstrap 等框架时,IronPDF 可以设置 ViewPortWidth 和 ViewPortHeight 属性,从而以编程方式控制视口,并控制将哪个版本的响应式网站渲染为 PDF。

4.3.创建响应 ViewPort

通过以下代码,您可以使用 IronPDF 以编程方式设置响应视口的大小。

using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
 //Choose screen or print CSS media
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
//Set the width of the responsive virtual browser window in pixels
Renderer.ViewPortWidth = 1280; 
// Render an HTML document or snippet as a string
Renderer.RenderHTMLFileAsPdf("Assets/Responsive.html");
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
 //Choose screen or print CSS media
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
//Set the width of the responsive virtual browser window in pixels
Renderer.ViewPortWidth = 1280; 
// Render an HTML document or snippet as a string
Renderer.RenderHTMLFileAsPdf("Assets/Responsive.html");
Imports IronPdf
Private Renderer As New IronPdf.ChromePdfRenderer()
 'Choose screen or print CSS media
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
'Set the width of the responsive virtual browser window in pixels
Renderer.ViewPortWidth = 1280
' Render an HTML document or snippet as a string
Renderer.RenderHTMLFileAsPdf("Assets/Responsive.html")
VB   C#

4.4.HTML 模板

另一项强大的功能是创建 HTML 模板,并以此为基础创建类似的 PDF 文档。下面是一个小例子:

var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
    var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
    var Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance);
    Pdf.SaveAs(name + ".pdf");
}
var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
    var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
    var Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance);
    Pdf.SaveAs(name + ".pdf");
}
Dim HtmlTemplate = "<p>[[NAME]]</p>"
Dim Names = { "John", "James", "Jenny" }
For Each name In Names
	Dim HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name)
	Dim Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance)
	Pdf.SaveAs(name & ".pdf")
Next name
VB   C#

6.免费个人许可证

根据 PDFreactor 软件许可协议一个 PDFreactor 许可证只能在一台物理机、虚拟机或隔离的软件容器上使用。因此,每台生产机器需要一个许可证。如果您打算在非商业基础上使用 PDFreactor,可以申请免费的个人许可证 这里.

IronPDF 是一款公开的商业 C# PDF 库.它的开发是免费的,可通过发送电子邮件至 developers@ironpdf.com 联系工程团队进行为期 30 天的部署试用。如果您想了解更多经济实惠的许可选项,请访问 IronPDF 许可证.

7.总结与结论

摘要

IronPDF 是一个受支持的、以生产力为先的 .NET 库,它可以

  • 使用全嵌入式网络浏览器从 HTML 渲染 PDF
  • 编辑和处理高质量的 PDF 文件

  • 对 PDF 转换进行数字签名

PDFreactor 是一款免费的 HTML 至 PDF 转换器 供私人、非商业和非专业使用。

  • 轻松将 HTML 转换为 PDF。支持 HTML5、CSS3 和 JavaScript。支持 JavaScript、Java、PHP、.NET、Python、Ruby、Perl、Node.js、SOAP、REST 的 API。

结论

IronPDF 解决了在应用程序中添加 PDF 生成功能的难题,并能自动将格式化的文档转化为 PDF。所有产品均可在 IDE 内免费开发和测试,无时间限制,并可通过 NuGet 安装。它可通过 .NET 将网页表单、本地 HTML 页面和其他网页转换为 PDF,并允许用户下载文档、通过电子邮件发送文档或将文档存储到云中。

PDFreactor 是一款强大的格式化处理器,可使用 CSS 定义页面布局和样式,从 HTML 5 文档进行服务器端 PDF 转换。您可以动态生成报告、发票、报表等 PDF 文档。通过实施 W3C 的分页媒体和打印规范,PDFreactor 可以通过 CSS 对分页输出进行很好的控制。要在生产环境中使用 PDFreactor,需要相应的许可证。

< 前一页
IronPDF与EO.Pdf的比较
下一步 >
IronPDF与ITextPDF的比较

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >