製品比較

CompdfkitとIronPDFの比較

公開済み 2024年8月13日
共有:

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

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

この記事では、2つのC# PDFライブラリを比較します:IronPDF以下のコンテンツを日本語に翻訳してください:ComPDFKit. この比較では、特徴、機能、コード例、ライセンスについて説明する。 これらの点を検討することで、どのライブラリがあなたの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 Viewing: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は.NET用の多機能なPDFライブラリで、開発者はC#を使って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 ダウンロードページ

ステップ 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フレームワーク)."

  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
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 C#のインストール

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

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

  1. NuGet Package Managerを開きます:ソリューション・エクスプローラーで "References" を右クリックし、"Manage NuGet Packages" を選択します。

    1. 検索とインストール:NuGetパッケージマネージャで "ComPDFKit "を検索してください。 適切なパッケージを選択する(例えば、ComPDFKit.NetFramework または ComPDFKit.Conversion.NetFramework です。)をクリックし、"インストール "をクリックする。

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

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

5.2 ローカルパッケージの使用

  1. パッケージのダウンロードComPDFKitの公式ウェブサイトからComPDFKit.NetFramework.nupkg**ファイルを入手してください。

    1. 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でソリューションを開き直し、"Manage NuGet Packages "に進み、ローカル・パッケージ・ソースを選択します。 ローカルソースからComPDFKitパッケージをインストールします。

5.3 ライセンスキーの適用

  1. ライセンスの取得:試用版またはフルライセンスを取得するには、ComPDFKitチームにご連絡ください。

    1. ライセンスをコードに適用する
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#プロジェクトにうまく統合することができます。

HTMLからPDFへ

HTML から PDF への変換ウェブコンテンツからレポート、請求書、ドキュメントを動的に生成するなど、多くのアプリケーションで一般的な要件です。 IronPDFとComPDFKitはどちらもこのタスクのための堅牢なソリューションを提供しますが、そのアプローチと機能は大きく異なります。

このプロセスは通常、静的または動的に生成されるHTMLコンテンツをキャプチャすることから始まる。 キャプチャされたHTMLは、関連するスタイルシートを適用するために処理されます。(CSS)およびスクリプト(ジャバスクリプト)これは、最終的なPDFが元のWebページの外観と動作を確実に反映するようにします。

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は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
VB   C#

CompdfkitとIronPDFの比較:図9 - IronPDFを使用してHTMLをPDFとしてレンダリングしたコードからの出力例

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

6.2.ComPDFKit C#を使用したHTMLからPDFへの変換

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
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に準拠していることを保証することで、将来にわたって確実に閲覧・複製できるようになる。 このセクションでは、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
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. *Initialize the Document:CPDFDocument.InitWithFilePath**を使用してPDF文書を読み込みます。

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

  3. PDF/Aに変換する:WritePDFAToFilePath**を指定されたPDF/Aタイプで使用して変換を実行し、ファイルを保存します。

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. IronPDFを初期化する:IronPDFライブラリをインポートする。

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

  3. *Extract Text:ExtractAllText**を呼び出して、PDFからすべてのテキスト内容を取り出します。

  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
VB   C#

以下の手順は:

  1. *Initialize the Document: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は包括的なドキュメントと強力なサポートオプションをユーザーに提供します。 ドキュメントは広範囲かつ詳細で、インストール、基本的な使用方法、高度な機能、トラブルシューティングに関する明確なガイダンスを提供しています。 公式ドキュメントはドキュメントを読むこのガイドにはクイックスタートガイド、詳細な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は9つのライブラリを2つ分の価格でバンドルしています。IronXL以下のコンテンツを日本語に翻訳してください:IronOCRIronPDFと共に。

< 以前
CraftMyPDFとIronPDFの比較
次へ >
レポート .NET と IronPDF の比較