產品比較

Compdfkit 與 IronPDF 的比較

發佈 2024年8月13日
分享:

PDF,Portable Document Format 的縮寫,是由 Adobe 創建的一種文件類型,以確保文件共享的一致性。這種格式在各種設備和操作系統上保持佈局、文字和圖片的一致性。PDF 因其安全性、互動功能和緊湊的大小而聞名,適合分發不會更改原始內容的文件。

對於使用 C# 的開發人員來說,PDF 函式庫提供了處理 PDF 文件的 PDF 解決方案。這些函式庫能夠創建文件、修改內容並擷取文字和圖片。它們還支援表單處理、數位簽名等功能,並且兼容不同平台。為了達到最佳性能,這些函式庫促進了高效的 PDF 處理。

在這篇文章中,我們將比較兩個 C# PDF 函式庫: IronPDFComPDFKit本比較將涵蓋功能、操作、代碼範例和許可。通過檢查這些方面,您可以確定哪個庫最適合您的PDF相關項目。

1. ComPDFKit SDK

ComPDFKIT 與 IronPDF 的比較:圖1 - ComPDFKIT SDK首頁

ComPDFKit PDF SDK 是一款強大的 C# PDF SDK,允許開發人員在其應用程式中整合全面的 PDF 功能。該庫支援處理 PDF 文檔所需的多種 PDF 功能,可在包括網頁、桌面和移動平台等各種環境中使用,使其成為開發跨平台專案的開發人員的多功能工具。範例解決方案中有多種功能可供選擇。您可以選擇任何您想嘗試的相關 ComPDFKit PDF SDK 功能。

1.1 ComPDFKit的主要功能

  1. PDF 查看: ComPDFKit 提供了一個強大的 PDF 檢視器,允許使用者以高保真度檢視 PDF 文件。檢視器支援平滑捲動、縮放和導航,確保流暢的使用體驗。

  2. 註解: 該庫包括工具,可以順利地整合 PDF 註解。使用者可以突出顯示文本、添加評論以及創建各種類型的註解,這對於協作工作流程至關重要。

  3. 表單處理: 該庫提供了對互動式表單的廣泛支援。開發人員可以創建、填寫和提取 PDF 表單中的數據,這對於需要表單處理的應用程式非常理想。

  4. PDF 編輯: ComPDFKit 允許對 PDF 具有廣泛的編輯能力,包括修改文本、圖像和其他內容。這對於需要更新或自定義現有 PDF 文件的應用程式非常有用。

  5. 轉換: 該庫支援 PDF 文件與各種格式之間的轉換,如 Word、Excel、PowerPoint 和圖像。這種靈活性對於需要將 PDF 內容轉換為不同用途的應用程式至關重要。

  6. 安全: ComPDFKit 包括強大的安全功能,如加密和權限管理。開發人員可以保護 PDF 文件以防止未經授權的訪問,保護敏感信息。

  7. 光學字符識別 (光學字符識別)**: 該程式庫包括 OCR 功能,可將掃描的文件轉換為可編輯和可搜索的 PDF。此功能對於將紙質文件數位化並使其電子化檢索至關重要。

ComPDFKit 提供了一整套 API,可簡化將這些功能整合到各種應用程式中的過程。其詳盡的文件和支援使其成為希望在專案中整合高級 PDF 功能的開發人員的絕佳選擇。

2. IronPDF Library

Compdfkit 和 IronPDF 之間的比較:圖2 - IronPDF 首頁

IronPDF 是一個多功能的PDF庫,適用於 .NET 平台,讓開發人員可以使用C#來創建、編輯和管理PDF文檔。它提供了全面的PDF功能,旨在通過將HTML、CSS、JavaScript和各種圖像格式渲染成PDF來簡化PDF生成。這使得它成為開發人員尋求在他們的 .NET 應用程序中集成強大PDF功能的理想工具。

IronPDF的主要功能

  1. HTML到PDF轉換:IronPDF擅長將HTML、CSS和JavaScript內容轉換為高品質的PDF文件。此功能支持 從HTML字串生成PDF文件URL、ASPX 網頁表單和 MVC 視圖,使其成為適用於各種基於網頁的內容的靈活解決方案。

  2. PDF 編輯:此庫提供廣泛的編輯功能,包括添加、複製和刪除頁面、合併和拆分 PDF 以及操作文本和圖像。開發人員還可以為 PDF 文件添加頁眉、頁腳、水印和數字簽名。

  3. 表單處理:IronPDF 支援智能表單創建和 以程式方式填寫PDF表格此功能對於需要動態表單生成和從用戶提交的表單中提取數據的應用程序至關重要。

  4. 安全功能: IronPDF 提供強大的安全選項,例如設置密碼和權限、加密文檔和添加數字簽名。這些功能可確保 PDF 文檔中的敏感信息免受未經授權的訪問。

  5. 光學字符識別 (OCR) 和數據提取: 該庫包括光學字符識別 (光學字符識別) 使能將掃描的文件轉換成可編輯和可搜索的PDF。此外,IronPDF可以從現有的PDF中提取文本、圖片和其他數據,便於內容重用和分析。

  6. 圖像轉換:IronPDF支持將各種圖像格式(包括JPG、PNG、GIF、BMP和SVG)轉換成PDF文檔。它還提供將PDF頁面渲染為圖像的功能,這對於需要PDF內容視覺預覽的應用程序非常有用。

  7. 跨平台兼容性:IronPDF兼容多個.NET平台,包括.NET Core、.NET Framework和.NET Standard。它支持在Windows、Linux、macOS和Azure上部署,使其成為在不同環境中工作的開發人員的多功能選擇。

  8. 性能優化:該庫設計為高性能,支持多線程和異步操作。這確保了即使在具有高負載的應用程序中,PDF處理任務也能高效執行。

  9. 全面的文檔和支持:IronPDF提供詳細的文檔和大量的代碼示例,使開發人員能夠輕鬆入門並實現其功能。此外,它還提供技術支持,以在開發過程中解決任何問題。

3. 建立一個新的 Visual Studio 專案

在我們深入瞭解編碼範例之前,讓我們來建立一個新的 Visual Studio 專案。以下是一個在 Visual Studio 中設置 C# 控制台應用程式的分步指南。

步驟1:安裝 Visual Studio (如果尚未安裝)

Visual Studio 是 C# 專案最好的 IDE。如果您還沒有下載和安裝它,請從這裡下載 連結 並安裝它。

步驟2:開啟 Visual Studio

安裝 Visual Studio 後,將其開啟。如果您使用的是 Visual Studio Community,可以選擇登入或跳過登入。

步驟3:建立新專案

  1. 點擊「建立新專案」或導航到檔案 > 新增 > 專案。

Compdfkit 和 IronPDF 之間的比較:圖 3 IronPDF 和 DinkToPdf 之間的比較:圖 1

  1. 在搜尋欄中搜尋 Console 應用程式,然後從搜尋結果中選擇 Console 應用程式。

精簡與IronPDF之間的比較:圖4 - IronPDF與DinkToPdf之間的比較:圖2 - 在創建新項目對話框中,選擇C#控制台應用程序並單擊“下一步”。

  1. 選擇最符合您需求的專案模板。對於基本的控制台應用程式,您可以選擇"Console App" (.NET框架)2. 提供您的項目名稱和儲存位置。您還可以設置解決方案名稱。

  2. 選擇適當的目標框架,然後點擊「創建」以生成您的項目。

4. 安裝 IronPDF

將IronPDF整合到您的專案中可以通過多種方法完成,每種方法都提供順暢的設置體驗。

  1. 要使用Visual Studio NuGet包管理器,首先右鍵點擊您的解決方案中的“Dependencies”,然後選擇“Manage NuGet Packages”。在“Browse”選項卡中,搜尋“IronPDF”,並安裝最新版本到您的專案中。

比較 Compdfkit 與 IronPDF:圖 5 - 使用 NuGet 套件管理員搜尋 IronPDF

  1. 另外,您可以使用 NuGet 套件管理器主控台。在 Visual Studio 中,導航至工具 > NuGet 套件管理器 > 套件管理器主控台來打開主控台。一旦主控台打開,執行命令:
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
VB   C#

這種方法提供了一種使用簡單命令行快速安裝庫的方法。

Compdfkit 與 IronPDF 的比較:圖 6 - 使用命令行輸入上述命令

  1. 對於那些更喜歡直接從 NuGet 網站下載的人,請訪問 IronPDF NuGet 套件頁面. 從那裡,您可以下載套件文件。下載後,雙擊該文件將其添加到您的項目中,然後重新加載解決方案以完成整合。

  2. 另一種方法是直接從這個網站下載最新版本 IronPDF 官方網站. 這確保您擁有最新的套件。請按照網站上提供的說明,將 IronPDF 手動整合到您的 Visual Studio 專案中。

通過遵循任何這些方法,您可以有效地將 IronPDF 整合到您的 .NET 專案中。

5. 安裝 ComPDFKit

有兩種主要方法將 ComPDFKit 添加到您的專案中:使用 NuGet 套件管理器或本地套件。

5.1 使用 NuGet 套件管理器

  1. 打開 NuGet 套件管理器:在方案總管中,右鍵點擊「引用」,然後選擇「管理 NuGet 套件」。

  2. 搜索並安裝:在 NuGet 套件管理器中搜索「ComPDFKit」。選擇合適的套件。 (例如,ComPDFKit.NetFrameworkComPDFKit.Conversion.NetFramework) 並點擊「安裝」。

Compdfkit 與 IronPDF 之比較:圖 7 - 使用 NuGet 包管理器搜尋 ComPDFKit

  1. 驗證安裝:確保該套件出現在解決方案總管中的「參考」下。

5.2 使用本地套件

  1. 下載套件:從官方的ComPDFKit網站獲取ComPDFKit.NetFramework.nupkg文件。

  2. 配置NuGet源:在項目目錄中創建或編輯一個nuget.config文件,以包含本地套件的路徑。
<?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <packageSources>
            <add key="ComPDFKitSource" value="path\to\directoryContainingNupkg" />
        </packageSources>
    </configuration>
<?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <packageSources>
            <add key="ComPDFKitSource" value="path\to\directoryContainingNupkg" />
        </packageSources>
    </configuration>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="ComPDFKitSource" value="path" + vbTab + "o\directoryContainingNupkg" /> </packageSources> </configuration>
VB   C#
  1. 安裝本地套件:重新打開您的方案於Visual Studio,進入「管理NuGet套件」,並選擇您的本地套件來源。從本地來源安裝ComPDFKit套件。

5.3 應用許可證密鑰

  1. 獲取許可證: 聯繫 ComPDFKit 團隊以獲取試用版或完整許可證。

  2. 在代碼中應用許可證:
bool LicenseVerify()
    {
        if (!CPDFSDKVerifier.LoadNativeLibrary())
            return false;
        LicenseErrorCode verifyResult = CPDFSDKVerifier.LicenseVerify("input your license here");
        return (verifyResult == LicenseErrorCode.E_LICENSE_SUCCESS);
    }
bool LicenseVerify()
    {
        if (!CPDFSDKVerifier.LoadNativeLibrary())
            return false;
        LicenseErrorCode verifyResult = CPDFSDKVerifier.LicenseVerify("input your license here");
        return (verifyResult == LicenseErrorCode.E_LICENSE_SUCCESS);
    }
Private Function LicenseVerify() As Boolean
		If Not CPDFSDKVerifier.LoadNativeLibrary() Then
			Return False
		End If
		Dim verifyResult As LicenseErrorCode = CPDFSDKVerifier.LicenseVerify("input your license here")
		Return (verifyResult = LicenseErrorCode.E_LICENSE_SUCCESS)
End Function
VB   C#

將此方法添加到您的主應用程式檔案以驗證授權。

通過按照這些步驟,您可以成功地將ComPDFKit整合到您的C#專案中。

6. HTML 轉 PDF

將 HTML 頁面轉換為 PDF 在許多應用程式中,這是一個常見的需求,例如從網頁內容動態生成報告、發票或文檔。IronPDF 和 ComPDFKit 都為此任務提供了強大的解決方案,但它們的方法和功能存在顯著差異。

這個過程通常從捕獲 HTML 內容開始,這些內容可以是靜態的或動態生成的。然後處理捕獲的 HTML 以應用任何相關的樣式表。

(CSS) 和腳本 (JavaScript),這確保最終的 PDF 與原始網頁的外觀和行為相匹配。

6.1. 使用IronPDF將HTML頁面轉換為PDF

IronPDF是一個多功能的庫,用於在C#中將HTML轉換為PDF。它使用基於Chrome的渲染引擎來確保高質量的輸出。此過程涉及將HTML、CSS和JavaScript內容準確地渲染為PDF格式。以下是一個使用IronPDF將HTML字符串轉換為PDF文件的基本示例:

using IronPdf;
using System;
class Program
{
    static void Main()
    {
        // Define your HTML string
        string htmlString = @"
                <h1>Hello, IronPDF!</h1>
                <p>This is a simple PDF created from an HTML string.</p>";
        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlString);
        // Save the PDF document to a file
        string outputPath = "sample.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
using IronPdf;
using System;
class Program
{
    static void Main()
    {
        // Define your HTML string
        string htmlString = @"
                <h1>Hello, IronPDF!</h1>
                <p>This is a simple PDF created from an HTML string.</p>";
        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlString);
        // Save the PDF document to a file
        string outputPath = "sample.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

比較 Compdfkit 和 IronPDF:圖 8 - 從上述代碼輸出的範例

同樣地,您也可以從 HTML 文件創建 PDF。這非常有幫助,因為有時 HTML 字串過大,您需要將 CSS 添加進去。IronPDF 通過提供一種方法來直接將 HTML 文件及其 CSS 和 JS 文件轉換為 PDF 文檔來進行幫助。

using IronPdf;
using System;
class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("index.html");
        // Save the PDF document to a file
        string outputPath = "HTML File.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
using IronPdf;
using System;
class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("index.html");
        // Save the PDF document to a file
        string outputPath = "HTML File.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

比較 Compdfkit 和 IronPDF:圖 9 - 使用 IronPDF 將 HTML 渲染為 PDF 的示例輸出

IronPDF 也支持將 URL 和 HTML 文件轉換為 PDF 檔案。這些功能在文件管理很重要的軟體中非常有用。IronPDF 提供多種 PDF 創建和操作功能,使其成為開發人員的強大工具。

6.2. 使用 ComPDFKit 將 HTML 轉換為 PDF

ComPDFKit 在其 C# SDK 中不直接支持 HTML 轉換為 PDF。相反,它提供了一個專門用於此目的的 API。此 API 允許您通過向他們的服務發送 HTTP 請求來進行 HTML 到 PDF 的轉換。

要使用 ComPDFKit 的 HTML 到 PDF API,通常您會遵循以下步驟:

  1. 發送 HTML 內容:創建一個 HTTP POST 請求,將您的 HTML 內容發送至 ComPDFKit 的 API 端點。

  2. 接收 PDF 輸出:API 處理 HTML 內容並返回生成的 PDF 文件。

以下是一個在 C# 中結構這樣的請求的示例:

using System;
using System.Net.Http;
using System.Threading.Tasks;
public class HtmlToPdfExample
{
    public static async Task ConvertHtmlToPdfAsync()
    {
        using (var client = new HttpClient())
        {
            var content = new StringContent("<h1>Hello World</h1>");
            var response = await client.PostAsync("https://api.compdfkit.com/html-to-pdf", content);
            var pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
        }
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
public class HtmlToPdfExample
{
    public static async Task ConvertHtmlToPdfAsync()
    {
        using (var client = new HttpClient())
        {
            var content = new StringContent("<h1>Hello World</h1>");
            var response = await client.PostAsync("https://api.compdfkit.com/html-to-pdf", content);
            var pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

這僅是一個展示,我們可以在 C# 程式中這樣使用 API。ComPDFKit 的文件中沒有針對 C# 的具體使用方法。

7. PDF 水印

在 PDF 上添加水印是一種重要的做法,原因有很多。它有助於保護文檔的完整性,聲明所有權,並增加一層安全性。水印可以是文字、標誌或圖像,出現在文檔的背景或前景中。它們可以阻止未經授權的使用、複制和分發內容。此外,水印還可以傳達重要信息,例如文檔的狀態。 (例如,「機密」、「草稿」、「批准」) 創作者的身份

7.1 使用 IronPDF 添加水印

IronPDF 提供了一種簡單的方法來 以程式方式將浮水印添加至 PDF 文件此功能已集成到該庫中,允許開發者使用C#代碼應用水印。

using IronPdf;
using IronPdf.Editing;
License.LicenseKey = "License-Code";
string watermarkHtml = @"
<img style='width: 500px;' src=""C:\Users\Tayyab Ali\Desktop\watermark.png"">
<h1>IronPDF Watermark</h1>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>It's a PDF with a watermark</h1>");
// Apply watermark with 45 degrees rotation and 70% opacity
pdf.ApplyWatermark(watermarkHtml, rotation: 30, opacity: 50);
pdf.SaveAs("f://Confedential.pdf");
using IronPdf;
using IronPdf.Editing;
License.LicenseKey = "License-Code";
string watermarkHtml = @"
<img style='width: 500px;' src=""C:\Users\Tayyab Ali\Desktop\watermark.png"">
<h1>IronPDF Watermark</h1>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>It's a PDF with a watermark</h1>");
// Apply watermark with 45 degrees rotation and 70% opacity
pdf.ApplyWatermark(watermarkHtml, rotation: 30, opacity: 50);
pdf.SaveAs("f://Confedential.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Compdfkit 與 IronPDF 比較:圖 10 - 上述程式碼的輸出範例顯示了使用 IronPDF 添加的浮水印。

在此範例中,使用 ChromePdfRenderer 類別從 HTML 字串創建 PDF。然後使用 ApplyWatermark 方法來應用浮水印。浮水印包含在 watermarkHtml 字串中定義的圖像和標題。rotation 參數設置為 30 度,opacity 設置為 50%,確保浮水印可見但不會壓過主要內容。最終生成的 PDF 保存到指定的路徑。

7.2 使用 ComPDFKit 添加水印

ComPDFKit 提供了在 C# 中直接向 PDF 文件添加水印的全面功能。這可以通過使用 ComPDFKit 庫的方法以編程方式完成。以下是一個使用 ComPDFKit 添加文本水印的示例:

static private bool AddTextWatermark(CPDFDocument document)
{
    CPDFWatermark watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT);
    watermark.SetText("test");
    watermark.SetFontName("Helvetica"); 
    watermark.SetPages("0-3");
    byte[] color = { 255, 0, 0 };
    watermark.SetTextRGBColor(color);
    watermark.SetScale(2);
    watermark.SetRotation(0);
    watermark.SetOpacity(120);
    watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER);
    watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER);
    watermark.SetVertOffset(0);
    watermark.SetHorizOffset(0);
    watermark.SetFront(true);
    watermark.SetFullScreen(true);
    watermark.SetVerticalSpacing(10);
    watermark.SetHorizontalSpacing(10);
    watermark.CreateWatermark();
    string path = outputPath + "\\AddTextWatermarkTest.pdf";
    if (!document.WriteToFilePath(path))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + path);
    return true;
}
CPDFDocument document = CPDFDocument.InitWithFilePath("SamplePDF.pdf");
if (AddTextWatermark(document))
{
    Console.WriteLine("Add text watermark done.");
}
else
{
    Console.WriteLine("Add text watermark failed.");
}
static private bool AddTextWatermark(CPDFDocument document)
{
    CPDFWatermark watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT);
    watermark.SetText("test");
    watermark.SetFontName("Helvetica"); 
    watermark.SetPages("0-3");
    byte[] color = { 255, 0, 0 };
    watermark.SetTextRGBColor(color);
    watermark.SetScale(2);
    watermark.SetRotation(0);
    watermark.SetOpacity(120);
    watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER);
    watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER);
    watermark.SetVertOffset(0);
    watermark.SetHorizOffset(0);
    watermark.SetFront(true);
    watermark.SetFullScreen(true);
    watermark.SetVerticalSpacing(10);
    watermark.SetHorizontalSpacing(10);
    watermark.CreateWatermark();
    string path = outputPath + "\\AddTextWatermarkTest.pdf";
    if (!document.WriteToFilePath(path))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + path);
    return true;
}
CPDFDocument document = CPDFDocument.InitWithFilePath("SamplePDF.pdf");
if (AddTextWatermark(document))
{
    Console.WriteLine("Add text watermark done.");
}
else
{
    Console.WriteLine("Add text watermark failed.");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

ComPDFKit 與 IronPDF 的比較:圖 11 - 上面的示例來自代碼輸出,展示了使用 ComPDFKit 添加的水印

在此示例中,CPDFDocument 類被用來開啟已存在的 PDF 文件。AddTextWatermark 方法使用 InitWatermark 方法初始化文字浮水印。接著設定浮水印的多個屬性,如文字內容、字型、顏色、比例、旋轉、透明度、對齊方式和間距。然後,浮水印被建立並應用到 PDF 文件的指定頁面。最後,修改後的 PDF 被保存到指定的路徑。若要整合圖像浮水印,則需要使用不同的方法。

8. PDFA

PDF/A 是一種專為長期數字保存電子文件設計的標準化 PDF 版本。確保文件符合 PDF/A 規範,能保證未來能夠可靠地查看和重現。此部分探討如何使用兩個流行的庫來創建符合 PDF/A 的文檔:IronPDF 和 ComPDFKit。

8.1 使用 IronPDF 的 PDF/A

IronPDF 簡化了將標準 PDF 文件轉換為符合 PDF/A 規範文檔的過程。使用 IronPDF,您可以輕鬆加載現有的 PDF 並將其以符合 PDF/A 規範的格式保存。

using IronPdf;
using System;
class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Key";
        PdfDocument pdf = PdfDocument.FromFile("Source.pdf");
        pdf.SaveAsPdfA("pdfa-compliant.pdf", PdfAVersions.PdfA3);
    }
}
using IronPdf;
using System;
class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Key";
        PdfDocument pdf = PdfDocument.FromFile("Source.pdf");
        pdf.SaveAsPdfA("pdfa-compliant.pdf", PdfAVersions.PdfA3);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

以下是過程的簡要概述:

  1. 初始化 IronPDF:首先導入 IronPDF 庫並設置您的許可證密鑰。

  2. 加載 PDF:使用 PdfDocument.FromFile 加載您的來源 PDF 文件。

  3. 轉換和保存:通過指定所需的 PDF/A 版本並保存結果文件,將加載的 PDF 轉換為 PDF/A。

這種直觀的方法使 IronPDF 成為處理 PDF/A 轉換的便捷選擇。

8.2 使用 ComPDFKit 的 PDFA

ComPDFKit 提供了一個強大的解決方案,用於將 PDF 轉換為 PDF/A 格式。該過程包括初始化 PDF 文件、定義輸出路徑和調用轉換方法。

static public bool CovertToPDFA1a(CPDFDocument document)
{
    string convertToPDFA1aPath = outputPath + "\\ConvertToPDFA1aTest.pdf";
    if (!document.WritePDFAToFilePath(CPDFType.CPDFTypePDFA1a, convertToPDFA1aPath))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + convertToPDFA1aPath);
    return true;
}
CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
if (!Directory.Exists(outputPath))
{
    Directory.CreateDirectory(outputPath);
}
if (CovertToPDFA1a(document))
{
    Console.WriteLine("Convert to PDF/A-1a done.");
}
else
{
    Console.WriteLine("Convert to PDF/A-1a failed.");
}
static public bool CovertToPDFA1a(CPDFDocument document)
{
    string convertToPDFA1aPath = outputPath + "\\ConvertToPDFA1aTest.pdf";
    if (!document.WritePDFAToFilePath(CPDFType.CPDFTypePDFA1a, convertToPDFA1aPath))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + convertToPDFA1aPath);
    return true;
}
CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
if (!Directory.Exists(outputPath))
{
    Directory.CreateDirectory(outputPath);
}
if (CovertToPDFA1a(document))
{
    Console.WriteLine("Convert to PDF/A-1a done.");
}
else
{
    Console.WriteLine("Convert to PDF/A-1a failed.");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

以下是步驟摘要:

  1. 初始化文件:使用 CPDFDocument.InitWithFilePath 加載 PDF 文件。

  2. 設置輸出目錄:確保輸出目錄存在,必要時創建。

  3. 轉換為 PDF/A:用指定的 PDF/A 類型使用 WritePDFAToFilePath 進行轉換並保存文件。

9. 數位簽章

數位簽章對於驗證文件的真實性和完整性至關重要。本節將展示如何使用 IronPDF 和 ComPDFKit 將數位簽章添加到 PDF。

9.1 使用 IronPDF 進行數位簽章

IronPDF 提供了一種簡單有效的方式,將數位簽章應用於 PDF 文件。

using IronPdf;
using IronPdf.Signing;
class Program
{
    static void Main(string[] args)
    {
        var simpleSignature = new IronPdf.Signing.PdfSignature("MyCert.p12", "newpassword");
        simpleSignature.SignPdfFile("sample.pdf");
    }
}
using IronPdf;
using IronPdf.Signing;
class Program
{
    static void Main(string[] args)
    {
        var simpleSignature = new IronPdf.Signing.PdfSignature("MyCert.p12", "newpassword");
        simpleSignature.SignPdfFile("sample.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

這個過程包括:

  1. 初始化 IronPDF:導入必要的 IronPDF 庫。

  2. 創建簽名:使用證書文件和密碼初始化 PdfSignature 對象。

  3. 簽署 PDF:使用 SignPdfFile 為 PDF 應用簽名。

這種方法確保您的 PDF 文件被安全簽署,提高了其可信度和安全性。

9.2 ComPDFKit 的數位簽名

ComPDFKit 提供全面的數位簽名解決方案,具有廣泛的自訂選項。

private static void CreateDigitalSignature(CPDFDocument document, string certificatePath, string password)
{
    Console.WriteLine("--------------------");
    Console.WriteLine("Create digital signature.");
    CPDFSignatureCertificate certificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path("Certificate.pfx", "ComPDFKit");
    CPDFPage page = document.PageAtIndex(0);
    CPDFSignatureWidget signatureField = page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS) as CPDFSignatureWidget;
    signatureField.SetRect(new CRect(28, 420, 150, 370));
    signatureField.SetWidgetBorderRGBColor(new byte[] { 0, 0, 0 });
    signatureField.SetWidgetBgRGBColor(new byte[] { 150, 180, 210 });
    signatureField.UpdateAp();
    string name = GetGrantorFromDictionary(certificate.SubjectDict) + "\n";
    string date = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss");
    string reason = "I am the owner of the document.";
    string location = certificate.SubjectDict["C"];
    string DN = certificate.Subject;
    CPDFSignatureConfig signatureConfig = new CPDFSignatureConfig
    {
        Text = GetGrantorFromDictionary(certificate.SubjectDict),
        Content =
        "Name: " + name + "\n" +
        "Date: " + date + "\n" +
        "Reason: " + reason + " \n" +
        "Location: " + location + "\n" +
        "DN: " + DN + "\n",
        IsContentAlignLeft = false,
        IsDrawLogo = true,
        LogoBitmap = new Bitmap("Logo.png"),
        TextColor = new float[] { 0, 0, 0 },
        ContentColor = new float[] { 0, 0, 0 }
    };
    string filePath = outputPath + "\\" + document.FileName + "_Signed.pdf";
    signatureField.UpdataApWithSignature(signatureConfig);
    if (document.WriteSignatureToFilePath(signatureField,
        filePath,
        certificatePath, password,
        location,
        reason, CPDFSignaturePermissions.CPDFSignaturePermissionsNone))
    {
        Console.WriteLine("File saved in " + filePath);
        Console.WriteLine("Create digital signature done.");
    }
    else
    {
        Console.WriteLine("Create digital signature failed.");
    }
    Console.WriteLine("--------------------");
}
private static void CreateDigitalSignature(CPDFDocument document, string certificatePath, string password)
{
    Console.WriteLine("--------------------");
    Console.WriteLine("Create digital signature.");
    CPDFSignatureCertificate certificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path("Certificate.pfx", "ComPDFKit");
    CPDFPage page = document.PageAtIndex(0);
    CPDFSignatureWidget signatureField = page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS) as CPDFSignatureWidget;
    signatureField.SetRect(new CRect(28, 420, 150, 370));
    signatureField.SetWidgetBorderRGBColor(new byte[] { 0, 0, 0 });
    signatureField.SetWidgetBgRGBColor(new byte[] { 150, 180, 210 });
    signatureField.UpdateAp();
    string name = GetGrantorFromDictionary(certificate.SubjectDict) + "\n";
    string date = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss");
    string reason = "I am the owner of the document.";
    string location = certificate.SubjectDict["C"];
    string DN = certificate.Subject;
    CPDFSignatureConfig signatureConfig = new CPDFSignatureConfig
    {
        Text = GetGrantorFromDictionary(certificate.SubjectDict),
        Content =
        "Name: " + name + "\n" +
        "Date: " + date + "\n" +
        "Reason: " + reason + " \n" +
        "Location: " + location + "\n" +
        "DN: " + DN + "\n",
        IsContentAlignLeft = false,
        IsDrawLogo = true,
        LogoBitmap = new Bitmap("Logo.png"),
        TextColor = new float[] { 0, 0, 0 },
        ContentColor = new float[] { 0, 0, 0 }
    };
    string filePath = outputPath + "\\" + document.FileName + "_Signed.pdf";
    signatureField.UpdataApWithSignature(signatureConfig);
    if (document.WriteSignatureToFilePath(signatureField,
        filePath,
        certificatePath, password,
        location,
        reason, CPDFSignaturePermissions.CPDFSignaturePermissionsNone))
    {
        Console.WriteLine("File saved in " + filePath);
        Console.WriteLine("Create digital signature done.");
    }
    else
    {
        Console.WriteLine("Create digital signature failed.");
    }
    Console.WriteLine("--------------------");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

這些步驟包括:

  1. 初始化文件和證書:加載PDF文件並使用 CPDFPKCS12CertHelper 獲取證書。

  2. 創建和配置簽名欄位:在PDF中添加簽名欄位,設置其屬性並配置簽名詳情。

  3. 應用簽名:使用 WriteSignatureToFilePath 應用簽名並保存已簽名的PDF。

10. 提取文字

從 PDF 文件中提取文字 對於各種資料處理和分析任務至關重要。本節說明如何使用 IronPDF 和 ComPDFKit 從 PDF 中提取文本。

10.1 使用IronPDF提取文本

IronPDF 提供了一種從 PDF 文件中提取文本的簡單方法。

using IronPdf;
using System.IO;
PdfDocument pdf = PdfDocument.FromFile("PDF File With Text.pdf");
string text = pdf.ExtractAllText();
File.WriteAllText("PDF Text.txt", text);
using IronPdf;
using System.IO;
PdfDocument pdf = PdfDocument.FromFile("PDF File With Text.pdf");
string text = pdf.ExtractAllText();
File.WriteAllText("PDF Text.txt", text);
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

該過程包括:

  1. Initialize IronPDF: 導入IronPDF函式庫。

  2. Load the PDF: 使用 PdfDocument.FromFile 加載PDF文件。

  3. Extract Text: 調用 ExtractAllText 以提取PDF中的所有文字內容。

  4. Save Text to File: 使用標準文件I/O操作將提取的文字寫入文件。

此方法提供了一種簡便而高效的方式來從PDF文檔中提取和保存文字。

10.2 使用ComPDFKit提取文本

ComPDFKit 提供了從PDF文檔中提取文本的靈活解決方案。

static private bool PDFToText(CPDFDocument document)
{
    string path = outputPath + "//PDFToText.txt";
    if (!document.PdfToText("1-" + document.PageCount.ToString(), path))//Page ranges are counted from 1
    {
        return false;
    }
    Console.WriteLine("Browse the generated file in " + path);
    return true;
}
static void Main(string[] args)
{
    #region Perparation work
    Console.WriteLine("Running PDFPage test sample…\r\n");
    SDKLicenseHelper.LicenseVerify();
    CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
    if (!Directory.Exists(outputPath))
    {
        Directory.CreateDirectory(outputPath);
    }
    #endregion
    if (PDFToText(document))
    {
        Console.WriteLine("PDF to text done.");
    }
    else
    {
        Console.WriteLine("PDF to text failed.");
    }
    Console.WriteLine("--------------------");
    Console.WriteLine("Done!");
    Console.WriteLine("--------------------");
    Console.ReadLine();
}
static private bool PDFToText(CPDFDocument document)
{
    string path = outputPath + "//PDFToText.txt";
    if (!document.PdfToText("1-" + document.PageCount.ToString(), path))//Page ranges are counted from 1
    {
        return false;
    }
    Console.WriteLine("Browse the generated file in " + path);
    return true;
}
static void Main(string[] args)
{
    #region Perparation work
    Console.WriteLine("Running PDFPage test sample…\r\n");
    SDKLicenseHelper.LicenseVerify();
    CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
    if (!Directory.Exists(outputPath))
    {
        Directory.CreateDirectory(outputPath);
    }
    #endregion
    if (PDFToText(document))
    {
        Console.WriteLine("PDF to text done.");
    }
    else
    {
        Console.WriteLine("PDF to text failed.");
    }
    Console.WriteLine("--------------------");
    Console.WriteLine("Done!");
    Console.WriteLine("--------------------");
    Console.ReadLine();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

步驟如下:

  1. 初始化文件:使用 CPDFDocument.InitWithFilePath 加載 PDF 文件。

  2. 設置輸出目錄:確保輸出目錄存在,必要時創建。

  3. 提取並保存文字:使用 PdfToText 從指定頁範圍提取文字並保存到文件。

8. 授權制度

IronPDF 和 ComPDFKit 的授權模型在其方法和使用條款上有所不同。了解這些差異可以幫助您為您的專案需求和預算選擇合適的工具。

9.1 IronPDF Licensing

IronPDF 授權

Compdfkit與IronPDF之比較:圖12 - IronPDF授權頁面

IronPDF 在商業授權模式下運作,意思是對於商業或業務相關的應用程式,通常需要購買授權。這種模式提供靈活性,包括免版稅分發等選項。這允許開發人員在其項目中集成該庫,而不必在運行時面臨額外成本。

IronPDF 提供永久授權。永久授權需要一次性付款即可終身使用,並可選擇支付更新和技術支持費用,超過最初的支持期。這種商業模式確保企業能夠獲得專業的支持、全面的文檔以及生成和操作專業 PDF 所需的高級功能。

9.2 ComPDFKit 授權

ComPDFKit 採用靈活的授權模式,以滿足不同業務需求。它提供永久授權和訂閱授權。永久授權涉及一次性付款,授予 SDK 的終身使用權,並可選支付更新和延長支援的費用。訂閱授權則需要定期支付款項。 (每月或每年) 並包括持續的更新和支援。

在選擇 IronPDF 和 ComPDFKit 時,請考慮您的專案的具體需求,例如需要專門的支援、預算限制和部署規模。IronPDF 的商業模式對於尋求強大的支援和高級功能的企業更加適合。

9. 文件和支援

9.1. IronPDF 文檔和支持

IronPDF 為用戶提供了全面的文檔和強大的支持選項。文檔詳細而完整,提供了有關安裝、基本使用、高級功能和故障排除的明確指導。官方文檔可在 閱讀文檔,它包括快速入門指南、詳細的 API 參考和大量的代碼示例,幫助開發人員快速入門並有效使用 IronPDF 的功能。

IronPDF 還通過其博客和示例部分維護活躍的故障排除指南和技術支持網站,用戶可以在那裡找到常見問題的解決方案,例如渲染延遲和部署挑戰。支持網站包含一系列處理常見問題和具體技術問題的文章。

為了直接支持,IronPDF 提供了響應迅速的客戶服務團隊,可以聯繫他們以解決更複雜的問題或獲得個性化的幫助。這種全面的文檔和強大的支持基礎設施組合,使 IronPDF 成為開發人員尋求將 PDF 功能集成到其應用程序中的可靠選擇。

9.2. ComPDFKit 文件和支援

ComPDFKit 也為其用戶提供了詳細的文件和支援資源。它涵蓋了使用 SDK 的各個方面,從基本設置到高級功能,如浮水印和數位簽名等。對於支援,ComPDFKit 通過其客戶服務渠道提供技術援助。支援團隊可幫助解決技術問題、回答問題並提供有效使用 SDK 的指導。

雖然 IronPDF 和 ComPDFKit 都提供了強大的文件和支援,IronPDF 憑藉其更廣泛的疑難排解指南和高度響應的支援團隊略勝一籌。這使得它特別有利於可能遇到複雜技術挑戰並需要可靠援助的開發人員。

10. 結論

IronPDF 與 ComPDFKit 的比較突出了一些開發者在尋求穩健的 C# PDF 生成和操作庫時,應該考慮的優點和因素。

ComPDFKit 是一個全面的 PDF SDK,支持處理 PDF 文檔所需的廣泛功能。它在 PDF 註釋方面表現優異,並擁有廣泛的編輯能力。其格式轉換和安全選項等特性為開發者增加了顯著的價值。

另一方面,IronPDF 以其強大且易於使用的 API 而聞名。它透過從 HTML、CSS 和 JavaScript 渲染 PDF,簡化了 PDF 生成過程。IronPDF 擅長於 HTML 到 PDF 的轉換,提供與 .NET 應用程序的無縫整合。該庫提供廣泛的編輯功能,包括添加頁眉、頁腳、水印和數字簽名。

IronPDF 的安全性功能確保了 PDF 文檔內的敏感信息得到了良好保護。它對多個 .NET 平台的支持和針對高工作量的優化性能,使其成為企業級應用程序的理想選擇。IronPDF 的商業授權模式保證了專門的支持、全面的文檔和訪問高級功能,這使它特別適合專業級項目。

相比于 ComPDFKit,IronPDF 作為一個全面且功能豐富的 PDF 庫,是開發者的強力選擇。其高級功能、用戶友好的 API 和強大的支持基礎設施,使其成為企業和具多樣且嚴苛的 PDF 需求項目的首選解決方案。IronPDF 的廣泛功能和專門支持提供了顯著的優勢,確保了專業應用中的可靠且高效的 PDF 生成和操作。

總而言之,IronPDF 和 ComPDFKit 都是強大的 C# PDF 處理工具。然而,IronPDF 的廣泛功能集、優化性能和卓越支持,使其成為致力於專業和企業級應用的開發者的首選。 免費試用授權 供用戶試用該庫及其功能。IronPDF 許可證起價為 $749。此外,Iron Software 將九個庫打包成兩個的價格,其中包括 IronXLIronOCR 以及 IronPDF。

< 上一頁
CraftMyPDF 和 IronPDF 的比較
下一個 >
報告 .NET 與 IronPDF 的比較

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

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