产品比较

IronPDF 和 SautinSoft PDF Focus 的比较

发布 2022年九月26日
分享:

1.导言

PDF 是便携式文档格式的缩写。要概括其含义,最简单的方法就是想象一个文件夹,其中包含从图形到文本等一系列文件。这些元素构成了现代 PDF,它们是创建 PDF 的基本构件。这种文件格式是在 20 世纪 90 年代 "发现/发明 "的,是在不同计算机设置的用户之间交换信息的一种方式。

在本文中,我们将比较两个流行的 .NET 组件 PDF 库。这两个库是

  • IronPDF
  • SautinSoft PDF Focus .Net

IronPDF 和 SautinSoft PDF Focus .Net 都致力于创建可在 Microsoft .NET 应用程序(包括 ASP.NET 网络应用程序和传统的 Windows 应用程序)中读取或编辑的 PDF 文件。现在我们可以对这两个库进行比较,以决定在我们的应用程序中使用哪个库最好。首先,我们将比较这两个库的功能,然后再比较它们在转换和处理 PDF 文件时的性能水平。

这两个库都受 Microsoft .NET 框架支持。

1.1 SautinSoft PDF Focus .Net - 功能

SautinSoft PDF Focus .Net 设计用于帮助您开发需要将文件转换为 PDF 文档的应用程序。如果您希望在 WinForms 或 WPF/XAML 应用程序中提供一种将 PDF 转换为 Word 的方法,您只需添加对 "SautinSoft.PdfFocus.dll "的引用并编写 3-4 行 C# 代码即可。

以下是 SautinSoft PDF Focus .Net 的特点:

  • 使用 .NET Framework 转换 PDF 文档。
  • 可分析和处理使用 Adobe 和其他第三方 PDF 创建产品生成的 PDF 文档
  • 包含内置的 PDF 解析器。
  • 生成 HTML5 格式的文档

    • HTML 固定格式最适合渲染,因为它完全复制了 PDF 的布局和页面结构。这些文档的标记非常复杂,有许多标记都是用 (x,y) 坐标
  • 当生成的 PDF 文件需要额外的动手处理(即编辑和合并)时,HTML Flowing 是最佳选择。
  • 生成的 PDF 文档的标记结构非常简单易懂。
  • 可使用 base64 算法生成带有图像的 HTML 文档。这样就可以完全在内存中将 PDF 转换为 HTML,而无需硬盘驱动器。
  • 提供转换 PDF 的 API。

1.2 IronPDF 功能

IronPDF 是面向 .NET 开发人员的 Iron 软件产品。它提供了一种简单、智能的方法,可将任何形式的 HTML 网页转换为 PDF 格式,而不会出现只用一些代码字符串就能生成任何形式 PDF 文档的问题。

此外,IronPDf 还能以编程方式在 PDF 文档中加入多种元素,包括页眉、页脚、水印和书签。

以下是 IronPDF 的功能:

  • 轻松将图像转换为 PDF,反之亦然
  • 从现有 PDF 文件中提取图像和文本
  • 无需使用 Adobe 软件,以编程方式将 PDF 发送到打印机
  • 从文件、二进制数据和内存中保存 PDF
  • 支持流和 128 位加密
  • 支持 PDF 数字签名
  • 轻松添加、编辑和删除 PDF 大纲和书签
  • 以编程方式在任何 PDF 页面添加便笺
  • 旋转页面
  • 添加和删除页面
  • 添加水印并改变其不透明度
  • 将 HTML 内容合并到现有的 PDF 文档中

  • 以合理的方式创建和自定义页眉和页脚

2.安装

2.1 直接下载 (IronPDF)

IronPDF.dll 可直接从 官方网站 并在 .NET 项目中用作参考。可以使用 IronPdf 命名空间访问 IronPDF 类。

2.2 直接下载 (Sautinsoft PDF Focus .Net)

SautinSoft.PdfFocus软件包可直接从官方网站下载,并在.NET项目中用作参考。 SautinSoft.PdfFocus对象可用于转换文档。

2.3 Visual Studio 安装步骤

2.3.1 SautinSoft 安装步骤

  • 启动 Visual Studio
  • 创建新项目 (在这种情况下)

  • 使用管理 NuGet 软件包安装SautinSoft.PdfFocus,如下图所示:
  • 单击 "安装 "安装最新版本;安装完成后,SautinSoft.PdfFocus.dll 会自动添加到项目中,如下图所示:

2.3.2 IronPDF 安装步骤

按照上述相同步骤,但搜索 IronPDF 而非 SautinSoft.PdfFocus。

添加 IronPDF 库作为项目参考,如下图所示:

3.定价

3.1 IronPDF

  • 开发人员可以无限制地使用该库进行开发。在一般许可方面,费率非常合算
  • 一年无限期免费支持

  • 还提供免费试用许可
  • 所有许可证都包含 30 天退款保证
  • 适用于所有环境 (开发、暂存、生产等)
  • 无条件支持一年
  • 一次性购买

3.2 SautinSoft PDF Focus .Net

该库以合理的价格为开发人员提供高质量的转换功能。值得关注的是,PDF Focus .Net 的价格低于所有同类竞争产品。例如,PDF Focus .Net - HTML Edition 的一个许可证价值为 $749 。(美元)全面版的起价为 778 美元。

  • 仅限一次性购买;提供终身许可证。
  • 一年无限制支持。
  • "全面" - 将 PDF 转换为所有支持的格式。起价 778 美元。
  • "Office" - 将 PDF 转换为 Word、Excel 和文本 (文本).599 美元起。
  • "毕加索" - 将 PDF 转换为图像。599 美元起。
  • "HTML" - 将 PDF 转换为 HTML/XML。起价为 $749。

4.IronPDF 支持和设置

4.1 支持 HTML 转 PDF

  • 全面、高保真的 HTML4 和 HTML5 渲染
  • CSS3
  • JavaScript
  • 支持 Angular 和 React
  • 图像资产
  • SVG 资产
  • 图标字体 (Fontello、Bootstrap、Font Awesome、条形码字体)
  • 响应式布局
  • 外部样式表和资产 (HTTP、HTTPS 或文件系统)
  • 静态和多线程渲染
  • 使用自定义 CSS 加载 URL
  • 使用凭证进行网络登录
  • 用户代理
  • 代理服务器
  • Cookies
  • HTTP 标头

  • 表单变量 (允许在 HTML 登录表单后登录)

4.2 HTML 转换为 PDF 的设置

  • 设置自定义的 "基本 URL "或文件路径,允许从文件系统或网络轻松加载资产文件
  • 虚拟视口 (宽度和高度) 允许使用响应式布局
  • 屏幕或打印 CSS 媒体类型
  • .NET程序集,提供以最少代码执行流程的功能
  • 将 HTML 表单转换为 PDF 表单
  • 只读或可编辑
  • 以编程方式加载自定义样式表
  • 以 DPI 为单位设置输出 PDF 的分辨率
  • 设置 JPEG 图像质量
  • 启用 JavaScript 支持,包括可选的渲染延迟
  • 自定义页面编号
  • 自动缩放 HTML 内容以适应纸张尺寸
  • 保持文本渲染质量
  • 全彩色和灰度 PDF
  • 接受以任何主要文件编码方式编码的 HTML;默认为 UTF-8
  • 设置 PDF 页边距
  • 以毫米或英寸为单位设置
  • 支持零边距 PDF
  • 使用任何国际标准纸张尺寸创建 PDF
  • 支持以毫米或英寸为单位的自定义尺寸
  • 横向或纵向纸张方向
  • 启用或禁用在 PDF 中显示 HTML 背景
  • 自定义缩放
  • GPU 加速Linux 上的 WebGL

5.SautinSoft PDF Focus 支持

5.1 将 PDF 转换为文本

如果你需要一个能从 PDF 文档中提取文本数据的 .NET 库,那你就找对地方了。

PDF Focus .Net 可帮助您从任何 PDF 文档中提取文本。文本可以从整个文档或单个页面中提取。该库提取的文本质量高,字与字之间没有多余的空格,而且还支持 Unicode 字符。此外,文本的布局与 RTF 中的一样,具有正确的换行和分栏。它还提供了转换 PDF 文档的 API。

5.2 将 PDF 转换为 DOCX

SautinSoft PDF Focus拥有自己的PDF阅读器和DOCX渲染器。您的.NET应用程序可以将任何PDF文档即时转换为DOCX,而无需依赖于Microsoft Office或Adobe Acrobat。几乎支持这两种应用程序的所有功能。生成的 DOCX 文档将包含段落、列、表格、超链接、图像、分页符等。

另一个值得关注的地方是,PDF Focus .Net 具有人工智能功能,可以理解并重新创建带行和单元格的真实表格。 (PDF 文档没有真正的表格......如果你在 PDF 文档中看到一个表格,它实际上只是一组线条,给人的感觉就像一个真正的表格。).

6.兼容性(技术信息)

6.1 IronPDF 兼容性

  • .NET Framework 4.0、4.5 和 4.6.1
  • .NET Core 2.1、3.0、3.1、.NET 5 和 .NET 6
  • 完全兼容 macOS、Linux 和 Windows。
  • 符合 .NET 标准 2.0,实现通用兼容性
  • 包括对云托管的支持:Windows Azure、亚马逊网络服务 (AWS)等等
  • 装卸工

6.2 SautinSoft PDF Focus 兼容性

  • 需要 .NET Framework 4.0 或更高版本。该产品兼容所有 .NET 语言。
  • 可使用 .NET Framework 和 .NET Core 2.0。请注意,PDF Focus .Net 完全是用托管 C# 编写的,因此是一个绝对独立的库。

  • 支持多平台组件,与云平台和服务完全兼容,如

    • AWS

    • Docker

    • SharePoint

    • 谷歌云平台

7.源代码示例

7.1 IronPDF

HTML 转 PDF:

// PM> Install-Package IronPdf
 
using IronPdf;
 
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Test HTML with images</h1>").SaveAs("test_image.pdf");
 

/****** Advanced ******/
 
// Load external html assets: images, css and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
var PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf")
// PM> Install-Package IronPdf
 
using IronPdf;
 
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Test HTML with images</h1>").SaveAs("test_image.pdf");
 

/****** Advanced ******/
 
// Load external html assets: images, css and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
var PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf")
' PM> Install-Package IronPdf
'
Imports IronPdf
'
Private Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Test HTML with images</h1>").SaveAs("test_image.pdf")
'

'''**** Advanced *****
'
' Load external html assets: images, css and javascript.
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
Dim PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'PDF.SaveAs("html-with-assets.pdf")
VB   C#

URL 转 PDF:

// PM> Install-Package IronPdf
 
using IronPdf;
 
 
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.com/");
 
Pdf.SaveAs("url.pdf");  
// see also Pdf.Stream
// PM> Install-Package IronPdf
 
using IronPdf;
 
 
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.com/");
 
Pdf.SaveAs("url.pdf");  
// see also Pdf.Stream
' PM> Install-Package IronPdf
'
Imports IronPdf
'
'
Private Renderer As New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://www.google.com/")
'
Pdf.SaveAs("url.pdf")
' see also Pdf.Stream
VB   C#

图像到 PDF:

// PM> Install-Package IronPdf
using IronPdf;
using System.IO;
using System.Linq;
 
// Get all images(.jpg) from folder
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\test").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".jpeg"));
 
// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\testing.pdf");
 
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
// PM> Install-Package IronPdf
using IronPdf;
using System.IO;
using System.Linq;
 
// Get all images(.jpg) from folder
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\test").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".jpeg"));
 
// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\testing.pdf");
 
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

7.2 SautinSoft PDF Focus

将 PDF 转换为 WORD 存入 C&num 内存;

string pdfFile = @"c:\test.pdf";
 MemoryStream docxStream = new MemoryStream();

 SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();

 // Assume that we already have a PDF document as stream.
 using (FileStream pdfStream = new FileStream(pdfFile, FileMode.Open, FileAccess.Read))
 {
     f.OpenPdf(pdfStream);

     if (f.PageCount > 0)
     {
         int res = f.ToWord(docxStream);

         // Save docxStream to a file for demonstration purposes.
         if (res == 0)
         {
             string docxFile = Path.ChangeExtension(pdfFile, ".docx");
             File.WriteAllBytes(docxFile, docxStream.ToArray());
             System.Diagnostics.Process.Start(docxFile);
         }
     }
 }
string pdfFile = @"c:\test.pdf";
 MemoryStream docxStream = new MemoryStream();

 SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();

 // Assume that we already have a PDF document as stream.
 using (FileStream pdfStream = new FileStream(pdfFile, FileMode.Open, FileAccess.Read))
 {
     f.OpenPdf(pdfStream);

     if (f.PageCount > 0)
     {
         int res = f.ToWord(docxStream);

         // Save docxStream to a file for demonstration purposes.
         if (res == 0)
         {
             string docxFile = Path.ChangeExtension(pdfFile, ".docx");
             File.WriteAllBytes(docxFile, docxStream.ToArray());
             System.Diagnostics.Process.Start(docxFile);
         }
     }
 }
Dim pdfFile As String = "c:\test.pdf"
 Dim docxStream As New MemoryStream()

 Dim f As New SautinSoft.PdfFocus()

 ' Assume that we already have a PDF document as stream.
 Using pdfStream As New FileStream(pdfFile, FileMode.Open, FileAccess.Read)
	 f.OpenPdf(pdfStream)

	 If f.PageCount > 0 Then
		 Dim res As Integer = f.ToWord(docxStream)

		 ' Save docxStream to a file for demonstration purposes.
		 If res = 0 Then
			 Dim docxFile As String = Path.ChangeExtension(pdfFile, ".docx")
			 File.WriteAllBytes(docxFile, docxStream.ToArray())
			 System.Diagnostics.Process.Start(docxFile)
		 End If
	 End If
 End Using
VB   C#

PDF 转图像

SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();

f.OpenPdf(@"C:\Computer\testpdf");

if (f.PageCount > 0)
{
    //Set image properties: Jpeg, 200 dpi
    f.ImageOptions.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;
    f.ImageOptions.Dpi = 200;

    //Save all PDF pages as page1.jpg, page2.jpg ... pageN.jpg
    f.ToImage(@"C:\Pictures\, "page");
}
SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();

f.OpenPdf(@"C:\Computer\testpdf");

if (f.PageCount > 0)
{
    //Set image properties: Jpeg, 200 dpi
    f.ImageOptions.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;
    f.ImageOptions.Dpi = 200;

    //Save all PDF pages as page1.jpg, page2.jpg ... pageN.jpg
    f.ToImage(@"C:\Pictures\, "page");
}
Dim f As New SautinSoft.PdfFocus()

f.OpenPdf("C:\Computer\testpdf")

If f.PageCount > 0 Then
	'Set image properties: Jpeg, 200 dpi
	f.ImageOptions.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg
	f.ImageOptions.Dpi = 200

	'Save all PDF pages as page1.jpg, page2.jpg ... pageN.jpg
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'	f.ToImage("C:\Pictures\, "page"); }
VB   C#

PDF 转 HTML:

SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();
 f.OpenPdf(@"c:\test.pdf");

 if (f.PageCount > 0)
 {
     int result = f.ToHtml(@"c:\output.html");

     //Open HTML document
     if (result==0)
     {
         System.Diagnostics.Process.Start(@"c:\output.html");
     }
 }
SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();
 f.OpenPdf(@"c:\test.pdf");

 if (f.PageCount > 0)
 {
     int result = f.ToHtml(@"c:\output.html");

     //Open HTML document
     if (result==0)
     {
         System.Diagnostics.Process.Start(@"c:\output.html");
     }
 }
Dim f As New SautinSoft.PdfFocus()
 f.OpenPdf("c:\test.pdf")

 If f.PageCount > 0 Then
	 Dim result As Integer = f.ToHtml("c:\output.html")

	 'Open HTML document
	 If result=0 Then
		 System.Diagnostics.Process.Start("c:\output.html")
	 End If
 End If
VB   C#

8.优势

8.1 IronPDF

  • 只需 2-3 行代码即可完成转换,节省大量时间
  • 开发人员可无限制地使用该库进行测试
  • 可轻松添加、编辑和删除 PDF 大纲/书签
  • 只需几行代码即可添加文本注释 (便利贴) 以编程方式添加到任何 PDF 页面
  • 可从 HTML 或 PDF 资产中添加前景或背景覆盖层
  • 可在任何 PDF 文件中轻松添加不透明水印
  • 还可在任何现有 PDF 页面的新 HTML 内容中添加印章
  • 可为任何 PDF 制作逻辑或 HTML 页眉和页脚
  • 合并 PDF 页面并将其添加到现有页面中
  • 复制、添加和删除页面
  • 旋转页面和多平台组件运行
  • 编辑元数据、用户权限和 PDF 密码

8.2 SautinSoft PDF Focus

  • 节省大量产品开发时间和成本。用 C# 编写自己的 PDF 转换器需要花费许多天的时间和大约 100,000-1,500,000 行的 C# 代码。PDF Focus .Net 节省了大量时间,您只需添加 "SautinSoft.PdfFocus.dll "的引用并编写 3-4 行 C# 代码。无需聘请昂贵的开发人员,从而减少开发预算
  • 它还提供了一套 API,可一次性将 PDF 转换为多种格式:Word、DOCX、RTF、Excel、HTML、文本、多页 TIFF、JPEG 和 PNG
  • 这是一个独立的 PDF 库;客户端环境无需安装 Adobe Acrobat、MS Word、Excel 或任何其他软件
  • 只需一次性付款,之后即可终身使用该库。
  • 它可以轻松处理多页 TIFF 文件。
  • 此外,还提供全年无限制的免费技术支持。

9.使用 IronPDF 相比 SautinSoft 的优势

SautinSoft 库的主要缺点是会打印试用通知 "由未授权版本的 PDF Focus .Net 创建",并随机添加 "试用 "字样。而 IronPDF 则不会出现这种情况。

使用 IronPDF 的基本价格几乎是 SautinSoft 的一半。

比较这两个库,我们可以清楚地看到,IronPDF 更可靠,性价比更高,价格几乎是 SautinSoft 的一半,而且能提供更好的支持和功能。

10. 结论

在本文中,我们比较了 IronPDF 和 SautinSoft PDF Focus .Net。我们发现,IronPDF 用于通过 .NET 将网页表单、本地 HTML 网页和其他网页转换为 PDF,而 SautinSoft PDF Focus 则用于将 PDF 转换为 Docx、图像、HTML 等任何格式。通过试用,我们发现 IronPDF 提供无限制的试用功能,并且不会在输出产品中添加任何产品标签。

总之,我们更喜欢 IronPDF,因为它的性能更好,而且为使用便携式文档格式的开发人员提供了大量功能。此外,IronPDF 还提供了良好的支持和文档,确保所有令人印象深刻的功能都能得到最佳使用。

< 前一页
IronPDF与PDFShift的对比
下一步 >
IronPDF和XFINIUM.PDF的比较

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

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