跳至页脚内容
产品比较

IronPDF与Winnovative PDF Library for .NET之间的比较

Adobe 设计了可移植文档格式(PDF)来为文档提供文本和图形格式。 需要第二个应用程序来打开 PDF 文件。 PDF 文件在当今文化中变得越来越重要。 可移植文档格式文件在多个行业中用于发票和文档制作。 开发人员使用 PDF 格式来帮助满足客户在创建文档时的需求。 感谢如今可用的库,创建 PDF 从未如此简单。 为了识别市场上哪个库是项目中最好的,必须考虑构建、阅读和转换等元素。

在这篇文章中,我们将比较两个最流行的用于 .NET 组件的 PDF 转换库; 这两个库是:

  • IronPDF
  • Winnovative

IronPDF 和 Winnovative 是两个库,可用于您的 .NET 应用程序中创建、读取和更新 PDF 文件,无论是在在线还是桌面应用程序中。 现在可以比较这两个库,以查看哪个更适合我们的应用程序。 我们将首先检查这两个库的功能,然后比较它们在转换和处理 PDF 文件方面的性能水平。 两个库都由 .NET 框架支持。

IronPDF特性

IronPDF 是一个强大的 PDF 转换器,可以处理几乎任何浏览器可以处理的任务。 .NET 库使开发人员可以轻松创建、读取和操作 PDF 文件。 IronPDF 使用 Chrome 引擎将 HTML 转换为 PDF 文件。 在其他网页组件中,IronPDF 支持 HTML、ASPX、Razor HTML 和 MVC 视图。 IronPDF 支持 ASP.NET 网络应用程序和传统的 Windows 应用程序。 IronPDF 还可以用来制作吸引人的 PDF 文档。

IronPDF 允许我们从 HTML5、JavaScript、CSS 和图片 创建 PDF 文件。 此外,可以在文件中包含页眉和页脚。 得益于 IronPDF,我们可以轻松读取 PDF 文件。 IronPDF 还包括一个强大的 HTML 到 PDF 转换器,可以处理 PDF 文件,以及一个强大的 PDF 转换引擎。

  • HTML、HTML5、ASPX 和 Razor/MVC 视图都是可以用来创建 PDF 文件的来源示例。 不仅可以将HTML文件转换为PDF,还可以将图像文件转换为PDF。
  • IronPDF 可以帮助您创建交互式 PDF 文档、填写和提交交互式表单、合并和拆分 PDF 文档、从 PDF 文档中提取文本和图片、在 PDF 文档中搜索文本、将 PDF 页面栅格化为图片、将 PDF 转换为 HTML 并打印 PDF 文档。
  • IronPDF 可以从 URL 生成文档。 对于 HTML 登录表单后的登录,它还允许使用自定义网络登录凭证、用户代理、代理、cookies、HTTP 头文件和表单变量。
  • IronPDF 是一个允许您读取和填写 PDF 文档的应用。
  • IronPDF 能够从文档中提取图片。
  • IronPDF 允许我们向文档添加页眉、页脚、文本、照片、书签、水印等等。
  • IronPDF 使我们能够在新文档或现有文档中连接和拆分页面。
  • 我们可以在不使用 Acrobat 查看器的情况下将文档转换为 PDF 对象。
  • 可以将CSS文件转换为PDF文档。
  • 可以将 CSS 文件媒体类型文件转换为文档。

Winnovative 功能

Winnovative HTML 到 PDF 转换库用于 .NET 和 .NET Core,可以在任何 .NET 和 .NET Core 应用程序中,包括 ASP.NET、ASP.NET Core 和 MVC 网站、Windows 窗体和 WPF 应用程序以及 Azure 云服务,将 URL、HTML 字符串和流转换为 PDF 文档、栅格图像或 SVG 矢量图像。

您可以将 HTML 到 PDF 转换器用作将网页和 HTML 代码转换为 PDF 和图像的通用工具,或者可以将其作为我们 .NET 报告工具包的一部分,直接从 ASP.NET 页面快速创建 PDF 报告,并利用 ASP.NET 控件的巨大能力。

HTML 标签、带 CSS3 的 HTML5、SVG 和 Web 字体、分页符、媒体类型规则、重复的 HTML 表格、页眉和页脚、分层书签、目录、可填写 PDF 表单以及带页码的 HTML 页眉和页脚都由该转换器支持。

HTML 到 PDF 转换器不依赖于任何第三方软件,不需要特殊的服务器设置即可运行。 相同的程序集在 32 位和 64 位环境中均可使用,并且可以复制服务器部署。 库适用于 .NET 2.0、.NET 4.0 及更高版本的框架,以及 .NET Core 2.1、.NET Core 3.0 及更高版本的运行时。

  • 转换网页、HTML 字符串或内存 PDF 文件。
  • 将 HTML 字符串和网页转换为栅格图像格式。
  • 支持 CSS3、SVG 和 Web 字体的所有 HTML5 功能。
  • 使用 SVG 和 Web 字体将 HTML 转换为 PDF。
  • 在转换过程中,您可以启用或禁用 JavaScript。
  • 将多个 PDF 文件合并为一个 PDF。
  • 将 PDF 文件拆分为多个 PDF 文件。
  • 填写 PDF 表单并将已完成的文档保存为 PDF。
  • 编辑现有的 PDF 文档。
  • 将图像元素添加到准备好的 PDF 文档中。

Bootstrap & Modern CSS Framework兼容性

现代网络应用程序越来越依赖于诸如 Bootstrap、Tailwind 和 Foundation 等 CSS 框架进行快速 UI 开发。 从这些应用程序生成 PDF 时,保持布局一致性对于专业文档质量至关重要。

IronPDF:原生支持 Bootstrap 5

IronPDF 的基于 Chromium 的渲染引擎无需配置即可提供对现代 CSS 框架的全面支持:

  • Bootstrap 5:对所有组件的完整 flexbox 和 CSS 网格支持
  • Bootstrap 4:完全兼容卡片组件、导航栏和响应式工具
  • Tailwind CSS:所有工具类和响应式修饰符都呈现正确
  • CSS3 功能:Flexbox,网格,变换,动画和自定义属性
  • Web 字体:支持 Google 字体、Font Awesome 和自定义 @font-face 声明

Proven with real-world examples: The Bootstrap homepage and official Bootstrap templates convert to PDF with pixel-perfect accuracy.

代码示例:多栏新闻稿布局

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapNewsletter = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .article-image { width: 100%; height: 200px; object-fit: cover; }
    </style>
</head>
<body>
    <div class='container my-5'>
        <div class='text-center mb-5'>
            <h1 class='display-4'>Monthly Tech Newsletter</h1>
            <p class='lead text-muted'>March 2025 Edition</p>
        </div>

        <div class='row g-4'>
            <div class='col-md-8'>
                <article class='card shadow-sm mb-4'>
                    <img src='https://via.placeholder.com/800x300' class='card-img-top article-image' alt='Featured'>
                    <div class='card-body'>
                        <span class='badge bg-primary mb-2'>Featured Article</span>
                        <h2 class='card-title'>The Future of Cloud Computing</h2>
                        <p class='card-text'>Explore the latest trends in cloud architecture and serverless computing that are reshaping how we build applications...</p>
                        <div class='d-flex justify-content-between align-items-center'>
                            <small class='text-muted'>By Sarah Johnson</small>
                            <small class='text-muted'>March 15, 2025</small>
                        </div>
                    </div>
                </article>

                <div class='row row-cols-1 row-cols-md-2 g-4'>
                    <div class='col'>
                        <div class='card h-100'>
                            <img src='https://via.placeholder.com/400x200' class='card-img-top' alt='Article 2'>
                            <div class='card-body'>
                                <h5 class='card-title'>AI in Development</h5>
                                <p class='card-text'>How artificial intelligence is transforming software development workflows.</p>
                            </div>
                        </div>
                    </div>
                    <div class='col'>
                        <div class='card h-100'>
                            <img src='https://via.placeholder.com/400x200' class='card-img-top' alt='Article 3'>
                            <div class='card-body'>
                                <h5 class='card-title'>Security Best Practices</h5>
                                <p class='card-text'>Essential security measures every developer should implement in 2025.</p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card bg-light mb-4'>
                    <div class='card-body'>
                        <h5 class='card-title'>Quick Links</h5>
                        <ul class='list-unstyled'>
                            <li class='mb-2'><a href='#' class='text-decoration-none'>API Documentation</a></li>
                            <li class='mb-2'><a href='#' class='text-decoration-none'>Tutorial Videos</a></li>
                            <li class='mb-2'><a href='#' class='text-decoration-none'>Community Forum</a></li>
                            <li class='mb-2'><a href='#' class='text-decoration-none'>GitHub Repository</a></li>
                        </ul>
                    </div>
                </div>

                <div class='card border-primary'>
                    <div class='card-body'>
                        <h5 class='card-title text-primary'>Subscribe</h5>
                        <p class='card-text'>Get the latest updates delivered to your inbox.</p>
                        <form>
                            <input type='email' class='form-control mb-2' placeholder='your@email.com'>
                            <button class='btn btn-primary w-100'>Subscribe Now</button>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapNewsletter);
pdf.SaveAs("newsletter.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapNewsletter = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .article-image { width: 100%; height: 200px; object-fit: cover; }
    </style>
</head>
<body>
    <div class='container my-5'>
        <div class='text-center mb-5'>
            <h1 class='display-4'>Monthly Tech Newsletter</h1>
            <p class='lead text-muted'>March 2025 Edition</p>
        </div>

        <div class='row g-4'>
            <div class='col-md-8'>
                <article class='card shadow-sm mb-4'>
                    <img src='https://via.placeholder.com/800x300' class='card-img-top article-image' alt='Featured'>
                    <div class='card-body'>
                        <span class='badge bg-primary mb-2'>Featured Article</span>
                        <h2 class='card-title'>The Future of Cloud Computing</h2>
                        <p class='card-text'>Explore the latest trends in cloud architecture and serverless computing that are reshaping how we build applications...</p>
                        <div class='d-flex justify-content-between align-items-center'>
                            <small class='text-muted'>By Sarah Johnson</small>
                            <small class='text-muted'>March 15, 2025</small>
                        </div>
                    </div>
                </article>

                <div class='row row-cols-1 row-cols-md-2 g-4'>
                    <div class='col'>
                        <div class='card h-100'>
                            <img src='https://via.placeholder.com/400x200' class='card-img-top' alt='Article 2'>
                            <div class='card-body'>
                                <h5 class='card-title'>AI in Development</h5>
                                <p class='card-text'>How artificial intelligence is transforming software development workflows.</p>
                            </div>
                        </div>
                    </div>
                    <div class='col'>
                        <div class='card h-100'>
                            <img src='https://via.placeholder.com/400x200' class='card-img-top' alt='Article 3'>
                            <div class='card-body'>
                                <h5 class='card-title'>Security Best Practices</h5>
                                <p class='card-text'>Essential security measures every developer should implement in 2025.</p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card bg-light mb-4'>
                    <div class='card-body'>
                        <h5 class='card-title'>Quick Links</h5>
                        <ul class='list-unstyled'>
                            <li class='mb-2'><a href='#' class='text-decoration-none'>API Documentation</a></li>
                            <li class='mb-2'><a href='#' class='text-decoration-none'>Tutorial Videos</a></li>
                            <li class='mb-2'><a href='#' class='text-decoration-none'>Community Forum</a></li>
                            <li class='mb-2'><a href='#' class='text-decoration-none'>GitHub Repository</a></li>
                        </ul>
                    </div>
                </div>

                <div class='card border-primary'>
                    <div class='card-body'>
                        <h5 class='card-title text-primary'>Subscribe</h5>
                        <p class='card-text'>Get the latest updates delivered to your inbox.</p>
                        <form>
                            <input type='email' class='form-control mb-2' placeholder='your@email.com'>
                            <button class='btn btn-primary w-100'>Subscribe Now</button>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapNewsletter);
pdf.SaveAs("newsletter.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出:一封具有 Bootstrap 响应式网格、卡片组件和 flexbox 工具的专业新闻稿布局,所有这些都在 PDF 文档中准确保留。

Winnovative:具有局限性的部分支持 Bootstrap

Winnovative 的 HTML 到 PDF 转换器使用一个基于 WebKit 的渲染引擎,对现代 CSS 框架存在特定限制:

  • HTML5 和 CSS3:声称支持,但对于高级功能的实现存在缺陷
  • Flexbox 支持:部分实现,复杂的 Bootstrap 4/5 布局可能无法正确渲染
  • CSS 网格:支持 CSS 网格布局规范有限或不支持
  • Bootstrap 3:与基于表格的布局通常配合良好
  • Bootstrap 4/5:包含大量 Flexbox 的组件需要测试和可能的解决方案

根据开发者的反馈,Winnovative 用户常常遇到:

  • Bootstrap 导航栏渲染时布局出问题
  • 使用 flexbox 的卡片组件不正确对齐
  • 响应式网格断点未在 PDF 输出中遵循
  • 需要自定义 CSS 解决方案以实现正确的 Bootstrap 渲染

对开发的影响:使用 Bootstrap 4+ 构建的应用程序可能需要显著的 CSS 修改或回退到基于表格的布局,以便通过 Winnovative 实现可靠的 PDF 生成,增加了开发和维护成本。

有关全面的 Bootstrap 兼容性指导,请参见 Bootstrap & Flexbox CSS 指南

在 Visual Studio 中创建新项目

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

class="content-img-align-center">
class="center-image-wrapper">Winnovative Html To Pdf Alternatives 1 related to 在 Visual Studio 中创建新项目

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

class="content-img-align-center">
class="center-image-wrapper">Winnovative Html To Pdf Alternatives 2 related to 在 Visual Studio 中创建新项目

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

class="content-img-align-center">
class="center-image-wrapper">Winnovative Html To Pdf Alternatives 3 related to 在 Visual Studio 中创建新项目

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

安装IronPDF库

IronPDF库可以通过四种方式下载和安装。

这些是:

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

使用Visual Studio

Visual Studio软件提供了NuGet包管理器选项,可以将包直接安装到解决方案中。 下面的截图显示了如何打开NuGet包管理器。

class="content-img-align-center">
class="center-image-wrapper">Winnovative Html To Pdf Alternatives 4 related to 使用Visual Studio

它提供了搜索框以显示来自 NuGet 网站的软件包列表。在包管理器中,我们需要搜索关键字“IronPDF”,如下面的截图所示。

class="content-img-align-center">
class="center-image-wrapper">Winnovative Html To Pdf Alternatives 5 related to 使用Visual Studio

在上图中,您可以看到相关搜索项目的列表。 我们需要选择所需的选项将包安装到解决方案中。

使用Visual Studio命令行

在Visual Studio中,转至工具 -> NuGet包管理器 -> 包管理器控制台

在包管理器控制台选项卡中输入以下行:

Install-Package IronPdf

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

class="content-img-align-center">
class="center-image-wrapper">Winnovative Html To Pdf Alternatives 6 related to 使用Visual Studio命令行

从 NuGet 网站直接下载

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

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

从 IronPDF 网站直接下载

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

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

安装 Winnovative 库

可以通过四种方式下载和安装 Winnovative 库。

这些是:

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

使用Visual Studio

如上所述,转到 NuGet 软件包管理器并使用关键字“Winnovative”进行搜索。 它将显示相关结果列表:

class="content-img-align-center">
class="center-image-wrapper">Winnovative Html To Pdf Alternatives 7 related to 使用Visual Studio

使用 Winnovative 时,我们需要安装许多不同的库以使用所有功能。 选择所需的并点击安装,它将库安装到项目中。

需要安装 Winnovative.PdfToText.NetCore 以读取 PDF 并将其转换为文本。

使用Visual Studio命令行

在Visual Studio中,转至工具 -> NuGet包管理器 -> 包管理器控制台

在包管理器控制台选项卡中输入以下行以获取所需的每个功能:

Install-Package Winnovative.HtmlToPdf.NetCore
Install-Package Winnovative.PdfToText.NetCore
Install-Package Winnovative.HtmlToPdf.NetCore
Install-Package Winnovative.PdfToText.NetCore
SHELL

该软件包现在将下载/安装到当前项目并准备好使用。

class="content-img-align-center">
class="center-image-wrapper">Winnovative Html To Pdf Alternatives 8 related to 使用Visual Studio命令行

从 NuGet 网站直接下载

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

  • 导航到 NuGet Winnovative 软件包搜索结果
  • 选择需要的包,它将重定向到另一个网站。
  • 然后,从右侧菜单中选择下载包选项。
  • 双击已下载的包。 它将自动安装。
  • 接下来,重新加载解决方案并开始在项目中使用它。

从 Winnovative 网站直接下载

Winnovative 网站直接下载最新包。 下载后,按照以下步骤将包添加到项目中。

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

从 URL 创建 PDF 文档

两个 PDF 库都帮助我们将 HTML 页面转换为时尚的 PDF。 让我们看看如何制作PDF文档。

使用 IronPDF.

IronPDF 使我们能够快速创建 PDF 文档。 它将创建一个 HTML 文件并从 URL 将其转换为 PDF 文档。 IronPDF 中内置的 Chrome 浏览器将帮助我们下载 HTML 字符串。

以下步骤使我们易于创建 PDF 文档。

// Create a ChromePdfRenderer instance
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Convert a webpage into a PDF and save it
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");

// Alternatively, chain the methods for brevity
var Renderer = new IronPdf.ChromePdfRenderer()
                .RenderUrlAsPdf("https://www.google.co.in/")
                .SaveAs("result.pdf");
// Create a ChromePdfRenderer instance
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Convert a webpage into a PDF and save it
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");

// Alternatively, chain the methods for brevity
var Renderer = new IronPdf.ChromePdfRenderer()
                .RenderUrlAsPdf("https://www.google.co.in/")
                .SaveAs("result.pdf");
' Create a ChromePdfRenderer instance
Dim Renderer As New IronPdf.ChromePdfRenderer()

' Convert a webpage into a PDF and save it
Dim Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/")
Pdf.SaveAs("result.pdf")

' Alternatively, chain the methods for brevity
Dim Renderer = (New IronPdf.ChromePdfRenderer()).RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf")
$vbLabelText   $csharpLabel

在上面的示例中,我们有两个选项可以将链接转换为文档。 构建一个 IronPDF 对象是制作文档的一种方法,而制作一个 RenderUrlAsPdf 对象是另一种方法。

以上意味着我们可以使用 RenderUrlAsPdf 将其转换为文档。 只需要提供保存位置和链接。 转换 PDF 为文档需要 2.5 秒。

使用 Winnovative

借助 Winnovative 库,我们能够转换 PDF 文档。 Winnovative 库包括一个内置浏览器,可以帮助我们从 URL 下载 HTML 并将其转换为 PDF。

下面是代码下载并将HTML字符串转换为PDF文件:

// Create a HtmlToPdfConverter instance
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();

// Download HTML from URL and convert to PDF
htmlToPdfConverter.ConvertUrlToFile("https://www.google.co.in/", "result1.pdf");
// Create a HtmlToPdfConverter instance
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();

// Download HTML from URL and convert to PDF
htmlToPdfConverter.ConvertUrlToFile("https://www.google.co.in/", "result1.pdf");
' Create a HtmlToPdfConverter instance
Dim htmlToPdfConverter As New HtmlToPdfConverter()

' Download HTML from URL and convert to PDF
htmlToPdfConverter.ConvertUrlToFile("https://www.google.co.in/", "result1.pdf")
$vbLabelText   $csharpLabel

首先,我们为HtmlToPdfConverter 创建一个对象,该对象允许我们使用选项列表将网页 URL 转换为 PDF。 ConvertUrlToFile 是帮助我们从 URL 下载源并将其转换为 PDF 文件的方法。我们需要传递两个参数,即 URL 和 PDF 文件位置——两者都是必选的。

将 URL 转换为 PDF 文档所需的时间为 6.11 秒。

下图是 IronPDF 和 Winnovative 之间的比较。

class="content-img-align-center">
class="center-image-wrapper">Winnovative Html To Pdf Alternatives 9 related to 使用 Winnovative

从 HTML 字符串创建 PDF

现有的 HTML 页或 HTML 代码可以使用 IronPDF 和 Winnovative 转换为 PDF。它们将帮助我们制作高质量的 PDF 文档。

使用 IronPDF.

我们可以借助IronPDF将HTML字符串转换为PDF文档。 以下是将HTML字符串转换为文档的示例。 它还具有将任何 HTML 标签转换为 PDF 文档的能力。

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

附带的示例显示了如何使用 RenderHtmlAsPdf 翻译 HTML 字符串。 此外,转换 HTML 为字符串的功能可以接受任意数量的 HTML 代码。 使用 SaveAs 功能,我们可以在获得字符串后保存文档。 该过程仅需两秒就能完成。

使用 Winnovative

我们可以使用 Winnovative 库将 HTML 字符串转换为 PDF 文档。 这既简单又直观。

从 HTML 字符串创建 PDF 的示例代码如下所示。

// Create a HtmlToPdfConverter instance
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();

// Convert HTML string to a PDF and save
htmlToPdfConverter.ConvertHtmlToFile("<h1>Hello world!!</h1>", "", "result1.pdf");
// Create a HtmlToPdfConverter instance
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();

// Convert HTML string to a PDF and save
htmlToPdfConverter.ConvertHtmlToFile("<h1>Hello world!!</h1>", "", "result1.pdf");
' Create a HtmlToPdfConverter instance
Dim htmlToPdfConverter As New HtmlToPdfConverter()

' Convert HTML string to a PDF and save
htmlToPdfConverter.ConvertHtmlToFile("<h1>Hello world!!</h1>", "", "result1.pdf")
$vbLabelText   $csharpLabel

首先,我们为HtmlToPdfConverter创建一个对象,该对象允许我们使用选项列表将 HTML 转换为 PDF。 ConvertHtmlToFile 是帮助我们将 HTML 字符串转换为 PDF 文件的方法。我们应传递三个参数:HTML 字符串、源 URI(可选)和 PDF 文件位置。 HTML 字符串和文件位置是必填参数。 该过程花费了 3.6 秒完成。

以下是 IronPDF 和 Winnovative 的比较结果。

class="content-img-align-center">
class="center-image-wrapper">Winnovative Html To Pdf Alternatives 10 related to 使用 Winnovative

阅读PDF文档

借助 IronPDF 和 Winnovative 库,我们还可以读取 PDF 文件。 这些文档可以很容易地转换为文本字符串。 为了提取文本,我们可以使用两种技术之一。 第一种方法将所有页面数据返回为一个字符串。 第二种技术是逐页获取数据,这种方法受到这两个库的支持。

使用 IronPDF.

IronPDF 程序允许我们读取现有的 PDF 文件并将 PDF 页面转换为 PDF 对象。 以下是如何使用IronPDF读取现有PDF的示例。

获取所有字符串的第一种方法如下所示。

// Load a PDF document
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");

// Extract all text from the PDF
string allText = pdfDocument.ExtractAllText();
// Load a PDF document
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");

// Extract all text from the PDF
string allText = pdfDocument.ExtractAllText();
' Load a PDF document
Dim pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf")

' Extract all text from the PDF
Dim allText As String = pdfDocument.ExtractAllText()
$vbLabelText   $csharpLabel

FromFile 方法用于从现有文件中读取 PDF 并将其转换为 PDF 文档对象,如上面的代码所示。 我们可以使用该对象读取 PDF 页面上可访问的文本和图像。 该对象有一个名为ExtractAllText的方法,可以将 PDF 文档的所有文本抽取为字符串。

使用 Winnovative

此外,Winnovative 也可以帮助我们读取现有的 PDF 文件。 它还支持上面提到的两种方法。

将所有 PDF 数据转换为一个字符串的第一种方法的示例代码如下所示。

// Load a document and count the number of pages
var pdfDoc = new PdfToText.Document("result1.pdf");
PdfToTextConverter pdfToTextConverter = new PdfToTextConverter();

// Convert PDF pages to text
string extractedText = pdfToTextConverter.ConvertToText("result1.pdf", 1, pdfDoc.Pages.Count);
// Load a document and count the number of pages
var pdfDoc = new PdfToText.Document("result1.pdf");
PdfToTextConverter pdfToTextConverter = new PdfToTextConverter();

// Convert PDF pages to text
string extractedText = pdfToTextConverter.ConvertToText("result1.pdf", 1, pdfDoc.Pages.Count);
' Load a document and count the number of pages
Dim pdfDoc = New PdfToText.Document("result1.pdf")
Dim pdfToTextConverter As New PdfToTextConverter()

' Convert PDF pages to text
Dim extractedText As String = pdfToTextConverter.ConvertToText("result1.pdf", 1, pdfDoc.Pages.Count)
$vbLabelText   $csharpLabel

在上面的代码中,它显示我们正在读取现有文档以将其转换为对象,以获取页数和其他与文档相关的信息。 完成此操作后,我们使用 PdfToTextConverter 库并为该库创建一个对象。 通过创建对象,我们可以访问所有可用的方法。 我们还使用了一个名为ConvertToText的方法,该方法有助于将 PDF 页面转换为文本。 我们需要传递三个参数,即文件路径、起始页和结束页。 所有参数都是必填的。

以下是 IronPDF 和 Winnovative 的比较结果。

class="content-img-align-center">
class="center-image-wrapper">Winnovative Html To Pdf Alternatives 11 related to 使用 Winnovative

许可

IronPDF 也是一个库,并且为开发人员提供免费许可证。 每当我们在生产环境中使用 IronPDF 时:Lite 包从 $799 开始,没有持续成本。 以及 SaaS 和 OEM 重新分发。 所有许可证包括30天退款保证、一年产品支持和更新,可用于开发/演示/生产环境,还提供永久许可(一次性购买)。 还有一些具有免费时间限制的许可证。 查看 IronPDF 的完整定价结构和许可。 IronPDF 还提供免版税的许可证重新分发覆盖。

Winnovative 提供免费和付费许可证。 它带有免费的开发者许可证。 HTML 到 PDF 转换器库起价为 450 美元,而可再分发的包从 1200 美元起。PDF 工具包专业许可证从 650 美元起。每个库的价格范围不同。 要了解更多关于许可证的信息,请查看 Winnovative 定价。

结论

IronPDF 是最常用的 PDF 转换器库之一。 它可以帮助我们生成、读取、操作和格式化 PDF 文件。 IronPDF 具有可以帮助将给定 URL 转换为 PDF 文件的浏览器引擎。它还允许我们将 CSS 添加到 HTML 字符串并将其转化为 PDF 文件。 此外,我们可以借助 IronPDF 库填写 PDF 表单。 IronPDF 的所有功能都包含在一个库中。

Winnovative PDF 库帮助我们生成、读取和操作 PDF 文件。 我们还可以将文档从 URL 或 HTML 字符串转换为 PDF。 在 HTML 字符串中我们能够添加 CSS。 Winnovative 的所有功能都被分成多个库。 我们需要下载特定的库以访问特定功能。

IronPDF 提供多种价格结构。 IronPDF 的基本价格从 $799 开始。 有一年的产品支持和更新费用。 IronPDF 提供免特许费的重新分发覆盖,需额外费用。Winnovative PDF 库也具有不同的价格结构。 Winnovative PDF 工具包基本价格从 650 美元起。它包括一年的支持和产品更新。

总结,我们推荐使用 IronPDF,因为它具有卓越的性能以及可供开发人员使用的众多功能。 它也提供了出色的帮助和文档,使我们能够充分利用 IronPDF 的所有功能。 与 Winnovative 相比,IronPDF 也更具成本效益。

[{i:(Winnovative 是其各自所有者的注册商标。 本网站与 Winnovative 毫无关联、未经其事先书面同意,也没有由其赞助。所有产品名称、标志和品牌是其各自所有者的财产。 比较仅供参考,反映的是撰写时的公开信息。]

常见问题解答

如何在C#中将HTML转换为PDF?

您可以使用 IronPDF 的 RenderHtmlAsPdf 方法将 HTML 字符串转换为 PDF 文档。它还支持将 HTML 文件和网络 URL 转换为 PDF。

IronPDF 与 Winnovative 相比的关键功能是什么?

IronPDF 提供单一库并具有全面功能,包括合并、拆分以及从 PDF 中提取文本和图像。它使用内置的 Chrome 引擎进行 HTML 到 PDF 转换。Winnovative 需要多个库来实现不同功能,并支持 HTML5 和可填写的 PDF 表单。

可以使用 IronPDF 从 PDF 中提取文本吗?

是的,IronPDF 提供 ExtractAllText 方法,允许开发人员高效地从 PDF 文档中提取所有文本内容。

IronPDF的许可选项是什么?

IronPDF 提供灵活的许可选项,包括无持续费用的基本 Lite 许可证。它根据不同开发人员的需求提供各种定价方案,使其具有成本效益。

使用 IronPDF 需要任何第三方软件吗?

不,IronPDF 不需要任何第三方软件。它使用其自身内置的 Chrome 引擎进行 HTML 到 PDF 转换,确保简化的安装和使用过程。

如何在 .NET 项目中安装 IronPDF?

IronPDF 可以通过 Visual Studio、Visual Studio 命令行或直接从 NuGet 安装在 .NET 项目中。它设置简单,不需要额外的软件。

IronPDF 支持哪些环境?

IronPDF 支持各种环境,包括 .NET Framework 和 .NET Core。它与 ASP.NET Web 应用程序和 Windows 应用程序无缝协作,提供灵活的部署选项。

IronPDF 可以创建交互式 PDF 文档吗?

是的,IronPDF 支持创建交互式 PDF 文档。它允许开发人员填写表单、添加注释和在 PDF 中包含交互元素。

使用 IronPDF 时常见的故障排除场景是什么?

常见的故障排除场景包括确保已安装正确版本的 .NET 框架,验证所有依赖项是否正确引用,并检查要转换的 HTML 内容的准确性。

IronPDF 和 Winnovative 如何处理 PDF 表单填写?

IronPDF 允许开发人员高效地创建和填写交互式 PDF 表单。Winnovative 也支持表单填写,提供用于保存和操作可填写 PDF 表单的工具。

Curtis Chau
技术作家

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

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