產品比較

IronPDF與SautinSoft PDF Focus的比較

發佈 2022年9月26日
分享:

1. 介紹

PDF 是可攜式文件格式。最簡單的說明方式是想像一個包含從圖形到文本等一系列文件的資料夾。這些元素構成了現代 PDF,它們是創建 PDF 的基本構建模塊。這種文件格式在 1990 年代被“發現/發明”作為在使用不同計算機設置的用戶之間交換信息的一種方式。

在本文中,我們將比較兩個流行的 .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流動是最佳選擇。
  • 生成的PDF文件的標記結構非常簡單且易於理解。
  • 能夠使用base64算法生成帶有圖片的HTML文檔。這使您能夠完全在內存中將PDF轉換為HTML,而不需要硬盤。
  • 提供PDF轉換的API。

1.2 IronPDF 功能

IronPDF 是一款專為 .NET 開發者設計的 Iron Software 產品。它提供了一種簡單且智能的方法,可以將任何形式的 HTML 網頁轉換成 PDF 格式,避免了只用一些代碼片段生成任何形式 PDF 文件所產生的問題。

此外,IronPDF 還提供了程式化地在 PDF 文件中包含各種元素的功能,包括頁眉、頁腳、水印和書籤。

以下是 IronPDF 的功能:

  • 輕鬆地將圖像轉換為 PDF,反之亦然
  • 從現有的 PDF 中提取圖像和文本
  • 程式化地將 PDF 發送到打印機,而不使用 Adobe 軟件
  • 從文件、二進制數據和內存中保存 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 起。
  • 「辦公版本」—將 PDF 轉換為 Word、Excel 和文本。 (文字). 起價 $599。
  • "Picasso" — 將 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
  • 使用憑證進行網絡登入
  • 用戶代理
  • 代理伺服器
  • Cookie
  • HTTP標頭
  • 表單變數 (允許在 HTML 登入表單後登入)

4.2 HTML 到 PDF 設定

  • 設定自定義的“基本 URL”或檔案路徑,可輕鬆從檔案系統或透過網路載入資產檔案
  • 虛擬視口 (寬度和高度) 允許使用響應式佈局
  • 螢幕或列印 CSS 媒體類型
  • .NET 組件,提供以最少代碼執行該過程的功能
  • 將 HTML 表單轉換為 PDF 表單
  • 僅讀或可編輯
  • 程式化載入自訂樣式表
  • 設定輸出 PDF 解析度(DPI)
  • 設定 JPEG 圖像質量
  • 啟用 JavaScript 支援,包括可選的渲染延遲
  • 自訂頁碼
  • 自動縮放 HTML 內容以適應紙張尺寸
  • 保持文本渲染質量
  • 全彩和灰階 PDF
  • 接受任何主要文件編碼的 HTML;預設為 UTF-8
  • 設定 PDF 紙張邊距
  • 以毫米或英寸為單位設置
  • 支援零邊距 PDF
  • 使用任何國際標準紙張尺寸創建 PDF
  • 支援自訂尺寸(毫米或英寸)
  • 橫向或縱向的紙張方向
  • 啟用或禁用 HTML 背景在 PDF 中顯示
  • 自訂縮放
  • 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 Standard 2.0 以實現通用兼容性
  • 包括對雲端託管的支持:Windows Azure, Amazon Web Services (AWS),等等
  • Docker

6.2 SautinSoft PDF Focus 兼容性

  • 需要 .NET Framework 4.0 或更高版本。該產品與所有 .NET 語言兼容。
  • 可以使用 .NET Framework 和 .NET Core 2.0。請注意,PDF Focus .Net 完全由托管的 C# 編寫,是一個完全獨立的庫。
  • 支持多平台組件,並與雲平台和服務完全兼容,例如:

    • AWS

    • Docker

    • SharePoint

    • Google Cloud Platform

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#)

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
  • 複製、添加和刪除頁面
  • 旋轉頁面和跨平台運行元件
  • 編輯元資料、用戶權限和 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、Text、多頁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 用於將網頁表單、本地 HTML 頁面和其他網頁轉換為 PDF ,而 SautinSoft PDF Focus 則用於將 PDF 轉換為任何格式,如 Docx、圖片、HTML 等。通過試用,我們發現 IronPDF 提供了無限試用功能,並且不會在輸出產品上添加產品標籤。

總結來說,我們更喜歡 IronPDF,因為它有更好的性能,並且為使用可攜式文件格式的開發人員提供了許多功能。他們還提供良好的支持和文檔,以確保充分利用所有令人印象深刻的功能。

< 上一頁
IronPDF 和 PDFShift 之間的比較
下一個 >
IronPDF與XFINIUM.PDF的比較

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >