产品比较

Jsreport 与 IronPDF 的比较

发布 2023年十二月12日
分享:

1.导言

在数字时代,PDF(便携式文档格式)已成为日常必需品,对于以可靠、一致的格式存储和共享信息至关重要。 无论是将数据属性转换为格式整齐的 PDF,还是制作专业发票,开发人员通常都会求助于 IronPDF 和本地 JSReport Studio 等功能强大的 C# 客户端库,而不是用于服务器开发的 Phantom PDF。

IronPDF JSReport SDK 在.NET 框架中将 HTML 转换为 PDF 方面提供了最佳性能,而 JSReport SDK 则提供了动态报告解决方案,其重点是使用本地 JSReport 服务器和配置文件进行灵活定制。这两个库都带来了独特的解决方案,可满足开发人员在 PDF 生成和操作领域的不同需求。

2.使用 JSReport Server .NET

JSReport SDK .NET 是针对 .NET 应用程序的高级报表解决方案,尤其针对 ASP.NET Core 环境进行了优化。 它的与众不同之处在于可以直接从 HTML 和 JavaScript 将视图输出转换为 PDF、Excel、DOCX 和 CSV 等各种格式。 利用 ASP.NET MVC 引擎(如 Razor),使用报表服务器生成报表,可促进这一功能的实现。

JSReport .NET 提供了一整套默认的本地扩展功能,包括日程安排、模板版本化、子报告、用户管理、导入/导出模板和备份,增强了其在各种业务场景中的通用性和适用性。 它还支持广泛的 API,包括 REST API、CLI 或 SDK,几乎可以从任何地方渲染报告。

2.1 主要功能

2.1.1 ASP.NET Core 集成

JSReport SDK 提供一个 jsreport.AspNetCore NuGet 包,专门用于 ASP.NET Core 应用程序。 这包括能够将 MVC 视图输出转换为所需格式的中间件过滤器,将视图用作 HTML 生成器,将 JSReport 服务器用作输出转换器。

2.1.2 灵活设置

设置包括使用 jsreport.AspNetCorejsreport.Localjsreport.Binary等软件包。 这些辅助类有助于连接本地 JSReport 实例或通过 jsreport.Client. 连接远程实例。

2.1.3 输出转换

开发人员可以轻松指定用于输出转换的 JSReport 配方。 例如,使用 MiddlewareFilterChromePdf 配方,ASP.NET 过滤器可捕获视图的渲染结果并将其转换为 PDF 格式。 该功能对于基于 ASP.NET 的应用程序尤其有用。

2.1.4 远程实例兼容性

JSReport .NET 可与远程 JSReport 实例无缝集成。 在协调的 Docker 环境中,JSReport 在单独的容器而不是一个容器中运行,这一点尤其有利。 这种集成便于使用 Docker-compose 等工具协调 JSReport 和 .NET Core 应用程序。

2.1.5 高级响应处理

通过OnAfterRender钩子,可以操作响应头和其他属性。 该钩子还可用于将输出存储到文件中,从而灵活处理报告生成过程中的响应。

2.1.6 自定义页眉

JSReport .NET 可通过部分视图指定自定义 PDF 标头。 这些标题可在运行时与 PDF 主要内容一起呈现,为报告生成提供更多自定义选项。

2.1.7 不使用 MVC 视图进行渲染

该框架支持从原始 HTML 渲染报告,而不仅仅是 MVC 视图。 这一功能使报告生成过程具有更大的灵活性,使开发人员能够直接呈现 HTML 内容。

3.IronPDF

IronPDF 是一个适用于 .NET 应用程序的实用库,它的作用就是让 PDF 的处理变得更简单。 它的主要功能之一是 将 HTML 转换为 PDF如果您需要从网页生成报告或发票,它是您的最佳选择。 此外,不管是在服务器端还是客户端,它的运行速度都非常快,因此是一个非常适合商业项目和个人使用的库。

IronPDF 适合多种不同的 .NET 环境,如 ASP.NET、MVC、Windows 窗体和 WPF。 它能与 .NET Core 和 Framework 平滑集成。 它还能与 Azure 和其他云服务协同工作,这对于基于云的应用程序开发来说是一大优势。

3.1 IronPDF 的主要功能

3.1.1 HTML 转换为 PDF

IronPDF 是将 HTML 转换为 PDF 文档的完美工具。 它能完美处理 HTML、CSS、JavaScript 和图像,确保您的网页内容在最终 PDF 中看起来恰到好处。 转换过程中会保留原始 HTML 的布局和样式。

3.1.2 ASP.NET 集成

与 ASP.NET 无缝集成,让你无需大量编码即可将 ASPX 页面转换为 PDF。 这对利用现有网络应用程序制作 PDF 非常方便。

3.1.3 编辑和操作

IronPDF 可让您 编辑现有 PDF 文件如添加文本、图像、页面或合并多个 PDF 文件。 编辑功能对用户非常友好,因此你不需要成为 PDF 专家也能使用它们。 您还可以添加 注释, 附件, 大纲和书签 到您的 PDF 中。

3.1.4 填表和提取

IronPDF 支持从以下文件中填写和提取数据 PDF 表格这对于处理表单的应用程序来说至关重要。 IronPDF 让整个表单数据管理过程变得更加顺畅。 它还能处理不同类型的 PDF 表单,这增加了它的灵活性。

3.1.5 安全功能

IronPDF 具有密码保护和 PDF 文档权限设置等安全功能,这些功能对于保护敏感信息的安全至关重要。 它还具有加密和解密功能,为用户提供了另一层保护。 PDF 文件的安全性.

3.1.6 可定制的渲染

您可以控制 PDF 的渲染方式,例如设置 自定义页眉和页脚调整 页边距并选择特定的 HTML 部分进行转换。 这种定制化程度可确保您的 PDF 文件按您的要求制作。

3.1.7 高级 PDF 功能

IronPDF 支持 符合 PDF/A 标准数字签名. 它还具有 OCR 功能,这意味着它可以将扫描的文档和图像转换成 PDF 文件,供您搜索和编辑。 这些功能非常适合更复杂的项目。

3.1.8 易于部署

设置 IronPDF 非常简单--无需额外安装或依赖。 它是轻量级的,因此不会降低应用程序的性能。 此外,它一直在更新,以跟上 .NET 技术的最新发展,为您提供不会过时的 PDF 解决方案。

4.创建 .NET 项目

4.1 启动新项目

打开 Visual Studio,点击 "创建新项目 "按钮启动一个新项目。

Jsreport 和 IronPDF 之间的比较:图 1 - 创建项目

然后,选择 "控制台应用程序"、".NET Core 应用程序 "或其他选项。

Jsreport 和 IronPDF 之间的比较:图 2 - 独立项目 - 控制台应用程序

4.2 设置项目

您需要为项目命名。 找到项目名称文本框,输入您想要的名称。 此外,请选择项目的保存路径。 输入这些详细信息后,点击 "创建 "按钮继续。

Jsreport 和 IronPDF 之间的比较:图 3 - 项目配置

4.3 选择 .NET Framework

下一步是为项目选择所需的 .NET Framework。 这种选择取决于项目的要求和兼容性。 然后,点击 "创建 "按钮。

Jsreport 和 IronPDF 之间的比较:图 4 - 选择框架

5.安装 IronPDF 库

5.1 使用 NuGet 软件包管理器

要使用 Visual Studio NuGet 包管理器安装 IronPDF,请按照以下步骤操作:

  • 在 Visual Studio 中打开项目。
  • 单击 "工具 "菜单,选择 "NuGet 包管理器",然后选择 "管理解决方案的 NuGet 包"。

    Jsreport 和 IronPDF 之间的比较:图 5 - NuGet 软件包管理器

  • 在 NuGet 软件包管理器中,点击 "浏览 "选项卡。
  • 搜索 "IronPDF"。
  • 找到 IronPDF 软件包后,选择它并点击 "安装"。

    Jsreport 和 IronPDF 之间的比较:图 6 - 安装 IronPDF

  • 按照提示完成安装。

5.2 使用 Visual Studio 命令行

如果您喜欢使用命令行,可以在 Visual Studio 中安装 IronPDF,方法如下:

  • 打开 Visual Studio。
  • 移动到 "工具 "菜单,悬停在 "NuGet 包管理器 "上,然后从侧边菜单中选择 "包管理器控制台"。
  • 在控制台中键入以下命令
    Install-Package IronPdf
    Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
VB   C#
  • 按 Enter 键执行命令,等待安装完成。

    Jsreport 和 IronPDF 之间的比较:图 7 - IronPDF 安装

5.3 从 NuGet 网页直接下载

IronPDF 也可以直接从 NuGet 网站下载:

  • 访问 NuGet 官方网站。
  • 使用搜索栏查找 IronPDF 软件包。

    Jsreport 和 IronPDF 之间的比较:图 8 - IronPDF 软件包

  • IronPDF 软件包页面然后,您将看到直接下载软件包的选项。
  • 下载 .nupkg 文件并手动添加到项目中。

    Jsreport 和 IronPDF 之间的比较:图 9 - 下载 .nupkg

6.安装 JSReport

6.1 在 Visual Studio 中使用 NuGet 包管理器

要使用 Visual Studio 的 NuGet 包管理器运行 JSReport,请进入 "工具 "菜单并选择 "管理 NuGet 包"。 这将打开 NuGet 包管理器界面。 在 NuGet 软件包管理器中,您可以根据项目要求搜索 jsreport.Localjsreport.Binary

Jsreport 和 IronPDF 之间的比较:图 10 - jsreport.Binary

这些是将 JSReport 集成到 .NET 应用程序中的主要软件包。 找到合适的软件包后,点击 "安装 "将其添加到项目中。 此过程将自动下载并在项目中引用软件包,使其可以随时使用。

6.2 使用 NuGet 软件包管理器控制台

您也可以使用 Visual Studio 中的 NuGet 包管理器控制台安装 JSReport。 为此,请从 "工具 "菜单中选择 "NuGet 包管理器",然后选择 "包管理器控制台",打开 NuGet 包管理器控制台。

Jsreport 和 IronPDF 之间的比较:图 11 - 软件包管理器控制台

在控制台中,您需要运行特定命令来安装 JSReport 软件包。 如果要安装 jsreport.Local 软件包,可使用 Install-Package jsreport.Local 命令。 对于 jsreport.Binary 软件包,命令是 Install-Package jsreport.Binary。 在软件包管理器控制台中执行这些命令将下载相应的 JSReport 软件包并将其添加到项目中。

Jsreport 和 IronPDF 的比较:图 12 - 安装 jsreport.Local

7.IronPDF 和 JSReport 中 HTML 转 PDF 功能的比较

7.1 IronPDF 的 HTML 至 PDF 转换功能

IronPDF 是将 HTML 转换为 PDF 的最佳程序库。 它以其易用性和高性能脱颖而出,成为开发人员的首选。 它支持 CSS 渲染、JavaScript 执行以及自定义页眉和页脚等高级功能,进一步增强了从 HTML 源生成高质量 PDF 的能力。 IronPDF 提供 3 种将 HTML 转换为 PDF 的方法:

  1. 将 HTML 字符串转换为 PDF
  2. HTML 文件转 PDF
  3. URL 转 PDF

    让我们逐一讨论这些功能。

7.1.1 HTML 字符串转 PDF

此功能可让您直接从字符串转换 HTML 内容。 在应用程序中动态生成或修改 HTML 内容时,这一点尤其有用。 您可以将 HTML 字符串传递给 IronPDF,它就会将其渲染为 PDF。

using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
string htmlString = @"
            <html>
                <head>
                    <title>Example HTML</title>
                </head>
                <body>
                    <h1>Hello, World!</h1>
                    <p>This is an HTML string converted to PDF using IronPDF.</p>
                </body>
            </html>";
// Convert HTML string to PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);
pdfDocument.SaveAs("HtmlStringToPdf.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
string htmlString = @"
            <html>
                <head>
                    <title>Example HTML</title>
                </head>
                <body>
                    <h1>Hello, World!</h1>
                    <p>This is an HTML string converted to PDF using IronPDF.</p>
                </body>
            </html>";
// Convert HTML string to PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);
pdfDocument.SaveAs("HtmlStringToPdf.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
IronPdf.License.LicenseKey = "Your-License-Key"
Dim htmlString As String = "
            <html>
                <head>
                    <title>Example HTML</title>
                </head>
                <body>
                    <h1>Hello, World!</h1>
                    <p>This is an HTML string converted to PDF using IronPDF.</p>
                </body>
            </html>"
' Convert HTML string to PDF
Dim pdfDocument = renderer.RenderHtmlAsPdf(htmlString)
pdfDocument.SaveAs("HtmlStringToPdf.pdf")
VB   C#

下面是输出的 PDF 文件:

Jsreport 和 IronPDF 之间的比较:图 13 - 输出

7.1.2 HTML 文件转 PDF

使用这种方法,您可以将现有的 HTML 文件转换为 PDF。 当您的静态 HTML 文件需要以 PDF 格式展示或分发时,该功能非常有用。 您只需提供 HTML 文件的路径,IronPDF 就会处理转换工作。

using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
var pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html");
pdfDocument.SaveAs("Invoice.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
var pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html");
pdfDocument.SaveAs("Invoice.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
IronPdf.License.LicenseKey = "Your-License-Key"
Dim pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html")
pdfDocument.SaveAs("Invoice.pdf")
VB   C#

下面是一张 HTML 发票的 PDF 输出文件:

1

7.1.2 URL 转 PDF

该功能可通过 URL 将整个网页转换为 PDF。 它可以非常方便地捕捉网页的当前状态,包括样式、图像和其他资源。 IronPDF 将从给定的 URL 加载网页并将其转换为 PDF 文档,尽可能地复制网页布局和内容。

using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;
//https url
var pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/");
pdfDocument.SaveAs("UrlToPdf.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;
//https url
var pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/");
pdfDocument.SaveAs("UrlToPdf.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
IronPdf.License.LicenseKey = "Your-License-Key"
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2
'https url
Dim pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/")
pdfDocument.SaveAs("UrlToPdf.pdf")
VB   C#

下面是使用上述逻辑生成的 Microsoft .NET 网站 PDF。

Jsreport 和 IronPDF 之间的比较:图 14 - Microsoft HTTP 网站 PDF

7.2 JSReport C# HTML 到 PDF 的转换

在 JSReport 中将 HTML 转换为 PDF 的过程涉及多个步骤,通常包括设置 JSReport 服务器或使用其在线 API。 典型的 C# 实现可能如下所示

using JsReport.AspNetCore;
using JsReport.Types;
using System.Threading.Tasks;
public async Task<IActionResult> GeneratePdf()
{
    var report = new LocalReporting()
                 .UseBinary(JsReportBinary.GetBinary())
                 .AsUtility()
                 .Create();
    var reportResult = await report.RenderAsync(new RenderRequest()
    {
        Template = new Template()
        {
            Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
            Engine = Engine.None,
            Recipe = Recipe.ChromePdf
        },
        Options = new RenderOptions()
        {
            Debug = new DebugOptions() { Preview = true }
        }
    });
    var stream = new MemoryStream();
    reportResult.Content.CopyTo(stream);
    stream.Position = 0;
    return File(stream, "application/pdf", "Report.pdf");
}
using JsReport.AspNetCore;
using JsReport.Types;
using System.Threading.Tasks;
public async Task<IActionResult> GeneratePdf()
{
    var report = new LocalReporting()
                 .UseBinary(JsReportBinary.GetBinary())
                 .AsUtility()
                 .Create();
    var reportResult = await report.RenderAsync(new RenderRequest()
    {
        Template = new Template()
        {
            Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
            Engine = Engine.None,
            Recipe = Recipe.ChromePdf
        },
        Options = new RenderOptions()
        {
            Debug = new DebugOptions() { Preview = true }
        }
    });
    var stream = new MemoryStream();
    reportResult.Content.CopyTo(stream);
    stream.Position = 0;
    return File(stream, "application/pdf", "Report.pdf");
}
Imports JsReport.AspNetCore
Imports JsReport.Types
Imports System.Threading.Tasks
Public Async Function GeneratePdf() As Task(Of IActionResult)
	Dim report = (New LocalReporting()).UseBinary(JsReportBinary.GetBinary()).AsUtility().Create()
	Dim reportResult = Await report.RenderAsync(New RenderRequest() With {
		.Template = New Template() With {
			.Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
			.Engine = Engine.None,
			.Recipe = Recipe.ChromePdf
		},
		.Options = New RenderOptions() With {
			.Debug = New DebugOptions() With {.Preview = True}
		}
	})
	Dim stream = New MemoryStream()
	reportResult.Content.CopyTo(stream)
	stream.Position = 0
	Return File(stream, "application/pdf", "Report.pdf")
End Function
VB   C#

您还可以从以下内容中找到 JSReport .NET 的示例 链接. 下面是发票 PDF 报告的输出示例。

Jsreport 和 IronPDF 之间的比较:图 15 - 发票输出 PDF

8.灵活性和高级功能

8.1 IronPDF 的高级功能和自定义功能

IronPDF 以其先进的功能和高度的定制性脱颖而出,可满足各种 PDF 操作需求。 主要的高级功能包括

符合 PDF/A 标准:它支持 PDF/A 格式,对于长期存档和符合行业标准至关重要。 这种合规性对于法律、金融和政府部门尤为重要,因为在这些部门,文档的长期完整性至关重要。

using IronPdf;
// Create a PdfDocument object or open any PDF File
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");
// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
using IronPdf;
// Create a PdfDocument object or open any PDF File
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");
// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
Imports IronPdf
' Create a PdfDocument object or open any PDF File
Private pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")
' Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3)
VB   C#

编辑、合并和分割 PDF:IronPDF 允许编辑现有 PDF、将多个 PDF 合并为一个 PDF,以及将 PDF 拆分为单独的文档。 这一功能在需要将大型文件拆分以便于分发或需要将不同文件的不同部分合并时特别有用。

安全功能:它具有强大的安全功能,如密码保护、加密和设置用户权限。 IronPDF 支持对 PDF 文件进行加密,从而增加了一层额外的安全保护,防止内容被篡改或复制。

using IronPdf;
// Open a PDF File
var pdfDoc = PdfDocument.FromFile("invoice.pdf");
// The following code makes a PDF read only and will disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption();
pdfDoc.SecuritySettings.AllowUserAnnotations = false;
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = false;
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdfDoc.SecuritySettings.AllowUserFormData = false;
// Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen"; // password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare"; // password to open the pdf
pdfDoc.SaveAs("InvoiceProtected.pdf");
using IronPdf;
// Open a PDF File
var pdfDoc = PdfDocument.FromFile("invoice.pdf");
// The following code makes a PDF read only and will disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption();
pdfDoc.SecuritySettings.AllowUserAnnotations = false;
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = false;
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdfDoc.SecuritySettings.AllowUserFormData = false;
// Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen"; // password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare"; // password to open the pdf
pdfDoc.SaveAs("InvoiceProtected.pdf");
Imports IronPdf
' Open a PDF File
Private pdfDoc = PdfDocument.FromFile("invoice.pdf")
' The following code makes a PDF read only and will disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption()
pdfDoc.SecuritySettings.AllowUserAnnotations = False
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = False
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdfDoc.SecuritySettings.AllowUserFormData = False
' Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen" ' password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare" ' password to open the pdf
pdfDoc.SaveAs("InvoiceProtected.pdf")
VB   C#

页眉和页脚控件:开发人员可以轻松地在 PDF 文档中添加自定义页眉和页脚,这一功能对于制作具有专业外观的报告、发票和其他商业文档至关重要。 这包括添加页码、日期和自定义文本的功能。

将 PDF 转换为图像:IronPDF 允许将 PDF 页面转换为图像。 该功能对于需要在网络应用程序中将 PDF 内容显示为图像或生成缩略图的情况特别有用。

using IronPdf;
using IronSoftware.Drawing;
var pdf = PdfDocument.FromFile("Example.pdf");
// Extract all pages to a folder as image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");
// Dimensions and page ranges may be specified
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);
// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
using IronPdf;
using IronSoftware.Drawing;
var pdf = PdfDocument.FromFile("Example.pdf");
// Extract all pages to a folder as image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");
// Dimensions and page ranges may be specified
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);
// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
Imports IronPdf
Imports IronSoftware.Drawing
Private pdf = PdfDocument.FromFile("Example.pdf")
' Extract all pages to a folder as image files
pdf.RasterizeToImageFiles("C:\image\folder\*.png")
' Dimensions and page ranges may be specified
pdf.RasterizeToImageFiles("C:\image\folder\example_pdf_image_*.jpg", 100, 80)
' Extract all pages as AnyBitmap objects
Dim pdfBitmaps() As AnyBitmap = pdf.ToBitmap()
VB   C#

8.2 JSReport .NET 高级功能和可扩展性

JSReport .NET 以其先进的功能和可扩展性而闻名,是报表生成的多功能工具。 其主要功能包括

动态报表生成:它支持各种模板引擎,包括 Handlebars 和 EJS,便于进行复杂而灵活的报表设计。 这种多引擎兼容性使设计具有广泛的可能性,可满足创建报告的不同要求和复杂性。

var report = new LocalReporting()
    .UseBinary(JsReportBinary.GetBinary())
    .RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport"))
    .KillRunningJsReportProcesses()
    .Configure(cfg => cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory())
    .AsUtility()
    .Create();
var reportResult = await report.RenderAsync(new RenderRequest()
{
    Template = new Template()
    {
        Content = "{{{message}}}",
        Engine = Engine.Handlebars,
        Recipe = Recipe.ChromePdf
    },
    Data = new
    {
        message = "PDF Generation with JSReport .NET"
    }
});
var report = new LocalReporting()
    .UseBinary(JsReportBinary.GetBinary())
    .RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport"))
    .KillRunningJsReportProcesses()
    .Configure(cfg => cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory())
    .AsUtility()
    .Create();
var reportResult = await report.RenderAsync(new RenderRequest()
{
    Template = new Template()
    {
        Content = "{{{message}}}",
        Engine = Engine.Handlebars,
        Recipe = Recipe.ChromePdf
    },
    Data = new
    {
        message = "PDF Generation with JSReport .NET"
    }
});
Dim report = (New LocalReporting()).UseBinary(JsReportBinary.GetBinary()).RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport")).KillRunningJsReportProcesses().Configure(Function(cfg) cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory()).AsUtility().Create()
Dim reportResult = Await report.RenderAsync(New RenderRequest() With {
	.Template = New Template() With {
		.Content = "{{{message}}}",
		.Engine = Engine.Handlebars,
		.Recipe = Recipe.ChromePdf
	},
	.Data = New With {Key .message = "PDF Generation with JSReport .NET"}
})
VB   C#

模板引擎:JSReport .NET 具有生成报告的日程安排和自动化功能,非常适合定期报告需求,如每日或每月摘要。 该功能可确保及时交付报告,并可与业务工作流集成,实现事件触发式报告。

使用自定义脚本扩展功能:JSReport C# 允许通过自定义脚本扩展其功能,增强自定义数据处理或专门格式化等功能。 这种可扩展性对于创建符合特定业务逻辑和数据操作要求的报告至关重要。

9.支持

9.1 IronPDF 文档的质量与可用性

IronPDF的文档全面且用户友好,适合初学者和有经验的开发人员。 它包括详细的指南、API参考和大量代码示例,让开发者更容易理解和实现库在多种语言(如C#和Node)中的功能。

该文档结构良好,定期更新,反映了最新功能和最佳实践。 此外,IronPDF的网站提供了快速入门指南和常见问题解答,这些对于初次在.NET环境中进行PDF操作的用户特别有帮助。

IronPDF 还提供了一个在线游乐场,您可以在不下载其代码的情况下在线试用 IronPDF 功能。 探索它使用以下方法 链接.

9.1.1 支持选项

IronPDF提供多种支持选项,包括一个专门的支持团队来处理查询和技术问题。 他们提供电子邮件支持,并在开发者论坛中积极参与,提供解决方案和建议。您还可以通过网站上的实时支持选项联系实时支持代理。

9.2 JSReport .NET 文档的质量和可用性

JSReport .NET 以其广泛且维护良好的文档感到自豪。 该文档涵盖了从基本设置到高级使用场景的广泛主题,包括代码片段和实施示例。 它的组织逻辑清晰,便于浏览和查找相关信息。 在线资源还包括全面的API参考,确保开发人员可以获取关于工具功能的详细信息。

9.2.1 支持选项

在支持方面,JSReport .NET 提供了多种选择。 他们有一个专门的支持团队,可以通过电子邮件联系,而且他们在GitHub上保持活跃状态,提供一个报告问题和功能请求的平台。

10.许可模式

10.1 IronPDF的许可证

Jsreport 与 IronPDF 的比较:图 16 - 许可

IronPDF提供三个 不同的定价选择,满足不同规模的使用需求和预算要求:

轻量版:标价为 $749,这是云部署的一次性费用。 它专为较小的项目或刚开始进行PDF处理的团队设计。

专业版:售价1499美元,亦为云使用的一次性费用,适用于需要更高级功能和能力的专业开发人员。

无限版:最全面的套餐,定价为2999美元,是一次性费用,用于云部署。 它非常适合大规模企业使用,提供广泛的功能且没有使用限制。

10.2 JSReport .NET 许可证

Jsreport 和 IronPDF 之间的比较:图 17 - JSReport 许可证

JSReport .NET 提供 灵活的许可选项,包括基于订阅的和永久的许可证:

免费许可证:这提供了一个完整功能的实例,限制最多可用5个报告模板。 它不需要许可证密钥,适用于小型项目或评估目的。

企业订阅:每年定价为395美元,此计划提供一个功能齐全的单一JSReport实例,没有任何限制,并包括更新。 它非常适合需要强大报告解决方案的个体企业。

企业级订阅: 每年1,295美元,此计划最适合大规模部署,提供一个许可证密钥,适用于无限数量的实例。 此计划包括更新且无需版税,适合运行多个实例或将其作为另一产品部署给多个客户的组织使用。

11.结论

总之,虽然IronPDF和JSReport .NET在各自的领域中都很有价值,但由于IronPDF具有全面的PDF操作能力,它略占优势。 它在PDF/A兼容性、高级编辑和安全功能等方面表现出色,使其成为.NET环境中处理详细PDF的更多功能的工具。 JSReport .NET在动态报告生成和模板方面的优势使其在报告中心任务中非常有效。 然而,对于大多数需要详细和多样化的PDF处理和操作的场景,IronPDF显得更具优势。

IronPDF提供免费的开发者许可证和 免费试用. Iron Software提供了一个名为Iron Suite的综合软件包。这个套件包括了 IronBarcode, IronXL, IronQR, IronOCR, IronPDFIronWebScraper, 提供2个软件的价格,为寻求广泛功能的开发者提供了重大价值。

最终,两者之间的选择将取决于项目或开发者的具体需求和环境。

< 前一页
IronPDF 与 DinktoPdf 的比较
下一步 >
在 C# 中使用 ITextSharp 和 IronPDF 创建 PDF 的对比

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

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