IronPDF vs BitMiracle.Docotic.Pdf:完整的.NET PDF库比较
IronPDF 的性能优于 BitMiracle.Docotic.Pdf,它具有更出色的基于 Chrome 的渲染、更快的 HTML 到 PDF 转换(4.28 秒,而异步操作速度较慢)、原生 JavaScript/CSS3 支持以及更简单的 API 设计,使其成为需要可靠的 PDF 生成和操作的生产 .NET 系统的更好选择。
Adobe设立了便携文档格式(PDF)以分发包含文本和图形格式的文档。 打开 PDF 文件需要单独的应用程序。 PDF 格式在现代商业运营中依然不可或缺。 便携式文档格式(PDF)文件广泛应用于各行各业,用于开具发票和生成文档。 开发人员使用 PDF 格式来创建符合客户要求的文档。 现代库已大大简化了 PDF 的创建过程。 在为项目选择库时,开发人员必须分析其构建、读取和转换能力。
本文对比了两个备受瞩目的 .NET 组件 PDF 库:
- IronPDF
BitMiracle.Docotic.Pdf
IronPDF 和 BitMiracle.Docotic.Pdf 使开发人员能够在Microsoft .NET应用程序(无论是在线应用程序还是桌面应用程序)中创建、读取和操作 PDF 文档。本文将比较这两个库的功能、 HTML 到 PDF 的转换性能以及文档操作能力。 这两个库均支持 Microsoft .NET Framework。
IronPDF 的主要功能有哪些?
IronPDF 是一款高效的 PDF 转换器,可执行浏览器级别的操作。 该库使开发人员能够高效地创建、读取和处理 PDF 文件。 IronPDF 采用 Chrome 引擎实现 HTML 到 PDF 的转换。 该库支持 Windows Forms、HTML、ASPX、Razor HTML、.NET Core、ASP.NET、WPF、Xamarin、Blazor、Unity 和 HoloLens 应用程序。 IronPDF 可与 Microsoft .NET 和 .NET Core 应用程序(包括 ASP.NET Web 应用程序和传统 Windows 应用程序)配合使用。 开发者可以利用自定义样式生成美观的 PDF 文件。
IronPDF 可从 HTML5、JavaScript、CSS 和图像创建 PDF 文档。 文档中可能包含页眉和页脚。 该库简化了 PDF 读取操作。 IronPDF 提供了一个可靠的 HTML 转 PDF 转换器。 该库可独立运行,无需外部依赖。
- 从 HTML、HTML5、ASPX 以及 Razor/MVC 视图创建 PDF 文档。 将 HTML 文件和图片转换为 PDF。
- 生成交互式 PDF、填写并提交表单、合并和拆分文档、提取文本和图像、搜索文本、将页面渲染为图像,以及转换文档。
- 支持通过 URL 创建文档,并支持自定义网络凭据、用户代理、代理服务器、Cookie、HTTP 头以及表单变量。
- 使用凭据打开受保护的文档。
- 读取现有 PDF 文件并填写表单。
- 从文档中提取图片。
- 向文档中添加页眉、页脚、文本、图片、书签和水印。
- 在不同文档之间拆分和合并页面。
- 无需 Acrobat Reader 即可将文档转换为 PDF 对象。
- 将 CSS 文件转换为 PDF 文档。
- 将 CSS 媒体类型转换为文档。
- 创建新的 PDF 表单并填写现有表单。
BitMiracle.Docotic.Pdf 的主要特点是什么?
Docotic.Pdf 库为 .NET 开发人员(包括 .NET Core / .NET Standard)提供 .NET Core、 ASP.NET 、Windows Forms、WPF、Xamarin、Blazor、Unity 和 HoloLens 应用程序的功能。 该库可创建、编辑、绘制和打印 PDF 文件。
该库作为托管程序集运行,不包含任何危险代码块。 该程序集保持了与外部依赖项的独立性。 该库旨在达到与 Google Chrome 相当的网页标准兼容性。
从 PDF 中提取图片、附件、表单数据和元数据。
HTML 转 PDF 需要免费的 BitMiracle.Docotic.Pdf.HtmlToPdf 插件。
绘图.插图生成需要免费的 BitMiracle.Docotic.Pdf.Gdi 插件。
使用指定的凭据打开受保护的文档。
将 PDF 拆分为单页或合并表单数据; 将多个文件组合成复合文档; 加密 PDF 文件并配置权限; 查看受保护的文档; 验证加密状态,并比较文档结构。
验证 PDF 签名。
从零开始生成 PDF。
通过图片、文本和矢量图形优化 PDF 文件。
向 PDF 文件添加注释、水印、附件、操作、书签和链接。
填写现有表单并创建新表单。
优化 PDF 以供网页浏览(将 PDF 线性化)。
如何在 Visual Studio 中创建新项目?
打开 Visual Studio,然后导航至"文件菜单"。 选择"新建"项目,然后选择"控制台应用程序"。 本文演示了如何使用控制台应用程序生成 PDF 文档。
输入项目名称并选择文件路径。 点击"创建"并选择所需的 .NET Framework:
Visual Studio 会根据所选的应用程序类型生成项目结构。 控制台应用程序会打开 Program.cs 文件,开发人员可以在其中输入代码并构建/运行应用程序。
现在可以将该库添加进来以测试代码。
如何安装 IronPDF 库?
IronPDF 库提供四种安装方法:
- 使用Visual Studio
- 使用Visual Studio命令行
- 直接从 NuGet 网站下载
- 从IronPDF网站直接下载
为何使用 Visual Studio 包管理器?
Visual Studio 提供了 NuGet 包管理器,用于直接安装包。 下图展示了如何访问 NuGet 包管理器:
该包管理器为 NuGet 包提供了一个搜索界面。 搜索"IronPDF"以查看可用软件包:
选择所需的包将其安装到解决方案中。 有关详细说明,请参阅《高级 NuGet 安装指南》。
何时应使用命令行安装?
在 Visual Studio 中,依次导航至"工具"->"NuGet 包管理器"->"包管理器控制台"。
在控制台中输入以下命令:
Install-Package IronPdf
该包将下载并安装最新版本到当前项目中。
如何直接从 NuGet 下载?
直接从网站下载 NuGet 包:
- 导航至NuGet 上的 IronPDF 。
- 选择下载软件包选项。
- 双击下载的软件包即可自动安装。
- 重新加载解决方案并开始使用该库。
如何直接从网站下载?
从IronPDF 下载页面下载最新软件包。 下载完成后,请按照以下步骤操作:
- 在解决方案窗口中右键单击项目。
- 选择参考文献,然后浏览到下载的参考文献位置。
- 单击确定添加引用。
对于特定平台的安装,请参阅IronPDF on Windows 、 IronPDF on Linux和IronPDF on macOS 。
如何安装 Docotic.Pdf 库?
Docotic.Pdf 库提供了四种安装方法:
- 使用Visual Studio
- 使用Visual Studio命令行
- 从NuGet网站直接下载
- 可直接从 Docotic.Pdf 网站下载
为何使用 Visual Studio 包管理器?
访问 NuGet 包管理器并搜索"BitMiracle.Docotic.Pdf"以查看相关包:
安装所有相关软件包以使用 Docotic.Pdf 的全部功能。
何时应使用命令行安装?
在 Visual Studio 中,依次导航至"工具"->"NuGet 包管理器"->"包管理器控制台"。
在控制台中输入以下命令:
Install-Package BitMiracle.Docotic.Pdf
Install-Package BitMiracle.Docotic.Pdf.HtmlToPdf
软件包下载并安装到当前项目中。
如何直接从 NuGet 下载?
直接从网站下载软件包:
- 前往 NuGet 上的 BitMiracle.Docotic.Pdf。 要使用 HTML 转 PDF 功能,请访问BitMiracle.Docotic.Pdf.HtmlToPdf 。
- 选择下载软件包选项。
- 双击下载的软件包即可自动安装。
- 重新加载解决方案并开始开发。
如何直接从网站下载?
从Docotic.Pdf 下载页面下载软件包。 根据 .NET 框架要求选择软件包。 下载后
- 在解决方案窗口中右键单击项目。
- 选择参考文献,浏览到已下载的参考文献。
- 单击确定添加引用。
如何通过URL创建PDF文档?
这两个 PDF 库都将 HTML 页面转换为样式化的 PDF 文件。 本节探讨PDF创建功能。 对于高级场景,请探索启用 JavaScript 的 PDF 生成和响应式 CSS 转换。
IronPDF 如何将 URL 转换为 PDF?
IronPDF 通过从 URL 生成 HTML 并将其转换为 PDF,简化了 PDF 的创建过程。 内置的 Chromium 浏览器可以处理 HTML 字符串的下载。
以下步骤演示了如何使用 IronPDF 创建 PDF 文件:
// Create a new instance of ChromePdfRenderer for rendering PDFs
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
// Render a PDF from a URL and save it
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_57___");
pdf.SaveAs("result.pdf");
// Create a new instance of ChromePdfRenderer for rendering PDFs
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
// Render a PDF from a URL and save it
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_57___");
pdf.SaveAs("result.pdf");
' Create a new instance of ChromePdfRenderer for rendering PDFs
Dim renderer As New IronPdf.ChromePdfRenderer()
' Render a PDF from a URL and save it
Dim pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_57___")
pdf.SaveAs("result.pdf")
// Alternative method of rendering and saving in a single line
new IronPdf.ChromePdfRenderer()
.RenderUrlAsPdf("___PROTECTED_URL_58___")
.SaveAs("result.pdf");
// Alternative method of rendering and saving in a single line
new IronPdf.ChromePdfRenderer()
.RenderUrlAsPdf("___PROTECTED_URL_58___")
.SaveAs("result.pdf");
' Alternative method of rendering and saving in a single line
Call New IronPdf.ChromePdfRenderer().RenderUrlAsPdf("___PROTECTED_URL_58___").SaveAs("result.pdf")
这些示例演示了两种 URL 转换方法。 一个用于创建 IronPdf 对象以创建文档,而另一个用于执行渲染和保存操作。
两种方法都使用 RenderUrlAsPdf 进行转换。 开发者只需指定URL和保存位置即可。 PDF转换大约需要4.28秒完成。 对于生产环境部署,可以考虑部署到 Azure和AWS 。
Docotic.Pdf 如何将 URL 转换为 PDF?
Docotic.Pdf 能够使用其内置浏览器从 URL 下载 HTML 并将其转换为 PDF,从而实现 PDF 文档转换。
以下代码用于下载 HTML 字符串并将其转换为 PDF:
// Asynchronous usage of the HtmlConverter for Docotic
using (var converter = await HtmlConverter.CreateAsync())
{
// Create PDF from the URL asynchronously
using (var pdf = await converter.CreatePdfAsync(new Uri("___PROTECTED_URL_59___")))
pdf.Save("result_Docotic.pdf");
}
// Asynchronous usage of the HtmlConverter for Docotic
using (var converter = await HtmlConverter.CreateAsync())
{
// Create PDF from the URL asynchronously
using (var pdf = await converter.CreatePdfAsync(new Uri("___PROTECTED_URL_59___")))
pdf.Save("result_Docotic.pdf");
}
' Asynchronous usage of the HtmlConverter for Docotic
Using converter = Await HtmlConverter.CreateAsync()
' Create PDF from the URL asynchronously
Using pdf = Await converter.CreatePdfAsync(New Uri("___PROTECTED_URL_59___"))
pdf.Save("result_Docotic.pdf")
End Using
End Using
此代码使用 CreateAsync 类中的 HtmlConverter 方法创建一个 HTML 转换器对象。 创建对象的 CreatePdfAsync 方法从指定的 URL 下载并根据 HTML 字符串创建 PDF。
IronPDF 和 Docotic.Pdf 的性能比较:
为什么 Bootstrap 支持对 PDF 生成很重要?
专业的PDF生成需要现代CSS框架支持。 这个Bootstrap 5示例展示了IronPDF渲染功能丰富的布局,包括卡片、徽章和响应式设计元素的能力。 有关详细的 CSS 渲染选项,请参阅渲染选项指南。
using IronPdf;
var renderer = new ChromePdfRenderer();
string featureShowcase = @"
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='___PROTECTED_URL_60___ rel='stylesheet'>
<style>
.feature-card { transition: box-shadow 0.3s; border: none; }
.feature-card:hover { box-shadow: 0 8px 16px rgba(0,0,0,0.1); }
.feature-icon { font-size: 2.5rem; color: #0d6efd; }
@media print { .feature-card { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='text-center mb-5'>
<h1 class='display-5 fw-bold'>PDF Library Capabilities</h1>
<p class='lead text-muted'>Modern features for professional document generation</p>
</div>
<div class='row g-4 mb-4'>
<div class='col-md-4'>
<div class='card feature-card h-100 shadow-sm'>
<div class='card-body text-center'>
<div class='feature-icon mb-3'>🎨</div>
<h4 class='card-title'>Modern CSS</h4>
<p class='card-text'>Full support for CSS3, Flexbox, and Grid layouts with pixel-perfect rendering accuracy.</p>
<div class='mt-3'>
<span class='badge bg-primary'>CSS3</span>
<span class='badge bg-success'>Flexbox</span>
<span class='badge bg-info'>Grid</span>
</div>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card feature-card h-100 shadow-sm'>
<div class='card-body text-center'>
<div class='feature-icon mb-3'>⚡</div>
<h4 class='card-title'>Fast Rendering</h4>
<p class='card-text'>Chrome V8 engine delivers sub-second rendering for complex HTML documents.</p>
<div class='mt-3'>
<span class='badge bg-warning text-dark'>0.9s</span>
<span class='badge bg-success'>Optimized</span>
<span class='badge bg-primary'>V8 Engine</span>
</div>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card feature-card h-100 shadow-sm'>
<div class='card-body text-center'>
<div class='feature-icon mb-3'>🔒</div>
<h4 class='card-title'>Enterprise Security</h4>
<p class='card-text'>AES-256 encryption, digital signatures, and granular permission controls.</p>
<div class='mt-3'>
<span class='badge bg-danger'>AES-256</span>
<span class='badge bg-success'>Signatures</span>
<span class='badge bg-warning text-dark'>Permissions</span>
</div>
</div>
</div>
</div>
</div>
<div class='row g-4'>
<div class='col-md-6'>
<div class='card feature-card h-100 shadow-sm border-start border-primary border-4'>
<div class='card-body'>
<h5 class='card-title text-primary'>IronPDF Advantages</h5>
<ul class='list-unstyled'>
<li class='mb-2'>✓ Native Chrome rendering engine</li>
<li class='mb-2'>✓ Full JavaScript execution</li>
<li class='mb-2'>✓ Complete Bootstrap 5 support</li>
<li class='mb-2'>✓ Cross-platform deployment</li>
<li class='mb-2'>✓ Extensive documentation</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card feature-card h-100 shadow-sm border-start border-warning border-4'>
<div class='card-body'>
<h5 class='card-title text-warning'>BitMiracle Considerations</h5>
<ul class='list-unstyled'>
<li class='mb-2'>⚠ Limited modern CSS support</li>
<li class='mb-2'>⚠ No JavaScript execution</li>
<li class='mb-2'>⚠ Additional configuration needed</li>
<li class='mb-2'>⚠ Requires add-ons for HTML</li>
<li class='mb-2'>⚠ Complex API for beginners</li>
</ul>
</div>
</div>
</div>
</div>
<div class='alert alert-info mt-4' role='alert'>
<strong>Developer Tip:</strong> IronPDF's Chrome-based rendering ensures your Bootstrap layouts look identical in PDFs as they do in web browsers.
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(featureShowcase);
pdf.SaveAs("feature-showcase.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
string featureShowcase = @"
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='___PROTECTED_URL_60___ rel='stylesheet'>
<style>
.feature-card { transition: box-shadow 0.3s; border: none; }
.feature-card:hover { box-shadow: 0 8px 16px rgba(0,0,0,0.1); }
.feature-icon { font-size: 2.5rem; color: #0d6efd; }
@media print { .feature-card { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='text-center mb-5'>
<h1 class='display-5 fw-bold'>PDF Library Capabilities</h1>
<p class='lead text-muted'>Modern features for professional document generation</p>
</div>
<div class='row g-4 mb-4'>
<div class='col-md-4'>
<div class='card feature-card h-100 shadow-sm'>
<div class='card-body text-center'>
<div class='feature-icon mb-3'>🎨</div>
<h4 class='card-title'>Modern CSS</h4>
<p class='card-text'>Full support for CSS3, Flexbox, and Grid layouts with pixel-perfect rendering accuracy.</p>
<div class='mt-3'>
<span class='badge bg-primary'>CSS3</span>
<span class='badge bg-success'>Flexbox</span>
<span class='badge bg-info'>Grid</span>
</div>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card feature-card h-100 shadow-sm'>
<div class='card-body text-center'>
<div class='feature-icon mb-3'>⚡</div>
<h4 class='card-title'>Fast Rendering</h4>
<p class='card-text'>Chrome V8 engine delivers sub-second rendering for complex HTML documents.</p>
<div class='mt-3'>
<span class='badge bg-warning text-dark'>0.9s</span>
<span class='badge bg-success'>Optimized</span>
<span class='badge bg-primary'>V8 Engine</span>
</div>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card feature-card h-100 shadow-sm'>
<div class='card-body text-center'>
<div class='feature-icon mb-3'>🔒</div>
<h4 class='card-title'>Enterprise Security</h4>
<p class='card-text'>AES-256 encryption, digital signatures, and granular permission controls.</p>
<div class='mt-3'>
<span class='badge bg-danger'>AES-256</span>
<span class='badge bg-success'>Signatures</span>
<span class='badge bg-warning text-dark'>Permissions</span>
</div>
</div>
</div>
</div>
</div>
<div class='row g-4'>
<div class='col-md-6'>
<div class='card feature-card h-100 shadow-sm border-start border-primary border-4'>
<div class='card-body'>
<h5 class='card-title text-primary'>IronPDF Advantages</h5>
<ul class='list-unstyled'>
<li class='mb-2'>✓ Native Chrome rendering engine</li>
<li class='mb-2'>✓ Full JavaScript execution</li>
<li class='mb-2'>✓ Complete Bootstrap 5 support</li>
<li class='mb-2'>✓ Cross-platform deployment</li>
<li class='mb-2'>✓ Extensive documentation</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card feature-card h-100 shadow-sm border-start border-warning border-4'>
<div class='card-body'>
<h5 class='card-title text-warning'>BitMiracle Considerations</h5>
<ul class='list-unstyled'>
<li class='mb-2'>⚠ Limited modern CSS support</li>
<li class='mb-2'>⚠ No JavaScript execution</li>
<li class='mb-2'>⚠ Additional configuration needed</li>
<li class='mb-2'>⚠ Requires add-ons for HTML</li>
<li class='mb-2'>⚠ Complex API for beginners</li>
</ul>
</div>
</div>
</div>
</div>
<div class='alert alert-info mt-4' role='alert'>
<strong>Developer Tip:</strong> IronPDF's Chrome-based rendering ensures your Bootstrap layouts look identical in PDFs as they do in web browsers.
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(featureShowcase);
pdf.SaveAs("feature-showcase.pdf");
Imports IronPdf
Dim renderer = New ChromePdfRenderer()
Dim featureShowcase As String = "
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='___PROTECTED_URL_60___ rel='stylesheet'>
<style>
.feature-card { transition: box-shadow 0.3s; border: none; }
.feature-card:hover { box-shadow: 0 8px 16px rgba(0,0,0,0.1); }
.feature-icon { font-size: 2.5rem; color: #0d6efd; }
@media print { .feature-card { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='text-center mb-5'>
<h1 class='display-5 fw-bold'>PDF Library Capabilities</h1>
<p class='lead text-muted'>Modern features for professional document generation</p>
</div>
<div class='row g-4 mb-4'>
<div class='col-md-4'>
<div class='card feature-card h-100 shadow-sm'>
<div class='card-body text-center'>
<div class='feature-icon mb-3'>🎨</div>
<h4 class='card-title'>Modern CSS</h4>
<p class='card-text'>Full support for CSS3, Flexbox, and Grid layouts with pixel-perfect rendering accuracy.</p>
<div class='mt-3'>
<span class='badge bg-primary'>CSS3</span>
<span class='badge bg-success'>Flexbox</span>
<span class='badge bg-info'>Grid</span>
</div>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card feature-card h-100 shadow-sm'>
<div class='card-body text-center'>
<div class='feature-icon mb-3'>⚡</div>
<h4 class='card-title'>Fast Rendering</h4>
<p class='card-text'>Chrome V8 engine delivers sub-second rendering for complex HTML documents.</p>
<div class='mt-3'>
<span class='badge bg-warning text-dark'>0.9s</span>
<span class='badge bg-success'>Optimized</span>
<span class='badge bg-primary'>V8 Engine</span>
</div>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card feature-card h-100 shadow-sm'>
<div class='card-body text-center'>
<div class='feature-icon mb-3'>🔒</div>
<h4 class='card-title'>Enterprise Security</h4>
<p class='card-text'>AES-256 encryption, digital signatures, and granular permission controls.</p>
<div class='mt-3'>
<span class='badge bg-danger'>AES-256</span>
<span class='badge bg-success'>Signatures</span>
<span class='badge bg-warning text-dark'>Permissions</span>
</div>
</div>
</div>
</div>
</div>
<div class='row g-4'>
<div class='col-md-6'>
<div class='card feature-card h-100 shadow-sm border-start border-primary border-4'>
<div class='card-body'>
<h5 class='card-title text-primary'>IronPDF Advantages</h5>
<ul class='list-unstyled'>
<li class='mb-2'>✓ Native Chrome rendering engine</li>
<li class='mb-2'>✓ Full JavaScript execution</li>
<li class='mb-2'>✓ Complete Bootstrap 5 support</li>
<li class='mb-2'>✓ Cross-platform deployment</li>
<li class='mb-2'>✓ Extensive documentation</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card feature-card h-100 shadow-sm border-start border-warning border-4'>
<div class='card-body'>
<h5 class='card-title text-warning'>BitMiracle Considerations</h5>
<ul class='list-unstyled'>
<li class='mb-2'>⚠ Limited modern CSS support</li>
<li class='mb-2'>⚠ No JavaScript execution</li>
<li class='mb-2'>⚠ Additional configuration needed</li>
<li class='mb-2'>⚠ Requires add-ons for HTML</li>
<li class='mb-2'>⚠ Complex API for beginners</li>
</ul>
</div>
</div>
</div>
</div>
<div class='alert alert-info mt-4' role='alert'>
<strong>Developer Tip:</strong> IronPDF's Chrome-based rendering ensures your Bootstrap layouts look identical in PDFs as they do in web browsers.
</div>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(featureShowcase)
pdf.SaveAs("feature-showcase.pdf")
输出:一个现代化的功能展示 PDF,包含 Bootstrap 5 卡片、徽章和警报组件。 IronPDF完美渲染所有flexbox布局、阴影实用工具和颜色类,展示了优于BitMiracle.Docotic.Pdf的附加组件方法的优秀CSS3支持。
有关 CSS 框架支持的更多详细信息,请参阅Bootstrap 和 Flexbox CSS 指南。
如何从HTML字符串创建PDF?
IronPDF 和 Docotic.Pdf 库都可以将现有的 HTML 页面或 HTML 代码转换为 PDF。 这些库能够创建高质量的PDF文档。 对于高级字符串操作,请考虑PDF 压缩和自定义纸张尺寸。
IronPDF 如何转换 HTML 字符串?
IronPDF 可以高效地将 HTML 字符串转换为 PDF 文档。 以下示例演示了在支持任何 HTML 标签的情况下进行 HTML 字符串转换:
// Render HTML string as PDF and save it
var renderer = new IronPdf.ChromePdfRenderer()
.RenderHtmlAsPdf("<h1>Hello world!!</h1>")
.SaveAs("result.pdf");
// Render HTML string as PDF and save it
var renderer = new IronPdf.ChromePdfRenderer()
.RenderHtmlAsPdf("<h1>Hello world!!</h1>")
.SaveAs("result.pdf");
' Render HTML string as PDF and save it
Dim renderer = (New IronPdf.ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf")
此示例演示了 HTML 字符串转换。 开发者可以向转换函数提供任何 HTML 代码。 该方法返回一个使用"另存为"功能保存的文档。 整个过程大约需要两秒钟。 如需了解高级 HTML 渲染技巧,请探索像素级精准的 HTML 转 PDF 指南。
Docotic.pdf 如何转换 HTML 字符串?
Docotic.Pdf 库通过一个简单的过程将 HTML 字符串转换为 PDF 文档。
以下示例从 HTML 字符串创建 PDF 文件:
// Asynchronous usage of HtmlConverter for converting HTML strings to PDFs
using (var converter = await HtmlConverter.CreateAsync())
{
// Create PDF from HTML string asynchronously
using (var pdf = await converter.CreatePdfFromStringAsync("<h1>Hello world!!</h1>"))
pdf.Save("result_Docotic.pdf");
}
// Asynchronous usage of HtmlConverter for converting HTML strings to PDFs
using (var converter = await HtmlConverter.CreateAsync())
{
// Create PDF from HTML string asynchronously
using (var pdf = await converter.CreatePdfFromStringAsync("<h1>Hello world!!</h1>"))
pdf.Save("result_Docotic.pdf");
}
' Asynchronous usage of HtmlConverter for converting HTML strings to PDFs
Using converter = Await HtmlConverter.CreateAsync()
' Create PDF from HTML string asynchronously
Using pdf = Await converter.CreatePdfFromStringAsync("<h1>Hello world!!</h1>")
pdf.Save("result_Docotic.pdf")
End Using
End Using
该代码使用 CreateAsync 类中的 HtmlConverter 方法创建一个 HTML 转换器对象。 该对象的 CreatePdfFromStringAsync 方法将提供的 HTML 字符串转换为 PDF 文件。
如何阅读PDF文档?
IronPDF 和 Docotic.Pdf 库都可以读取 PDF 文件并将文档转换为文本字符串。 有两种提取方法:将所有页面数据检索为单个字符串,或者逐页提取数据。 两个库都支持这两种方法。 有关其他提取选项,请参阅文本和图像提取指南。
IronPDF 如何读取 PDF 文件?
IronPDF能够高效读取现有的PDF文件。 以下示例演示了如何使用 IronPDF 阅读 PDF 文件。 对于复杂的 PDF 解析,请参阅C# PDF 解析指南。
该代码演示了如何将所有数据作为字符串检索:
// Read and extract text from an existing PDF file
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
string allText = pdfDocument.ExtractAllText();
// Read and extract text from an existing PDF file
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
string allText = pdfDocument.ExtractAllText();
' Read and extract text from an existing PDF file
Dim pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf")
Dim allText As String = pdfDocument.ExtractAllText()
FromFile 方法从现有文件中读取 PDF 并创建 PdfDocument 对象。 这些对象可以从 PDF 页面中提取文本和图像。 ExtractAllText 方法将所有文档文本提取到一个字符串中。
Docotic.Pdf 如何读取 PDF 文件?
Docotic.Pdf 使用前面提到的两种提取方法读取现有的 PDF 文件。
以下示例将所有 PDF 数据提取到一个字符串中:
// Use the Docotic PDF library to read text from a PDF
using (var pdf = new BitMiracle.Docotic.Pdf.PdfDocument("result.pdf"))
{
string documentText = pdf.GetText();
}
// Use the Docotic PDF library to read text from a PDF
using (var pdf = new BitMiracle.Docotic.Pdf.PdfDocument("result.pdf"))
{
string documentText = pdf.GetText();
}
' Use the Docotic PDF library to read text from a PDF
Using pdf = New BitMiracle.Docotic.Pdf.PdfDocument("result.pdf")
Dim documentText As String = pdf.GetText()
End Using
该代码使用 BitMiracle.Docotic.Pdf 创建 PdfDocument 对象。 该对象的 GetText() 方法从 PDF 中提取所有可用的文本。
性能对比结果:
哪家图书馆提供更好的授权方案?
IronPDF 提供免费的开发许可。 生产环境的使用需要根据开发人员的需求购买相应的许可证。 Lite套餐价格实惠,且无后续费用。 这包括SaaS和OEM再分发选项。 所有许可证均提供 30 天退款保证、一年产品支持和更新、适用于开发/测试/生产环境,以及永久许可(一次性购买)。 我们也提供限时免费许可。 查看IronPDF 的完整价格结构和许可协议。 IronPDF包含免版税再分发保障。
Docotic.Pdf 提供免费和付费许可。 开发者可以在Docotic.Pdf 页面上申请评估许可证。 符合条件的项目可通过申请表获得限时免费许可。 单次年度许可的基本价格为 {{docotic_pdf.single}}。 查看 Docotic.PDF 的价格结构。 该库可根据特定应用和用户的需求,提供限时免费许可证。
我应该选择哪个PDF库?
本文对比了 IronPDF 与 Docotic.Pdf。 这两个库的功能和网站文档均相似。 IronPDF 在渲染 HTML 时会考虑浏览器设置,而 Docotic.PDF 则通过一个独立引擎渲染 HTML,该引擎不考虑用户偏好。 IronPDF 生成 HTML 输出的速度比 Docotic 更快。
性能测试显示,IronPDF 的表现优于 Docotic.Pdf。 与 Docotic.PDF 有限的文档相比,IronPDF 提供了更直观的代码实现。 这两个库均提供免版税的再分发范围。 IronPDF 提供的功能远超 Docotic.Pdf,包括 PDF/A 合规性、PDF/UA 无障碍支持、支持 HSM 的数字签名,以及全面的异步/多线程支持。
最后,IronPDF 凭借其卓越的性能和丰富的功能,为处理便携式文档格式(PDF)的开发者提供了出色的支持。 IronPDF 提供全面的技术支持和文档,以帮助用户充分利用各项功能。 该库持续维护并定期更新,相关信息记录在产品更新和变更日志中。
[{i:(BitMiracle.Docotic.Pdf 是其各自所有者的注册商标。 本网站与 BitMiracle.Docotic.Pdf 没有任何关联、认可或赞助关系。 所有产品名称、徽标和品牌均为各自所有者的财产。 比较仅供参考,反映撰写时公开可用的信息。)}]
常见问题解答
如何在C#中将HTML转换为PDF?
你可以使用IronPDF的RenderHtmlAsPdf方法将HTML字符串转换为PDF。你还可以使用RenderHtmlFileAsPdf将HTML文件转换为PDF。
一个支持 HTML 到 PDF 转换及更多功能的库的主要特征是什么?
IronPDF 提供全面的功能,包括 HTML 到 PDF 转换、创建交互式表单、添加页眉和页脚,以及合并或拆分 PDF。它使用 Chrome 引擎进行高质量转换,无需外部依赖。
如何在 Visual Studio 中安装 PDF 库?
IronPDF 可以通过 NuGet 包管理器、Visual Studio 命令行或直接从 NuGet 或 IronPDF 网站下载并安装于 Visual Studio 中。
在 .NET 应用程序中 PDF 库的许可选项有哪些?
IronPDF 提供免费开发许可证和各种付费许可选项用于生产用途。这些选项包括 SaaS 和 OEM 重新分发许可证,并附带 30 天退款保证以及一年的支持和更新。
为什么开发者可能会在 .NET 项目中选择一个 PDF 库而不是另一个?
开发者可能会选择 IronPDF 因为其优越的性能、广泛的功能以及卓越的支持和文档,这使其成为 .NET 环境中处理 PDF 的更全面和可靠的解决方案。
我可以使用 .NET 库为 PDF 文档添加页眉和页脚吗?
是的,使用 IronPDF,您可以在转换过程中或修改现有 PDF 时轻松为 PDF 文档添加页眉和页脚。
使用 .NET 中的 PDF 库时出现的一些常见故障排除场景是什么?
常见的故障排除场景包括确保库的正确安装,验证所有依赖项已满足,并检查与所使用的 .NET Framework版本的兼容性。IronPDF 提供广泛的文档以协助解决这些问题。
在 .NET 中,不同 PDF 库的性能如何比较?
IronPDF 以其较快的性能和用户友好的代码结构而闻名,与其他 PDF 库如 Docotic.Pdf 相比,使其成为开发者的首选。
一个专业的 .NET PDF 库应该具备哪些功能?
一个专业级的 .NET PDF 库应支持 HTML 到 PDF 转换,创建和修改 PDF 内容,表单处理,文档合并和拆分,并提供强大的文档和支持,IronPDF 提供了所有这些功能。
是否有 .NET 库可以在没有外部依赖的情况下创建 PDF?
是的,IronPDF 允许在没有外部依赖的情况下创建和操作 PDF,利用 Chrome 引擎进行高质量的渲染和转换任务。


