跳至页脚内容
产品比较

IronPDF 与 DynamicPDF - 全面比较

1.简介

PDF代表便携式文档格式,由Adobe开发用于展示包含格式化文本和图像的文档。 我们需要一个单独的应用程序来打开PDF格式的文件。 PDF在现代世界中扮演着重要角色; PDF文件在大多数行业部门中被用于开具发票和文档生成。 开发人员正在使用PDF来满足客户生成文档的要求。 如今,得益于市场上现有的库,PDF生成变得更加容易。 在项目中使用这类库时,我们应该考虑如何创建、读取和转换等因素; 这将有助于我们决定哪个库最适合我们。

在本文中,我们将比较用于.NET组件的两种最受欢迎的PDF库。 这两个库是:

  • IronPDF
  • DynamicPDF

IronPDF和DynamicPDF库都用于在Microsoft .NET应用程序、ASP.NET Web应用程序以及传统Windows应用程序中创建、读取或修改PDF文件。 我们现在可以比较这两个库。 为了决定哪个最适合在我们的应用程序中使用,我们首先将比较这两个库的功能,然后再分析转换和操作PDF文件时的性能水平。 两个库都由Microsoft .NET Core框架支持。

1.1 IronPDF功能

IronPDF是一个强大的HTML转换器,可以处理几乎所有网页浏览器能提供的内容。 开发人员可以轻松使用的.NET库,用于创建、读取或修改PDF文件。 IronPDF使用Chromium引擎将HTML渲染为PDF,并支持各种web组件,如HTML、ASPX、Razor HTML和MVC View。 IronPDF支持您的Microsoft .NET应用程序(包括ASP.NET Web应用程序和传统Windows应用程序)中的文件。

IronPDF允许我们从HTML5、JavaScript、CSS和图像创建文件。 我们还可以为文件添加页眉和页脚,并且一般来说,读取PDF文件变得非常简单。 此外,IronPDF包括一个强大的HTML到PDF转换器,可以处理所有PDF文件。

PDF文件可以从各种类型的文件(包括HTML、HTML5、ASPX和Razor/MVC View)创建。 我们还可以将图像文件转换为PDF。

从URL链接生成文档。 它还允许我们使用自定义网络登录凭据、用户代理、代理、Cookies、HTTP头和表单变量,允许在HTML登录表单后登录。

  • IronPDF允许我们读取和填写现有PDF文档中的表单。
  • 它能够从文档中提取图像。
  • 它允许我们为文档添加页眉、页脚、文本、图像、书签、水印等。
  • 它允许我们合并和拆分新的或现有的文档页面。
  • 我们可以在没有Acrobat Reader的情况下将文档转换为PDF对象。
  • 我们可以将CSS文件和媒体类型文件转换为文档。

1.2 DynamicPDF功能

DynamicPDF for .NET是一个PDF操作工具,帮助用户在.NET平台上创建、编辑、合并、拆分、报告和写入等功能。 DynamicPDF提供七种不同的功能或产品,帮助用户进行与PDF相关的工作。 查看DynamicPDF提供的以下产品。

DynamicPDF HTML Converter for .NET

DynamicPDF HTML Converter将HTML转换为PDF和PDF字节数组。

DynamicPDF Core Suite for .NET

DynamicPDF Core Suite是他们的主要产品,处理所有的PDF操作,如创建PDF、创建PDF报告、打包PDF、PDF/A兼容PDF、PDF/X兼容PDF、盖章PDF、标记PDF和模板。

DynamicPDF PrintManager for .NET

此功能提供打印PDF、传真PDF、从字节数组打印PDF和打印多个PDF。

DynamicPDF Converter for .NET

此功能提供使用.NET平台将不同的文件格式转换为PDF,如HTML、Excel、PowerPoint、Tiff和Word到PDF。

DynamicPDF Rasterizer for .NET

此产品允许用户将PDF转换为不同的图像格式,如JPG、TIFF、BMP、PNG和GIF。

DynamicPDF Viewer for .NET

DynamicPDF Viewer提供打开和查看PDF的方式。

  • 打开加密的PDF
  • 从字节数组打开PDF
  • 从路径文件打开PDF

DynamicBarcode Creator for .NET

此功能允许开发人员创建不同类型的条形码。

  • 2D条形码
  • 线性条形码
  • 邮政条形码

2. 在Visual Studio中新建项目

打开Visual Studio软件,进入文件菜单,并选择一个新项目。 然后选择控制台应用程序。 在这篇文章中,我们将使用控制台应用程序生成PDF文档。

输入项目名称,并在相应的文本框中选择文件路径。 然后,点击创建按钮。 还可选择所需的.NET框架。

Visual Studio项目现在将为所选的应用程序生成结构,并且如果您选择控制台、Windows和Web应用程序,它将打开program.cs文件,您可以在此输入代码并构建/运行应用程序。

接下来,我们可以添加库来测试代码。

3. 安装IronPDF库

IronPDF库有四种不同的下载和安装方式。

这些是:

  • 使用Visual Studio。
  • 使用Visual Studio命令行。
  • 从NuGet网站直接下载。
  • 从IronPDF网站直接下载。

3.1 使用Visual Studio

Visual Studio软件提供NuGet包管理器选项,以直接将包安装到解决方案中。

它提供搜索框以显示来自NuGet网站的包列表。在包管理器中,我们需要搜索关键字"IronPDF"。

3.2 使用Visual Studio命令行

  • 在Microsoft Visual Studio中,转到工具 -> NuGet包管理器 -> 包管理器控制台
  • 在包管理器控制台标签中输入以下行:
Install-Package IronPdf

现在包将下载/安装到当前项目,并可以使用了。

3.3 从NuGet网站直接下载

第三种方法是直接从网站下载NuGet包。

  • 导航到IronPdf NuGet包
  • 从右侧菜单中选择下载包选项。
  • 双击已下载的包。 它将自动安装。
  • 现在重新加载解决方案并开始在项目中使用它。

3.4 从IronPDF网站直接下载

访问IronPDF官方网站直接从网站下载最新包。下载后,按照以下步骤将包添加到项目中。

  • 从解决方案窗口右键点击项目。
  • 然后选择引用选项并浏览已下载引用的位置。
  • 点击确定以添加引用。

4. 安装DynamicPDF库

NuGet包

DynamicPDF Core Suite可在NuGet上使用,并是ceTe.DynamicPDF.CoreSuite.NET包的一部分。 最简单的安装方式是使用Visual Studio包管理器。 您也可以直接从NuGet下载包。

NuGet包ID: ceTe.DynamicPDF.CoreSuite.NET

DynamicPDF Core Suite信息

更多信息可在DynamicPDF Core Suite文档中找到。

可用于其他平台。 DynamicPDF Core Suite可用于Java和COM/ActiveX平台。 请参考相应产品页面以获取更多详细信息。

4.1 文档

文档有在线和.chm格式的文件可在主机本地安装。

4.2 示例

示例应用展示了DynamicPDF提供的功能。 这些也在主机上本地安装。

访问DynamicPDF GitHub仓库获取示例应用。

4.3 工具

可能需要安装其他工具来使用产品。 例如,添加HTML到PDF的工具。

4.3.1 添加DynamicPDF引用NuGet包

DynamicPDF HTML Converter、DynamicPDF Core Suite和DynamicPDF Converter均可通过NuGet使用。 最简单的安装方式是通过Visual Studio包管理器。

DynamicPDF HTML Converter在NuGet上可用,包为ceTe.DynamicPDF.HtmlConverter.NET

DynamicPDF Core Suite在NuGet上可用,并在ceTe.DynamicPDF.CoreSuite.NET包中。

DynamicPDF Converter在NuGet上可用,并在ceTe.DynamicPDF.Converter.NET包中。

GitHub示例项目

在GitHub上克隆或查看示例项目:DynamicPDF示例项目

DynamicPDF Converter和Generator信息

关于这三种产品的更多信息请通过以下链接获取:

5. 从URL创建便携式文档格式

这两个PDF库都有可以处理强大HTML到PDF转换的转换器。 下面我们来看看如何创建PDF文件。

5.1 使用IronPDF

IronPDF使我们能够轻松创建PDF。 它从URL渲染HTML文件并转换它们为PDF文档。

以下方法帮助我们轻松创建PDF文档:

// Initialize a new instance of the ChromePdfRenderer class.
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a PDF from a given URL and save it as "result.pdf".
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");

// Alternatively, chain the method calls
new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
// Initialize a new instance of the ChromePdfRenderer class.
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a PDF from a given URL and save it as "result.pdf".
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");

// Alternatively, chain the method calls
new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
' Initialize a new instance of the ChromePdfRenderer class.
Dim Renderer As New IronPdf.ChromePdfRenderer()

' Render a PDF from a given URL and save it as "result.pdf".
Dim Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/")
Pdf.SaveAs("result.pdf")

' Alternatively, chain the method calls
Call (New IronPdf.ChromePdfRenderer()).RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf")
$vbLabelText   $csharpLabel

在上述示例中,我们使用两种方法将链接转换为文档。 一种方法包括创建IronPDF对象,而另一种方法则直接链接RenderUrlAsPdf调用。

5.2 使用DynamicPDF

强大的HTML到PDF转换器是DynamicPDF提供的功能。 它将任何HTML或标记文件转换为PDF。 下面是一个使用DynamicPDF轻松创建PDF的示例。

// Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath);
// Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath);
' Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath)
$vbLabelText   $csharpLabel

此示例演示从HTML(指定URL)到PDF的简单文件转换。

6. 从HTML创建便携式文档格式

IronPDF和DynamicPDF都提供了一种易于将HTML字符串转换为PDF的方法。

6.1 使用IronPDF

借助IronPDF,我们可以将HTML字符串转换为PDF文档。 下面是将HTML字符串转换为文档的示例。 它还允许将任何HTML标签转换为PDF文档。

// Convert an HTML string to a PDF and save it as "result.pdf".
var Renderer = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
// Convert an HTML string to a PDF and save it as "result.pdf".
var Renderer = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
' Convert an HTML string to a PDF and save it as "result.pdf".
Dim Renderer = (New IronPdf.ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf")
$vbLabelText   $csharpLabel

以上示例显示我们能够使用RenderHtmlAsPdf转换HTML字符串。

6.2 使用DynamicPDF

DynamicPDF也帮助我们将HTML字符串转换为文档。 下面是将HTML字符串转换为文档的示例。

// Define a simple HTML string with a table.
string sampleHtml = "<html><body><p>This is a very simple HTML string including a Table below.</p>" +  
                    "<h4>Two rows and three columns:</h4><table border=\"1\"><tr><td>100</td><td>200</td>" +  
                    "<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>";

// Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath); 
// Define a simple HTML string with a table.
string sampleHtml = "<html><body><p>This is a very simple HTML string including a Table below.</p>" +  
                    "<h4>Two rows and three columns:</h4><table border=\"1\"><tr><td>100</td><td>200</td>" +  
                    "<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>";

// Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath); 
' Define a simple HTML string with a table.
Dim sampleHtml As String = "<html><body><p>This is a very simple HTML string including a Table below.</p>" & "<h4>Two rows and three columns:</h4><table border=""1""><tr><td>100</td><td>200</td>" & "<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>"

' Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath)
$vbLabelText   $csharpLabel

以下示例演示了特定HTML字符串到PDF的转换。

7. 阅读便携式文档格式文件

我们可以使用IronPDF和DynamicPDF读取PDF文档。

7.1 使用IronPDF

IronPDF帮助我们读取现有的PDF文件。 下面是使用IronPDF读取现有PDF的示例。

// Read an existing PDF file and convert it into a PDF document object.
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
// Read an existing PDF file and convert it into a PDF document object.
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
' Read an existing PDF file and convert it into a PDF document object.
Dim pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf")
$vbLabelText   $csharpLabel

以上代码调用FromFile方法,用于从现有文件中读取PDF并将其转换为PDF文档对象。

7.2 使用DynamicPDF

DynamicPDF还帮助我们在Microsoft .NET应用程序中读取现有的PDF,以及ASP.NET Web应用程序和传统Windows应用程序中读取PDF。 下面是从PDF文档中读取数据的示例。

以下步骤和示例代码说明了使用Rasterizer产品从文件路径打开PDF。

从文件路径打开PDF的步骤

  1. 通过提供文件路径使用PDF Viewer打开PDF文档。

示例代码 - C#

// Open the PDF from a specified file path.
pdfViewer.Open(@"C:\DocumentA.pdf");
// Open the PDF from a specified file path.
pdfViewer.Open(@"C:\DocumentA.pdf");
' Open the PDF from a specified file path.
pdfViewer.Open("C:\DocumentA.pdf")
$vbLabelText   $csharpLabel

Bootstrap PDF功能比较

现代PDF生成需要对当代web技术的强大支持。 这个交互比较展示了IronPDF如何利用Bootstrap 5来创建具有先进布局和样式的专业PDF文档。

using IronPdf;

var renderer = new ChromePdfRenderer();

string pdfFeaturesTable = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .feature-badge { font-size: 0.75rem; padding: 0.25rem 0.5rem; }
        .metric-card { border-left: 4px solid #0d6efd; }
        @media print { .table { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>HTML Rendering</h6>
                        <h3 class='mb-0'>Chrome V8</h3>
                        <span class='badge bg-success feature-badge mt-2'>98% Browser Fidelity</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>Rendering Speed</h6>
                        <h3 class='mb-0'>&lt;1.5s</h3>
                        <span class='badge bg-info feature-badge mt-2'>Complex HTML</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>CSS Support</h6>
                        <h3 class='mb-0'>CSS3 Full</h3>
                        <span class='badge bg-primary feature-badge mt-2'>Flexbox + Grid</span>
                    </div>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>PDF Generation Capabilities Comparison</h5>
            </div>
            <div class='card-body p-0'>
                <div class='table-responsive'>
                    <table class='table table-hover mb-0'>
                        <thead class='table-light'>
                            <tr>
                                <th>Feature</th>
                                <th>IronPDF</th>
                                <th>DynamicPDF</th>
                                <th>Advantage</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td><strong>HTML to PDF</strong></td>
                                <td><span class='badge bg-success'>Full Support</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>JavaScript Execution</strong></td>
                                <td><span class='badge bg-success'>Native</span></td>
                                <td><span class='badge bg-danger'>Not Supported</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>CSS3 Layouts</strong></td>
                                <td><span class='badge bg-success'>Flexbox/Grid</span></td>
                                <td><span class='badge bg-warning text-dark'>Basic</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Web Fonts</strong></td>
                                <td><span class='badge bg-success'>Google Fonts</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Image Formats</strong></td>
                                <td><span class='badge bg-success'>All Modern</span></td>
                                <td><span class='badge bg-success'>Standard</span></td>
                                <td>Both</td>
                            </tr>
                            <tr>
                                <td><strong>Form Fields</strong></td>
                                <td><span class='badge bg-success'>Interactive</span></td>
                                <td><span class='badge bg-success'>Supported</span></td>
                                <td>Both</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Note:</strong> DynamicPDF focuses on programmatic PDF creation while IronPDF excels at HTML-to-PDF conversion with modern web standards.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(pdfFeaturesTable);
pdf.SaveAs("pdf-features-comparison.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string pdfFeaturesTable = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .feature-badge { font-size: 0.75rem; padding: 0.25rem 0.5rem; }
        .metric-card { border-left: 4px solid #0d6efd; }
        @media print { .table { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>HTML Rendering</h6>
                        <h3 class='mb-0'>Chrome V8</h3>
                        <span class='badge bg-success feature-badge mt-2'>98% Browser Fidelity</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>Rendering Speed</h6>
                        <h3 class='mb-0'>&lt;1.5s</h3>
                        <span class='badge bg-info feature-badge mt-2'>Complex HTML</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>CSS Support</h6>
                        <h3 class='mb-0'>CSS3 Full</h3>
                        <span class='badge bg-primary feature-badge mt-2'>Flexbox + Grid</span>
                    </div>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>PDF Generation Capabilities Comparison</h5>
            </div>
            <div class='card-body p-0'>
                <div class='table-responsive'>
                    <table class='table table-hover mb-0'>
                        <thead class='table-light'>
                            <tr>
                                <th>Feature</th>
                                <th>IronPDF</th>
                                <th>DynamicPDF</th>
                                <th>Advantage</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td><strong>HTML to PDF</strong></td>
                                <td><span class='badge bg-success'>Full Support</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>JavaScript Execution</strong></td>
                                <td><span class='badge bg-success'>Native</span></td>
                                <td><span class='badge bg-danger'>Not Supported</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>CSS3 Layouts</strong></td>
                                <td><span class='badge bg-success'>Flexbox/Grid</span></td>
                                <td><span class='badge bg-warning text-dark'>Basic</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Web Fonts</strong></td>
                                <td><span class='badge bg-success'>Google Fonts</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Image Formats</strong></td>
                                <td><span class='badge bg-success'>All Modern</span></td>
                                <td><span class='badge bg-success'>Standard</span></td>
                                <td>Both</td>
                            </tr>
                            <tr>
                                <td><strong>Form Fields</strong></td>
                                <td><span class='badge bg-success'>Interactive</span></td>
                                <td><span class='badge bg-success'>Supported</span></td>
                                <td>Both</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Note:</strong> DynamicPDF focuses on programmatic PDF creation while IronPDF excels at HTML-to-PDF conversion with modern web standards.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(pdfFeaturesTable);
pdf.SaveAs("pdf-features-comparison.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出:一个具有Bootstrap 5卡片、响应式表格和颜色编码徽章显示功能比较的专业PDF文档。 IronPDF以像素完美的准确度渲染所有Bootstrap组件,包括flexbox布局、实用类和现代卡片系统。

有关Bootstrap兼容性的更多信息,请参阅Bootstrap & Flexbox CSS指南

8. 合并便携式文档格式文件

IronPDF和DynamicPDF都可以帮助在您的Microsoft .NET应用程序中将多个文档合并为一个文档。 借助这些库,我们可以轻松合并文件。

8.1 使用IronPDF

IronPDF帮助我们将多个文件合并为一个文档。

// Create a list of PDF documents to merge.
var pdfDocuments = new List<IronPdf.PdfDocument>();
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));

// Merge the list of documents and save the merged document.
var mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf");
// Create a list of PDF documents to merge.
var pdfDocuments = new List<IronPdf.PdfDocument>();
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));

// Merge the list of documents and save the merged document.
var mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf");
' Create a list of PDF documents to merge.
Dim pdfDocuments = New List(Of IronPdf.PdfDocument)()
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"))
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"))

' Merge the list of documents and save the merged document.
Dim mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments)
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf")
$vbLabelText   $csharpLabel

8.2 使用DynamicPDF

DynamicPDF也帮助我们将多个文件合并为一个文档。 下面是一个合并文件的示例。

// Create a MergeDocument object to begin merging.
MergeDocument document = new MergeDocument("DocumentA.pdf");

// Append additional documents.
document.Append("DocumentB.pdf");
document.Append("DocumentC.pdf");

// Draw the merged document to an output file.
document.Draw("output.pdf");
// Create a MergeDocument object to begin merging.
MergeDocument document = new MergeDocument("DocumentA.pdf");

// Append additional documents.
document.Append("DocumentB.pdf");
document.Append("DocumentC.pdf");

// Draw the merged document to an output file.
document.Draw("output.pdf");
' Create a MergeDocument object to begin merging.
Dim document As New MergeDocument("DocumentA.pdf")

' Append additional documents.
document.Append("DocumentB.pdf")
document.Append("DocumentC.pdf")

' Draw the merged document to an output file.
document.Draw("output.pdf")
$vbLabelText   $csharpLabel

9. 拆分便携式文档格式文件

IronPDF和DynamicPDF库允许用户将页面拆分为单独的文档。 两者都提供了一种完成此过程的简单方法。

9.1 使用IronPDF

IronPDF允许我们将单页和多页转换为单独的文档。 下面是一个将拆分页创建为单独文档的示例。

// Load the PDF document to be split.
var Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf");

// Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf");
// Load the PDF document to be split.
var Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf");

// Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf");
' Load the PDF document to be split.
Dim Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf")

' Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf")
$vbLabelText   $csharpLabel

9.2 使用DynamicPDF

DynamicPDF也允许将单个文档页面拆分为多个文档。 下面是一个将特定文档页面拆分为另一个文档的示例。

// Create a PdfDocument object for the original document.
PdfDocument pdf = new PdfDocument("DocumentA.pdf");

// Split the document into parts and save each part as a separate PDF.
MergeDocument part1 = new MergeDocument(pdf, 1, 4);
part1.Draw("output-part1.pdf");
MergeDocument part2 = new MergeDocument(pdf, 5, 8);
part2.Draw("output-part2.pdf");
// Create a PdfDocument object for the original document.
PdfDocument pdf = new PdfDocument("DocumentA.pdf");

// Split the document into parts and save each part as a separate PDF.
MergeDocument part1 = new MergeDocument(pdf, 1, 4);
part1.Draw("output-part1.pdf");
MergeDocument part2 = new MergeDocument(pdf, 5, 8);
part2.Draw("output-part2.pdf");
' Create a PdfDocument object for the original document.
Dim pdf As New PdfDocument("DocumentA.pdf")

' Split the document into parts and save each part as a separate PDF.
Dim part1 As New MergeDocument(pdf, 1, 4)
part1.Draw("output-part1.pdf")
Dim part2 As New MergeDocument(pdf, 5, 8)
part2.Draw("output-part2.pdf")
$vbLabelText   $csharpLabel

10. 许可

DynamicPDF是一个库,允许我们从不同的来源(如HTML字符串和HTML链接)创建PDF文档,以及拆分和合并文档。 DynamicPDF有不同的价格结构,最低价格从$799的单用户许可证开始。 开发人员许可证是免费的,因此我们可以进行测试。 在DynamicPDF定价页面查看DynamicPDF的价格结构。

IronPDF也是一个库,并附有免费的开发人员许可证。 IronPDF也有不同的价格结构。 Lite包从$799开始,没有持续成本,包含SaaS和OEM再发行。 所有许可证均包括30天退款保证、一年的产品支持和更新、有效期为开发/测试/生产阶段。 还有一个永久许可证(一次性购买)。 访问IronPDF定价页面查看IronPDF的完整价格结构和许可证。

11.结论

在本文中,我们比较了IronPDF和DynamicPDF。 我们探索了两个库中都提供的一些常见功能。 IronPDF考虑到用户的Chrome设置来渲染HTML,而DynamicPDF在一个单独的引擎上运行,不考虑当前用户设置来渲染HTML。 与DynamicPDF相比,IronPDF可以快速渲染HTML。

在性能方面,IronPDF比DynamicPDF更快,正如上面的测试结果所示。 IronPDF附带无需许可的再发行覆盖,但DynamicPDF没有提供这一点。 IronPDF还提供比DynamicPDF更多的功能。

总之,我们选择IronPDF,因为其高性能水平和为开发人员提供的众多PDF功能。 IronPDF还提供良好的支持和丰富的文档,帮助我们利用其所有功能。

[{i:(DynamicPDF是其各自所有者注册的商标。 此网站与DynamicPDF无关,也未获得其认可或资助。 所有产品名称、徽标和品牌均为其各自所有者的财产。 比较仅供参考,反映的是撰写时的公开信息。]

常见问题解答

如何在.NET应用程序中将HTML转换为PDF?

您可以使用IronPDF的RenderHtmlAsPdf方法将HTML字符串转换为PDF。该方法利用基于Chromium的引擎,确保高保真渲染。

使用IronPDF进行PDF操作的优势是什么?

IronPDF提供卓越的速度和性能,特别是在HTML到PDF转换方面,因为其使用Chromium引擎。它还支持广泛的PDF操作,如添加页眉、页脚和书签,以及合并和拆分文档。

IronPDF有哪些安装选项?

IronPDF可以通过Visual Studio的NuGet包管理器、Visual Studio命令行安装,或者直接从NuGet或IronPDF网站下载。

我可以使用IronPDF合并PDF文件吗?

是的,IronPDF提供功能来将多个PDF文件合并为一个单一文档,方便文档管理和操作。

IronPDF提供哪些许可选项?

IronPDF提供免费开发者许可证和多种商业许可选项。它提供了有利的定价结构,使得各种规模的开发者都可以访问。

IronPDF是否为开发者提供支持和文档?

是的,IronPDF提供强大的支持和全面的文档,帮助开发者有效利用其功能。

就HTML到PDF转换速度而言,IronPDF与DynamicPDF的比较如何?

IronPDF通常比DynamicPDF更快进行HTML到PDF转换,因为它使用Chromium引擎,确保高效和高性能的渲染。

为什么开发者可能会选择IronPDF而不是DynamicPDF?

开发者可能会选择IronPDF是因为其丰富的功能、快速的渲染能力和有利的许可选项,使其成为.NET PDF处理的优越选择。

IronPDF的PDF处理有哪些关键功能?

IronPDF支持将HTML、ASPX和Razor HTML转换为PDF,并提供功能如添加页眉和页脚、创建书签,以及集成CSS和图片。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。