在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
在数字时代,PDF(便携式文档格式)已成为日常必需品,对于以可靠、一致的格式存储和共享信息至关重要。无论是将数据属性转换为格式整齐的 PDF,还是制作专业发票,开发人员通常都会求助于 IronPDF 和本地 JSReport Studio 等功能强大的 C# 客户端库,而不是用于服务器开发的 Phantom PDF。
IronPDF JSReport SDK 在.NET 框架中将 HTML 转换为 PDF 方面提供了最佳性能,而 JSReport SDK 则提供了动态报告解决方案,其重点是使用本地 JSReport 服务器和配置文件进行灵活定制。这两个库都带来了独特的解决方案,可满足开发人员在 PDF 生成和操作领域的不同需求。
JSReport SDK .NET是.NET应用程序的高级报表解决方案,尤其针对ASP.NET Core环境进行了优化。它的与众不同之处在于可以直接从 HTML 和 JavaScript 将视图输出转换为各种格式,如 PDF、Excel、DOCX 和 CSV。利用 Razor 等 ASP.NET MVC 引擎,可使用报表服务器生成报表,从而增强了这一功能。
JSReport .NET 提供了一整套默认的本地扩展,包括日程安排、模板版本化、子报告、用户管理、导入/导出模板和备份,从而增强了其在各种业务场景中的通用性和适用性。它还支持广泛的 API,包括 REST API、CLI 或 SDK,几乎可以从任何地方渲染报表。
JSReport SDK 专门为 ASP.NET Core 应用程序提供了一个 jsreport.AspNetCore NuGet 包。其中包括能将 MVC 视图输出转换为所需格式的中间件过滤器,将视图用作 HTML 生成器,将 JSReport 服务器用作输出转换器。
设置包括使用 jsreport.AspNetCore、jsreport.Local 和 jsreport.Binary等包。这些辅助类有助于连接本地 JSReport 实例或通过 jsreport.Client. 连接远程实例。
开发人员可以轻松指定用于输出转换的 JSReport 配方。例如,使用 MiddlewareFilter 和 ChromePdf 配方,ASP.NET 过滤器可捕获视图的渲染结果并将其转换为 PDF 格式。这一功能对基于 ASP.NET 的应用程序特别有用。
JSReport .NET 可与远程 JSReport 实例无缝集成。在协调的 Docker 环境中,JSReport 在单独的容器而不是一个容器中运行,这一点尤其有利。这种集成便于使用 Docker-compose 等工具协调 JSReport 和 .NET Core 应用程序。
通过OnAfterRender钩子,可以对响应头和其他属性进行操作。该钩子还可用于将输出存储到文件中,从而灵活处理报告生成过程中的响应。
JSReport .NET 支持通过部分视图指定自定义 PDF 标头。这些标题可在运行时与 PDF 主内容一起呈现,为报告生成提供额外的自定义选项。
该框架支持通过原始 HTML 渲染报告,而不仅仅是 MVC 视图。这一功能使报告生成过程更加灵活,开发人员可以直接呈现 HTML 内容。
IronPDF 是.NET 应用程序的一个实用库,它能让 PDF 的处理变得更简单。它的主要功能之一是 将 HTML 转换为 PDF如果您需要从网页中生成报告或发票,它是您的理想之选。此外,不管是在服务器端还是客户端,它的运行速度都非常快,因此是一个非常适合商业项目和个人使用的程序库。
IronPDF 适合多种不同的 .NET 环境,如 ASP.NET、MVC、Windows 窗体和 WPF。它能与 .NET Core 和 Framework 平滑集成。它还能与 Azure 和其他云服务一起使用,这对于基于云的应用程序开发来说是一大优势。
IronPDF 能完美地将 HTML 转换为 PDF 文档。它能完美处理 HTML、CSS、JavaScript 和图像,确保您的网页内容在最终 PDF 中看起来恰到好处。转换过程中还会保留原始 HTML 的布局和样式。
与 ASP.NET 无缝集成,让您无需大量编码即可将 ASPX 页面转换为 PDF。这对于将现有的网络应用程序制作成 PDF 格外方便。
IronPDF 可让您 编辑现有 PDF 文件您还可以添加文本、图像、页面或合并多个 PDF。编辑功能对用户友好,所以你不需要成为 PDF 专家就能使用它们。您还可以添加 注释, 附件, 大纲和书签 到您的 PDF 中。
IronPDF 支持从以下表格中填写和提取数据 PDF 表格这对于处理表单的应用程序来说至关重要。IronPDF 让整个表单数据管理过程变得更加顺畅。它还能处理不同类型的 PDF 表单,这增加了它的灵活性。
IronPDF 具有密码保护和 PDF 文档权限设置等安全功能,这对于保护敏感信息的安全至关重要。它还具有加密和解密功能,为 PDF 文件增加了另一层安全保护。 PDF 文件的安全性.
你可以控制 PDF 的渲染方式,如设置 自定义页眉和页脚调整 页边距并选择特定的 HTML 部分进行转换。这种定制功能可确保您的 PDF 文件按您的要求进行转换。
IronPDF 支持 符合 PDF/A 标准 和 数字签名.它还具有 OCR 功能,这意味着它可以将扫描的文档和图像转换成可供搜索和编辑的 PDF。这些功能非常适合更复杂的项目。
设置 IronPDF 非常简单--无需额外安装或依赖。它是轻量级的,因此不会降低应用程序的性能。此外,IronPDF 一直在更新,以跟上最新的 .NET 技术,为您提供不会过时的 PDF 解决方案。
打开 Visual Studio,点击 "创建新项目 "按钮启动新项目。
然后,选择 "控制台应用程序"、".NET Core 应用程序 "或其他选项。
您需要为项目命名。找到项目名称文本框,输入你想要的名称。此外,请选择项目的保存路径。输入这些详细信息后,点击 "创建 "按钮继续。
下一步是为项目选择所需的 .NET 框架。这取决于项目的要求和兼容性。之后,点击 "创建 "按钮。
要使用 Visual Studio NuGet 包管理器安装 IronPDF,请按照以下步骤操作:
点击 "工具 "菜单,选择 "NuGet 包管理器",然后选择 "管理解决方案的 NuGet 包"。
找到 IronPDF 软件包后,选择它并点击 "安装"。
如果您喜欢使用命令行,可以在 Visual Studio 中安装 IronPDF,方法如下:
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
按 Enter 键执行命令,等待安装完成。
IronPDF 也可直接从 NuGet 网站下载:
使用搜索栏查找 IronPDF 软件包。
下载 .nupkg 文件并手动添加到项目中。
要使用 Visual Studio 的 NuGet 包管理器运行 JSReport,请进入 "工具 "菜单并选择 "管理 NuGet 包"。这将打开 NuGet 包管理器界面。在 NuGet 包管理器中,您可以根据项目要求搜索 jsreport.Local 或 jsreport.Binary 。
这些是将 JSReport 集成到 .NET 应用程序中的主要软件包。找到合适的软件包后,点击 "安装 "将其添加到您的项目中。此过程将自动下载并在项目中引用该软件包,使其可以随时使用。
您也可以使用 Visual Studio 中的 NuGet 软件包管理器控制台安装 JSReport。为此,请从 "工具 "菜单中选择 "NuGet 包管理器",然后选择 "包管理器控制台",打开 NuGet 包管理器控制台。
在控制台中,您需要运行特定命令来安装 JSReport 软件包。如果要安装jsreport.Local软件包,可以使用Install-Package jsreport.Local命令。对于jsreport.Binary软件包,使用的命令是Install-Package jsreport.Binary。在 "软件包管理器控制台 "中执行这些命令,就能下载相应的 JSReport 软件包并将其添加到项目中。
IronPDF 是 HTML 到 PDF 转换的最佳库。它以其易用性和高性能脱颖而出,成为开发人员的首选。它支持 CSS 渲染、JavaScript 执行、自定义页眉和页脚等高级功能,进一步增强了从 HTML 源生成高质量 PDF 的能力。IronPDF 提供 3 种将 HTML 转换为 PDF 的方法:
1.将 HTML 字符串转换为 PDF
2.HTML 文件转 PDF
3.URL 转 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")
下面是输出的 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")
下面是一张 HTML 发票的 PDF 输出文件:
1
该功能可通过 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")
下面是使用上述逻辑生成的 Microsoft .NET 网站 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
您还可以从以下内容中找到 JSReport .NET 的示例 链接.以下是 PDF 格式发票报告的输出示例。
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)
编辑、合并和分割 PDF:IronPDF 允许编辑现有的 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")
页眉和页脚控件:开发人员可以轻松地在 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()
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"}
})
模板引擎:JSReport .NET 具有生成报告的调度和自动化功能,非常适合定期报告需求,如每日或每月摘要。该功能可确保及时交付报告,并可与业务工作流集成,实现事件触发式报告。
使用自定义脚本扩展功能:JSReport C# 允许通过自定义脚本扩展其功能,增强自定义数据处理或专门格式化等功能。这种可扩展性对于创建符合特定业务逻辑和数据操作要求的报告至关重要。
IronPDF 的文档既全面又友好,既适合初学者也适合有经验的开发人员。它包括详细的指南、API 参考和大量代码示例,使开发人员更容易理解并用 C# 和 Node 等多种语言实现该库的功能。
文档结构合理,定期更新,反映了最新功能和最佳实践。此外,IronPDF 网站还提供了快速入门指南和常见问题解答,这对那些在 .NET 环境中操作 PDF 的新手特别有帮助。
IronPDF 还有一个在线游乐场,在那里您可以在线试用 IronPDF 的功能,而无需下载其代码。请使用以下链接进行探索 链接.
IronPDF 提供多种支持选项,包括一个专门的支持团队来处理询问和技术问题。他们提供电子邮件支持,并活跃于开发人员论坛,提供解决方案和建议。您还可以使用网站上的即时支持选项联系即时支持代理。
JSReport .NET 以其内容广泛、维护良好的文档而自豪。文档涵盖了从基本设置到高级使用场景的广泛主题,并配有代码片段和实施示例。文档的编排符合逻辑,便于浏览和查找相关信息。在线资源还包括全面的 API 参考资料,确保开发人员能够获得有关工具功能的详细信息。
在支持方面,JSReport .NET 提供了多种选择。他们有一个专门的支持团队,可以通过电子邮件与他们取得联系,他们还在 GitHub 上保持活跃,为报告问题和功能请求提供了一个平台。
IronPDF 提供三种 不同的定价选择以满足不同的使用规模和预算要求:
Lite Edition:售价为"$liteLicense",这是用于云部署的一次性费用。它专为小型项目或刚开始使用 PDF 处理的团队而设计。
专业版:该版本价格为 1,499 美元,也是一次性云使用费,适合需要更多高级特性和功能的专业开发人员。
无限制版:最全面的套餐,售价 2999 美元,只需一次性付费即可进行云部署。它是大规模企业使用的理想选择,提供广泛的功能,且没有使用限制。
JSReport .NET 提供 灵活的许可选项包括订购许可证和永久许可证:
免费许可证:提供一个功能齐全的实例,仅限于 5 个报告模板。它不需要许可证密钥,适合小型项目或评估用途。
企业订阅:该计划每年定价 395 美元,提供功能齐全的单个 JSReport 实例,无任何限制并包含更新。它是需要强大报告解决方案的个人企业的理想选择。
Enterprise Scale Subscription:该计划每年 1295 美元,最适合大规模部署,提供的单个许可证密钥可用于无限数量的实例。该计划包括更新且免版税,因此适用于运行多个实例或作为其他产品的一部分部署给多个客户的组织。
总之,虽然 IronPDF 和 JSReport .NET 在各自的领域都很有价值,但 IronPDF 因其全面的 PDF 操作能力而略胜一筹。它在 PDF/A 合规性、高级编辑和安全功能等领域表现出色,使其成为在 .NET 环境中详细处理 PDF 的更多功能工具。JSReport .NET 在动态报表生成和模板制作方面具有优势,对于以报表为中心的任务非常有效。然而,对于大多数需要详细和多样的 PDF 处理和操作的情况,IronPDF 是更有利的选择。
IronPDF 提供免费的开发人员许可证和 免费试用.Iron 软件公司提供一个名为 Iron Suite 的综合软件包。该套件包括 IronBarcode, IronXL, IronQR, IronOCR, IronPDF和 IronWebScraper它以 2 个软件的价格提供,为寻求广泛功能的开发人员增加了重要价值。
最后,两者之间的选择取决于项目或开发人员的具体需求和环境。