產品比較

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 應用程序中讀取或編輯的 PDF 文件,包括 ASP.NET 網頁應用程序和傳統的 Windows 應用程序。 我們現在可以比較這兩個庫,以決定哪一個最適合用於我們的應用程式。 首先,我們將比較這兩個函式庫的功能,然後再轉向它們在轉換和操作 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 是 Iron Software 為 .NET 開發者設計的強大工具。 它提供了一種簡單而智能的方法,將任何形式的 HTML 網頁轉換為 PDF 格式,無需面對僅使用一些代碼片段生成各種 PDF 文件時出現的問題。

此外,IronPDF 提供以程式方式在 PDF 文件中包含多種元素的能力,包括標頭、頁尾、浮水印和書籤。

以下是 IronPDF 的功能:

  • 輕鬆將圖像轉換為PDF,反之亦然。
  • 從現有的PDF中提取圖片和文字
  • 以程式方式將 PDF 發送到打印機,而不使用 Adobe 軟體。
  • 從檔案、二進位資料和記憶體中儲存PDF
  • 支持資料流和128位元加密
  • 支援 PDF 數位簽章
  • 輕鬆新增、編輯和移除 PDF 大綱和書籤
  • 以程式方式將便利貼新增至任何 PDF 頁面。
  • 旋轉頁面
  • 添加和刪除頁面
  • 添加水印並更改其不透明度
  • 將 HTML 中的內容合併到現有的 PDF 文件中
  • 以邏輯方式創建和自定義頁眉和頁腳

2. 安裝

2.1 直接下載 (IronPDF)

IronPDF.dll 可以直接從IronPDF NuGet 套件並用作 .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 Pdf Focus Alternatives 1 related to 2.3.1 SautinSoft 安裝步驟
Sautinsoft Pdf Focus Alternatives 2 related to 2.3.1 SautinSoft 安裝步驟
  • 點擊安裝以安裝最新版本; 完成後,SautinSoft.PdfFocus.dll 將自動添加到您的專案中,如下所示:
    Sautinsoft Pdf Focus Alternatives 3 related to 2.3.1 SautinSoft 安裝步驟

2.3.2 IronPDF 安裝步驟

按照上面提到的相同步驟,但搜索 IronPDF 而不是 SautinSoft.PdfFocus。

Sautinsoft Pdf Focus Alternatives 4 related to 2.3.2 IronPDF 安裝步驟

將 IronPDF 庫添加為項目引用,如下所示:

Sautinsoft Pdf Focus Alternatives 5 related to 2.3.2 IronPDF 安裝步驟

3. 價格

3.1 IronPDF

  • 開發人員可以無限制地使用該庫進行開發。 在一般授權方面,費率非常划算。
  • 一年免費不限量支援
  • 試用版也可用於授權用途。
    Sautinsoft Pdf Focus Alternatives 6 related to 3.1 IronPDF
  • 所有授權均包含30天退款保證。
  • 適用於所有環境(開發、測試、生產等)
  • 一年無條件支持
  • 一次性購買

3.2 SautinSoft PDF Focus .NET

該庫為開發人員提供高質量且價格合理的轉換功能。 主要的重點是,PDF Focus .NET 比所有競爭對手都便宜。 例如,一個適用於 PDF Focus .NET - HTML Edition 的授權價值為 $749(美元),Total Edition 的起價為 $778。

  • 僅需一次性購買; 提供終身授權
  • 一年的不限量支援
  • 「Total」— 將 PDF 轉換為所有支援的格式。 從 $778 起
  • 「Office」— 將 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
  • 使用憑證進行網路登錄
  • 使用者代理
  • 代理伺服器
  • Cookies
  • HTTP 標頭
  • 表單變數(允許在 HTML 登入表單後登入)

4.2 HTML 轉 PDF 設定

  • 設置自定義「基本 URL」或檔案路徑,允許資產檔案輕鬆從檔案系統或網絡中載入。
  • 虛擬視口(寬度和高度)允許使用響應式佈局
  • 螢幕或列印 CSS 媒體類型
  • .NET 程式集,它提供了使用最少程式碼執行過程的功能。
  • 將 HTML 表單轉換為 PDF 表單
  • 唯讀或可編輯
  • 以程式方式載入自訂樣式表
  • 設定輸出 PDF 解析度為 DPI
  • 設置 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 Standard 2.0 相容性用於通用兼容性
  • 包含雲端託管支援:Windows Azure、Amazon Web Services(AWS), etc
  • 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")
IRON VB CONVERTER ERROR developers@ironsoftware.com
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
' PM> Install-Package IronPdf
Imports IronPdf
Imports System.IO
Imports System.Linq

' Get all images(.jpg) from folder
Private ImageFiles = System.IO.Directory.EnumerateFiles("C:\project\test").Where(Function(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
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 密碼

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 中打印試用通知「Created by an unlicensed version of PDF Focus .NET」,並隨機添加「Trial」這個詞。IronPDF 則不存在這種情況。

使用 IronPDF 的基本價格幾乎是 SautinSoft 的一半。

當我們比較兩個庫時,可以清楚地看到IronPDF更加可靠且具成本效益,價格幾乎是SautinSoft的一半,並提供更好的支持和功能。

10. 結論

在本文中,我們比較了IronPDF和SautinSoft PDF Focus .NET。 我們發現 IronPDF 用於將網頁表單、本地 HTML 頁面和其他網頁轉換為 PDF 與 .NET,而 SautinSoft PDF Focus 用於將 PDF 轉換為任何格式,例如 DOCX、圖像、HTML 等。通過試用,我們發現 IronPDF 提供無限試用功能,且不會在輸出產品中添加產品標籤。

總之,我們偏好使用IronPDF,因為它具有更好的效能以及為使用可攜式文件格式的開發人員提供的多種功能。 他們還提供良好的支援和文件,以確保所有令人印象深刻的功能能夠得到最佳的使用。

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

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

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >