製品比較

CompdfkitとIronPDFの比較

チペゴ
チペゴ・カリンダ
2024年8月13日
共有:

PDF(Portable Document Formatの略)は、Adobeによって作成され、文書共有の一貫性を確保するためのファイル形式です。 このフォーマットでは、さまざまなデバイスやオペレーティングシステムで、レイアウト、テキスト、画像の一貫性が保たれます。 PDFは、そのセキュリティ、インタラクティブ機能、コンパクトなサイズで知られており、元のコンテンツを変更せずに文書を配布するのに最適です。

C#を使用している開発者のために、PDFライブラリは、PDFファイルを操作するためのPDFソリューションを提供します。 これらのライブラリによって、ドキュメントの作成、コンテンツの変更、テキストや画像の抽出が可能になる。 また、フォーム処理、デジタル署名、異なるプラットフォーム間の互換性などの機能もサポートしている。 最適なパフォーマンスのために設計されたこれらのライブラリは、効率的なPDF処理を促進します。

この記事では、2つのC# PDFライブラリ、IronPDFComPDFKit を比較します。 この比較では、特徴、機能、コード例、ライセンスについて説明する。 これらの点を検討することで、どのライブラリがあなたのPDF関連プロジェクトに最も適しているかを判断することができます。

1.ComPDFKit SDK

CompdfkitとIronPDFの比較: 図1 - ComPDFKIT SDK ホームページ

ComPDFKit PDF SDKは、開発者がアプリケーションに包括的なPDF機能を統合することを可能にする堅牢なC# PDF SDKです。 このライブラリは、プログラムでPDF文書を扱うために必要なPDF関数を幅広くサポートしています。 ウェブ、デスクトップ、モバイルプラットフォームなど、さまざまな環境で使用できるように設計されているため、クロスプラットフォームのプロジェクトに携わる開発者にとって汎用性の高いツールとなっている。 解答例では複数の機能を備えている。 試したいComPDFKit PDF SDKの関連機能を選択することができます。

1.1 ComPDFKitの主な機能

  1. PDFビューイング: ComPDFKitは、ユーザーが高精度でPDFドキュメントを閲覧できる強力なPDFビューアを提供します。 ビューアはスムーズなスクロール、ズーム、ナビゲーションをサポートし、シームレスなユーザー体験を保証します。

  2. 注釈: このライブラリには、PDF注釈をスムーズに統合するためのツールが含まれています。 ユーザーは、テキストをハイライトしたり、コメントを追加したり、共同作業のワークフローに不可欠なさまざまな種類の注釈を作成したりできる。

  3. フォーム処理: このライブラリはインタラクティブフォームに対する幅広いサポートを提供します。 開発者はPDFフォームからデータを作成、充填、抽出できるので、フォーム処理を必要とするアプリケーションに最適です。

  4. PDF編集: ComPDFKitは、PDFファイル内のテキスト、画像、およびその他のコンテンツの変更を含む、広範なPDF編集機能を提供します。 この機能は、既存のPDF文書を更新またはカスタマイズする必要があるアプリケーションに便利です。

  5. 変換: ライブラリは、PDFファイルをWord、Excel、PowerPoint、画像などのさまざまな形式に変換したり、逆に変換したりすることをサポートしています。 この柔軟性は、さまざまな用途のためにPDFコンテンツを変換する必要があるアプリケーションにとって不可欠です。

  6. セキュリティ: ComPDFKitには、暗号化や権限管理などの強力なセキュリティ機能が含まれています。 開発者はPDFドキュメントを保護し、機密情報を不正アクセスから守ることができます。

  7. 光学式文字認識 (OCR): ライブラリには、スキャンした文書を編集可能で検索可能なPDFに変換するOCR機能が含まれています。 この機能は、紙文書をデジタル化し、電子的にアクセスできるようにするために不可欠である。

    ComPDFKitは、様々なアプリケーションへのこれらの機能の統合を合理化する包括的なAPIセットを提供します。 豊富なドキュメンテーションとサポートにより、高度なPDF機能をプロジェクトに組み込みたい開発者に最適です。

2.IronPDF ライブラリ

CompdfkitとIronPDFの比較: 図2 - IronPDFのホームページ

IronPDFは、C#を使用してPDFドキュメントを作成、編集、および管理できる.NET用の多用途なPDFライブラリです。 包括的なPDF機能を提供します。 HTML、CSS、JavaScript、さまざまな画像フォーマットからPDFをレンダリングすることで、PDF生成を簡素化するように設計されています。 このため、堅牢なPDF機能を.NETアプリケーションに統合したい開発者にとって理想的なツールです。

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とデータ抽出: ライブラリには光学文字認識(OCR)機能が含まれており、スキャンした文書を編集可能で検索可能なPDFに変換できます。 さらに、IronPDFは既存のPDFからテキスト、画像、その他のデータを抽出し、コンテンツの再利用や分析を容易にします。

  6. 画像変換: IronPDFは、JPG、PNG、GIF、BMP、SVGなどのさまざまな画像形式をPDFドキュメントに変換することをサポートしています。 また、PDFページを画像としてレンダリングする機能も提供しており、PDFコンテンツのビジュアルプレビューを必要とするアプリケーションに便利です。

  7. クロスプラットフォーム互換性: IronPDFは、.NET Core、.NET Framework、および.NET Standardを含む複数の.NETプラットフォームに対応しています。 Windows、Linux、macOS、Azureへのデプロイをサポートしており、多様な環境で働く開発者にとって汎用性の高い選択肢となっている。

  8. パフォーマンス最適化: ライブラリは高パフォーマンスを目的に設計されており、マルチスレッドと非同期操作をサポートしています。 これにより、作業負荷の高いアプリケーションでも、PDF処理タスクが効率的に実行されます。

  9. 包括的なドキュメントとサポート: IronPDFは詳細なドキュメントと多数のコード例を提供しており、開発者が容易に開始し、その機能を実装することができます。 さらに、開発中に発生した問題をサポートする技術サポートも提供している。

3.新しいVisual Studioプロジェクトを作成する

コーディングの例に入る前に、新しいVisual Studioプロジェクトを作成しましょう。 ここでは、Visual StudioでC#コンソールアプリケーションをセットアップするためのステップバイステップガイドを紹介します。

ステップ1:Visual Studioをインストールする(まだインストールされていない場合)

Visual StudioはC#プロジェクトに最適なIDEです。 まだダウンロードしてインストールしていない場合は、このVisual Studio Downloadsページからダウンロードしてください。

ステップ 2: Visual Studio を開く

Visual Studioをインストールしたら、それを開く。 Visual Studio Communityをお持ちの場合は、サインインするか、サインインせずに続行することができます。

ステップ 3: 新しいプロジェクトを作成する

  1. 新規プロジェクトの作成」をクリックするか、「ファイル」→「新規」→「プロジェクト」と進む。

    CompdfkitとIronPDFの比較: 図3 - IronPDFとDinkToPdfの比較: 図1

  2. 検索バーでConsoleアプリを検索し、検索結果からConsoleアプリを選択します。

    CompdfkitとIronPDFの比較: 図4 - IronPDFとDinkToPdfの比較: 図2 - 新しいプロジェクトの作成ダイアログで、C#コンソールアプリケーションを選択し、次へをクリックします。

  3. あなたのニーズに最も適したプロジェクトテンプレートを選択してください。 基本的なコンソールアプリケーションの場合は、「Console App (.NET Framework)」を選択できます。

  4. プロジェクトの名前と保存場所を入力してください。 ソリューション名を設定することもできる。

  5. 適切なターゲットフレームワークを選択し、"Create "をクリックしてプロジェクトを生成します。

4. IronPDFをインストール

IronPDFをプロジェクトに統合するには様々な方法があり、それぞれがシームレスなセットアップを提供します。

  1. Visual Studio NuGetパッケージマネージャを使用するには、まずソリューションの "依存関係 "を右クリックし、"NuGetパッケージの管理 "を選択します。Browse "タブで "IronPDF "を検索し、プロジェクトの最新バージョンをインストールします。

    Compdfkit と IronPDF の比較: 図 5 - NuGet パッケージ マネージャーを使用して IronPDF を検索

  2. あるいは、NuGet Package Manager Consoleを使用することもできます。 Visual StudioのTools > NuGet Package Manager > Package Manager Consoleに移動してコンソールを開きます。 コンソールを開いたら、コマンドを実行する:
    Install-Package IronPdf

この方法は、簡単なコマンドラインを使ってライブラリを素早くインストールする方法である。

CompdfkitとIronPDFの比較: 図6 - コマンドラインを使用して上記のコマンドを入力

  1. NuGetのウェブサイトから直接ダウンロードすることを好む方は、IronPDF NuGet パッケージページをご覧ください。 そこからパッケージ・ファイルをダウンロードできます。ダウンロード後、ファイルをダブルクリックしてプロジェクトに追加し、ソリューションをリロードして統合を完了します。

  2. 別の方法として、最新バージョンのIronPDFを直接ダウンロードすることができます。 これにより、最新のパッケージを入手することができます。 ウェブサイトに記載されている手順に従って、手動でIronPDFをVisual Studioプロジェクトに統合してください。

    これらの方法のいずれかに従うことで、IronPDFを.NETプロジェクトに効率的に統合することができます。

5.ComPDFKit C&numをインストールします;

ComPDFKitをプロジェクトに追加するには、主にNuGetパッケージマネージャを使用する方法とローカルパッケージを使用する方法があります。

5.1 NuGetパッケージマネージャの使用

  1. NuGet パッケージ マネージャーを開く: ソリューション エクスプローラーで、「参照」を右クリックし、「NuGet パッケージの管理」を選択します。

  2. 検索とインストール: NuGet パッケージ マネージャーで "ComPDFKit" を検索します。 適切なパッケージ(例:ComPDFKit.NetFramework または ComPDFKit.Conversion.NetFramework)を選択し、「インストール」をクリックします。

    CompdfkitとIronPDFの比較: 図7 - NuGetパッケージマネージャーを使用してComPDFKitを検索

  3. インストールの確認: パッケージがソリューションエクスプローラーの「参照」に表示されていることを確認します。

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
  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
$vbLabelText   $csharpLabel

メイン・アプリケーション・ファイルにこのメソッドを追加し、ライセンスを検証する。

以下の手順を踏むことで、ComPDFKitをC#プロジェクトにうまく統合することができます。

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
$vbLabelText   $csharpLabel

Compdfkit & IronPDF の比較: 図8 - 上記コードからの例

同様に、HTMLファイルからPDFを作成することもできます。HTMLの文字列が大きすぎて、CSSを追加する必要がある場合もあるので、とても便利です。 IronPDFはCSSやJSファイルと共にHTMLファイルを直接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
$vbLabelText   $csharpLabel

CompdfkitとIronPDFの比較: 図9 - 上記のコードを使用してHTMLをPDFとしてレンダリングするIronPDFの例

IronPDFはURLからPDF、HTMLファイルからPDFもサポートしています。 これらの機能は、文書管理が重要なソフトウェアで非常に役立つ。 IronPDFはPDFの作成と操作のための幅広い機能を提供し、開発者にとって強力なツールとなります。

6.2.ComPDFKitを使用したHTML to PDF C&num;

ComPDFKit は、その C# SDK 内で HTML から PDF への変換を直接サポートしていません。 その代わりに、この目的のために特別に別のAPIを提供している。 このAPIは、そのサービスにHTTPリクエストを行うことで、HTMLからPDFへの変換を実行することができます。

ComPDFKitのHTML to PDF APIを使用するには、通常、以下の手順に従います:

  1. HTMLコンテンツを送信: HTMLコンテンツをComPDFKit APIエンドポイントにHTTP POSTリクエストを作成して送信します。

  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
$vbLabelText   $csharpLabel

これは、C#プログラムでこのようなAPIが使えるというデモンストレーションに過ぎない。 ComPDFKit のドキュメントには C# での具体的な使用方法はありません。

7.PDFに透かしを入れる

PDFへのウォーターマークは、多くの理由で重要な作業です。 これは、文書の完全性を保護し、所有権を主張し、セキュリティのレイヤーを追加するのに役立ちます。 透かしは、文書の背景または前景に表示されるテキスト、ロゴ、または画像です。 コンテンツの不正使用、コピー、配布を抑止する。 さらに、透かしは、文書の状態(例:「Confidential(機密)」、「Draft(草稿)」、「Approved(承認済み)」)や作成者の識別情報などの重要な情報を伝えることができます。

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://Confidential.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://Confidential.pdf");
Imports IronPdf
Imports IronPdf.Editing
License.LicenseKey = "License-Code"
Dim watermarkHtml As String = "
<img style='width: 500px;' src=""C:\Users\Tayyab Ali\Desktop\watermark.png"">
<h1>IronPDF Watermark</h1>"
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = 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://Confidential.pdf")
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

CompdfkitとIronPDFの比較: 図11 - ComPDFKitを使用して追加された透かしを示すコード出力の例

この例では、CPDFDocument クラスを使用して既存のPDFドキュメントを開きます。 AddTextWatermark メソッドは、InitWatermark メソッドを使用してテキスト透かしを初期化します。 テキストの内容、フォント、色、スケール、回転、不透明度、配置、間隔など、透かしのさまざまなプロパティを設定します。 透かしは次に作成され、PDF文書の指定されたページに適用されます。 最後に、変更されたPDFは指定されたパスに保存されます。 画像透かしを統合するには、さまざまな方法が必要である。

8.PDFA

PDF/Aは、電子文書の長期デジタル保存を目的に設計されたPDFの標準化バージョンです。 文書がPDF/Aに準拠していることを保証することで、将来にわたって確実に閲覧・複製できるようになる。 このセクションでは、2つの一般的なライブラリを使用してPDF/A準拠のドキュメントを作成する方法について説明します:IronPDFとComPDFKitです。

8.1 IronPDFを使用したPDFA

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
$vbLabelText   $csharpLabel

以下はその概要である:

  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
$vbLabelText   $csharpLabel

以下はその手順の要約である:

  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
$vbLabelText   $csharpLabel

そのプロセスには以下が含まれる:

  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
$vbLabelText   $csharpLabel

手順は以下の通り:

  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
$vbLabelText   $csharpLabel

そのプロセスには以下が含まれる:

  1. IronPDFを初期化: IronPDFライブラリをインポートします。

  2. PDFを読み込む: PdfDocument.FromFileを使用してPDFファイルを読み込みます。

  3. テキストの抽出: PDFからすべてのテキストコンテンツを取得するには、ExtractAllText を呼び出します。

  4. ファイルにテキストを保存: 標準的なファイル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
$vbLabelText   $csharpLabel

以下の手順は:

  1. ドキュメントを初期化する: CPDFDocument.InitWithFilePathを使用してPDFドキュメントをロードします。

  2. 出力ディレクトリの設定: 出力ディレクトリが存在することを確認するか、必要に応じて作成してください。

  3. テキストの抽出と保存: PdfToTextを使用して、指定したページ範囲からテキストを抽出し、それをファイルに保存します。

11.ライセンス

IronPDFとComPDFKitのライセンスモデルは、そのアプローチと使用条件が異なります。 これらの違いを理解することで、プロジェクトのニーズと予算に合ったツールを選ぶことができる。

11.1 IronPDFライセンス

CompdfkitとIronPDFの比較: 図12 - IronPDFライセンスページ

IronPDFは商用ライセンスモデルで運営されています。つまり、商用またはビジネス関連のアプリケーションには通常ライセンスの購入が必要です。 このモデルは、ロイヤリティフリーの配布などのオプションを含む柔軟性を提供する。 これによって開発者は、実行時に追加コストに直面することなく、ライブラリをプロジェクトに組み込むことができる。

IronPDFは永久ライセンスを提供しています。 永続ライセンスは、生涯使用に対して1回限りの支払いが必要で、最初の期間を超えてアップデートやテクニカルサポートを利用する場合はオプション料金が必要です。 この商用モデルにより、企業は専任のサポート、包括的なドキュメント、およびプロフェッショナルなPDF生成と操作に必要な高度な機能へのアクセスを確実に受けることができます。

11.2 ComPDFKit ライセンス

ComPDFKitは、さまざまなビジネスニーズに対応する柔軟なライセンスモデルを採用しています。 永久ライセンスとサブスクリプション・ライセンスの両方を提供している。 永続的なライセンスは、一度限りの支払いで、SDKへの生涯のアクセスを許可し、アップデートと延長サポートのためのオプション料金が発生します。 サブスクリプションライセンスは定期的な支払い(月額または年額)が必要で、継続的なアップデートやサポートへのアクセスが含まれます。

IronPDFとComPDFKitのどちらを選ぶかを決める際には、専任サポートの必要性、予算の制約、展開の規模など、プロジェクト特有の要件を考慮してください。 IronPDFの商用モデルは、しっかりとしたサポートと高度な機能を求めるビジネスにより適しています。

12.ドキュメントとサポート

12.1.IronPDF ドキュメントとサポート

IronPDFは包括的なドキュメントと強力なサポートオプションをユーザーに提供します。 ドキュメントは広範囲かつ詳細で、インストール、基本的な使用方法、高度な機能、トラブルシューティングに関する明確なガイダンスを提供しています。 公式ドキュメントはRead the Docsで利用可能です。そこには、クイックスタートガイド、詳細なAPIリファレンス、多数のコード例が含まれており、開発者がIronPDFの機能を効果的に使用し始めるのを支援します。

IronPDFはまた、ブログやサンプルセクションを通じて、トラブルシューティングガイドやテクニカルサポートサイトも運営しており、ユーザーはレンダリングの遅延や配備の課題といった一般的な問題に対する解決策を見つけることができます。 このサポート・サイトには、よくある質問や特定の技術的な問題を扱った記事が集められている。

直接のサポートについては、IronPDFはより複雑な問題や個人的な支援のために連絡することができる応答性の高いカスタマーサービスチームを提供しています。 豊富なドキュメントと強力なサポート基盤の組み合わせにより、IronPDFはPDF機能をアプリケーションに統合しようとする開発者にとって信頼できる選択肢となっている。

12.2.ComPDFKitのドキュメントとサポート

ComPDFKitはまた、ユーザーのために徹底したドキュメントとサポートリソースを提供します。 基本的なセットアップから、電子透かしや電子署名のような高度な機能まで、SDKの使用に関するさまざまな側面をカバーしています。 サポートについては、ComPDFKitは、その顧客サービスチャネルを通じて技術支援を提供しています。 サポートチームは、技術的な問題を解決し、質問に答え、SDKを効果的に使用するためのガイダンスを提供します。

IronPDFとComPDFKitはどちらも強力なドキュメントとサポートを提供していますが、IronPDFはより広範なトラブルシューティングガイドと非常に迅速なサポートチームを持っています。 このため、複雑な技術的課題に遭遇し、信頼できる支援を必要とする開発者には特に有利である。

13.結論

IronPDFとComPDFKitの比較は、PDF生成と操作のための堅牢なC#ライブラリを求める開発者にとっての長所と考慮点を強調します。

ComPDFKitは、プログラムでPDFドキュメントを扱うために必要な幅広い機能をサポートする包括的なPDF SDKです。 PDFの注釈に優れ、幅広い編集機能を備えています。 フォーマット変換やセキュリティ・オプションなどの機能は、開発者にとって大きな価値をもたらす。

一方、IronPDFはパワフルでユーザーフレンドリーなAPIで知られています。 HTML、CSS、JavaScriptからPDFをレンダリングすることで、PDF生成を簡素化します。 IronPDFはHTMLからPDFへの変換に優れており、.NETアプリケーションとのシームレスな統合を提供します。 このライブラリには、ヘッダー、フッター、透かし、電子署名の追加など、広範な編集機能があります。

IronPDFのセキュリティ機能はPDFドキュメント内の機密情報を確実に保護します。 複数の.NETプラットフォームをサポートし、高負荷ワークロード用に最適化されたパフォーマンスにより、エンタープライズレベルのアプリケーションに理想的な選択肢となっています。 IronPDFの商用ライセンスモデルは、専任のサポート、包括的なドキュメント、高度な機能へのアクセスを保証し、特にプロフェッショナルグレードのプロジェクトに適しています。

IronPDFは、包括的で機能豊富なPDFライブラリを探している開発者にとって、ComPDFKitと比較して強力な選択肢として際立っています。 その高度な機能性、ユーザーフレンドリーなAPI、堅牢なサポートインフラにより、PDF関連の多様で厳しい要件を持つ企業やプロジェクトに適したソリューションとなっています。 IronPDFの広範な機能と献身的なサポートは、プロフェッショナルなアプリケーションのための信頼性の高い効率的なPDF生成と操作を保証し、大きなアドバンテージを提供します。

まとめると、IronPDFもComPDFKitもC#でPDFを処理するための強力なツールである。 しかし、IronPDFの広範な機能セット、最適化されたパフォーマンス、優れたサポートは、プロフェッショナルおよびエンタープライズレベルのアプリケーションを目指す開発者に最適です。

IronPDFは、ユーザーがライブラリとその機能を試すことができる無料トライアルライセンスを提供しています。 IronPDF のライセンスは $749 から始まります。 さらに、Iron Softwareは2つの価格で9つのライブラリをバンドルしており、IronXLIronOCR、IronPDFが含まれます。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
CraftMyPDFとIronPDFの比較
次へ >
レポート .NET と IronPDF の比較