フッターコンテンツにスキップ
PDF ツール

Node.jsでPuppeteerを使用してHTMLをPDFに変換する方法

IronPDFはネイティブのChromiumベースのHTMLレンダリング、完全なBootstrapサポート、完全なドキュメント、および深い.NET統合により、C#のPDF生成においてComPDFKitを卓越しています。

PDFは、Portable Document Formatの略で、Adobeが文書共有の均一性を保証するために作成したファイル形式です。 この形式では、さまざまなデバイスやオペレーティング システム間でレイアウト、テキスト、画像の一貫性が維持されます。 PDF は、セキュリティ、インタラクティブ機能、コンパクトなファイル サイズを備えているため、コンテンツを変更せずにドキュメントを配布するのに最適です。

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

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

クイック比較の概要

詳細な分析に入る前に、主要な機能の完全な比較を以下に示します。

フィーチャー IronPDF ComPDFKit
HTMLからPDFへ ネイティブChromiumエンジン SDKおよびAPIを通じて利用可能
ブートストラップサポート 完全なCSS3/Flexboxサポート CSSフレームワークのサポートが限られている
インストール 単一のNuGetパッケージ 複数のパッケージが必要
ドキュメント 500以上の例を含む豊富な内容 基本的なドキュメント
サポート 24時間365日の専用エンジニアリングサポート 標準的なメールサポート
価格設定モデル $999からの永続ライセンス 見積もりベースの価格設定
クロスプラットフォーム Windows、Linux、macOS、Docker、Azure Windows、Linux、macOS
パフォーマンス 最適化された非同期/マルチスレッド 標準同期処理
エンタープライズ機能 PDF/A、PDF/UA、HSM署名 基本的なPDF/Aサポート
ラーニングカーブ 最小限 - 直感的なAPI 中程度 - 複雑なAPI構造
  1. PDF 表示:ComPDFKitは、ユーザーが PDF ドキュメントを高い忠実度で表示できる強力な PDF ビューアを提供します。 ビューアはスムーズなスクロール、ズーム、ナビゲーションをサポートし、シームレスなユーザー体験を提供します。 2.注釈:ライブラリには、PDF 注釈をスムーズに統合するためのツールが含まれています。 ユーザーはテキストをハイライトしたり、コメントを追加したり、さまざまなタイプの注釈を作成でき、共同作業が必要なワークフローに不可欠です。 3.フォーム処理:ライブラリは、インタラクティブなフォームを幅広くサポートします。 開発者はPDFフォームを作成、記入、データ抽出できるため、フォーム処理が必要なアプリケーションに理想的です。
  2. PDF 編集:ComPDFKitでは、PDF ファイル内のテキスト、画像、その他のコンテンツの変更など、広範な PDF 編集機能が利用できます。 この機能は既存のPDF文書を更新したりカスタマイズしたりする必要があるアプリケーションに有用です。 5.変換:ライブラリは、PDF ファイルと Word、Excel、PowerPoint、画像などのさまざまな形式との変換をサポートしています。 この柔軟性は、PDFコンテンツをさまざまな用途に変換する必要があるアプリケーションにとって重要です。 6.セキュリティ:ComPDFKitには、暗号化や権限管理などの強力なセキュリティ機能が含まれています。 開発者はPDF文書を保護し、無許可のアクセスから機密情報を守ることができます。 7.光学文字認識 (OCR):ライブラリには、スキャンしたドキュメントを編集可能かつ検索可能な PDF に変換する OCR 機能が含まれています。 この機能は、紙の文書をデジタル化し、電子的にアクセスできるようにするために不可欠です。

ComPDFKit のホームページでは、注釈機能のスクリーンショットや PDF 操作機能を示すコード例とともに、開発者向けの完全な PDF SDK ソリューションを紹介しています。

ComPDFKit PDF SDK は、開発者が完全な PDF 機能をアプリケーションに統合できるようにする信頼性の高い C# PDF SDK です。 このライブラリは、PDF文書のプログラムによる操作に必要な幅広いPDF機能をサポートしています。 ウェブ、デスクトップ、モバイルプラットフォームなど、さまざまな環境での使用を想定して設計されており、クロスプラットフォームのプロジェクトに取り組む開発者にとって汎用的なツールです。 サンプル ソリューションには、開発者が選択してテストできる複数の機能が含まれています。

ComPDFKitが提供する主な機能は何ですか?

コア機能:

  • PDFビューイング: スムーズなスクロール、ズーム、およびナビゲーション機能を提供する有効なビューアー -注釈: テキストのハイライト、コメントの追加、さまざまな種類の注釈の作成のためのツールが含まれています -フォーム処理: インタラクティブな PDF フォームの作成、入力、およびデータ抽出をサポートします。
  • PDF編集:既存のPDF文書内のテキスト、画像、その他のコンテンツを変更できます
  • 変換: PDFをWord、Excel、PowerPoint、および画像形式に変換することをサポート -セキュリティ: 機密情報を保護するための暗号化と権限管理が含まれています -光学文字認識(OCR) :スキャンした文書を編集および検索可能なPDFに変換します

ComPDFKitのアーキテクチャを検討する理由

  1. HTML から PDF への変換:IronPDFは、HTML、CSS、 JavaScriptコンテンツを高品質の PDF ドキュメントに変換するのに優れています。 この機能はHTML文字列からPDF、URL、ASPXウェブフォーム、およびMVCビューをサポートしており、さまざまなウェブベースのコンテンツに柔軟なソリューションを提供します。
  2. PDF 編集:ライブラリには、ページの追加、コピー、削除、PDF の結合と分割、テキストと画像の操作など、広範な編集機能が備わっています。 開発者はPDF文書にヘッダー、フッター、ウォーターマーク、デジタル署名を追加することもできます。 3.フォーム処理:IronPDFは、スマート フォームの作成とプログラムによる PDF フォームの入力をサポートします。 この機能は、動的なフォーム生成やユーザー提出フォームからのデータ抽出が必要なアプリケーションに不可欠です。 4.セキュリティ機能:IronPDFは、パスワードや権限の設定、ドキュメントの暗号化、デジタル署名の追加など、強力なセキュリティ オプションを提供します。 これらの機能により、PDF文書内の機密情報は無許可のアクセスから保護されます。
  3. OCR とデータ抽出:ライブラリには光学文字認識 (OCR) 機能が含まれており、スキャンしたドキュメントを編集可能かつ検索可能な PDF に変換できます。 さらに、IronPDFは既存のPDFからテキスト、画像、その他のデータを抽出でき、コンテンツの再利用や分析が可能です。 6.画像変換:IronPDFは、JPG、PNG、GIF、BMP、SVG などのさまざまな画像形式を PDF ドキュメントに変換することをサポートしています。 また、PDFページを画像としてレンダリングする機能を提供しており、PDFコンテンツのビジュアルプレビューが必要なアプリケーションに役立ちます。 7.クロスプラットフォームの互換性:IronPDFは、.NET Core、 .NET Framework、 .NET Standardなど、複数 for .NETプラットフォームと互換性があります。 Windows、Linux、macOS、およびAzureへのデプロイをサポートしており、さまざまな環境で作業する開発者にとって汎用的な選択肢です。 8.パフォーマンスの最適化:ライブラリは、マルチスレッドと非同期操作をサポートし、高パフォーマンスを実現するように設計されています。 これにより、負荷の高いアプリケーションでもPDF処理タスクが効率的に実行されます。 9.包括的なドキュメントとサポート:IronPDFは詳細なドキュメントと多数のコード例を提供しているため、開発者は簡単に使い始めて機能を実装できます。 さらに、開発中に生じる可能性のある問題を支援するための技術サポートも提供しています。

信頼性の高い注釈機能を必要とするエンタープライズ アプリケーション向けに、ComPDFKit は基本機能を提供します。 高度なフォーム作成機能には追加のプログラミング作業が必要になる場合があります。 OCR タスクには機能しますが、高度なテキスト認識を求める開発者は、優れた精度を求めてIronOCRなどの代替手段を評価する必要があります。

ComPDFKitの制限は何ですか?

その完全な機能セットにもかかわらず、ComPDFKitはエンタープライズ開発にいくつかの考慮事項を提供します:

  • CSSサポート: ネイティブのChromiumレンダラーと比較して、限定されたモダンなCSSフレームワークの互換性 -ドキュメント: 完全なトラブルシューティングガイドのない基本的な例
  • 統合の複雑さ: 完全な機能を得るために複数のパッケージが必要な場合がある

IronPDFライブラリとは何ですか?

IronPDFのホームページには、HTML から PDF への変換のコード例を含む C# PDF ライブラリ インターフェイスが表示されており、1,000 万回を超えるダウンロードと Fortune 500 企業でのエンタープライズ導入が強調されています。

IronPDFは、多用途 for .NET用PDFライブラリで、C#を使用してPDF文書を作成、編集、管理することができます。 簡素化されたAPIを通じて完全なPDF機能を提供します。このライブラリは、HTML、CSS、 JavaScript、そして様々な画像形式からのレンダリングによるPDF生成に優れています。 これにより、信頼性の高い PDF 機能を.NETアプリケーションに統合する開発者にとって理想的なツールになります。

IronPDFが提供する主な機能は何ですか?

高度な機能:

生産システムにIronPDFを選択する理由

IronPDF のアーキテクチャは、実稼働環境のパフォーマンスと信頼性を優先します。

IronPDFがエンタープライズ対応である理由は何ですか?

IronPDF は、制作に重点を置いた機能によって他社製品と差別化されています。

-導入の柔軟性: DockerコンテナAWS Lambdaのネイティブサポート -コンプライアンス標準: アクセシビリティ要件に対応する組み込みのPDF/UA サポート -高度なセキュリティ: 悪意のあるコンテンツを削除するサニタイズ機能 -パフォーマンスツール: 高速なWeb表示のための線形化 -バージョン管理: ドキュメント追跡のための改訂履歴管理

新しい Visual Studio プロジェクトを作成するにはどうすればよいですか?

コーディング例を検討する前に、開発者は新しい Visual Studio プロジェクトを作成する必要があります。 このガイドでは、Visual Studio で C# コンソール アプリケーションを設定する方法について説明します。

Visual Studio をインストールする必要があるのはなぜですか?

Visual Studioは、C#プロジェクトのための改善されたIDEを提供します。 Visual Studio のダウンロードページからダウンロードします。 このIDEは統合されたデバッグ、IntelliSense、およびPDF開発に必須のパッケージ管理を提供します。

どのようなプロジェクト構成が最適ですか?

インストール後、Visual Studio を開きます。 Visual Studio Community を使用する場合は、サインインするか、サインインせずに続行します。 次の構成手順に従ってください。

  1. "新しいプロジェクトの作成"をクリックするか、"ファイル">"新規">"プロジェクト"に移動します。

    Visual Studio IDE で、[ファイル] メニューが開き、新しいプロジェクトの作成、ファイルのオープン、リポジトリの管理を行うオプションが表示され、[新しいプロジェクト] オプションが強調表示されています。

  2. コンソール アプリを検索し、検索結果からコンソール アプリケーションを選択します。

    Visual Studio の [新しいプロジェクトの作成] ダイアログには、クロスプラットフォーム開発用に C#、Linux、macOS、Windows、およびコンソール タグが強調表示されたコンソール アプリケーション テンプレートの選択が表示されています。

  3. NuGetパッケージ マネージャーを開きます。ソリューション エクスプローラーで、"参照"を右クリックし、" NuGetパッケージの管理"を選択します。 2.検索とインストール: NuGetパッケージ マネージャーで"ComPDFKit"を検索します。 適切なパッケージ(例:ComPDFKit.NetFrameworkまたはComPDFKit.Conversion.NetFramework)を選択し、"インストール"をクリックします。

重要なプロジェクト設定とは何ですか?

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

-プラットフォームターゲット: 大規模なドキュメント処理の場合は x64 に設定 -出力タイプ: テスト用コンソールアプリケーション、本番用クラスライブラリ -フレームワーク バージョン: 最高のパフォーマンスを得るには.NET 6 以上を推奨

  • NuGetパッケージ管理: 依存関係管理のためのパッケージの復元を有効にする

1.パッケージをダウンロードする:公式ComPDFKitWeb サイトからComPDFKit.NetFramework.nupkgファイルを取得します。

  1. NuGetソースを構成する:プロジェクト ディレクトリにNuGet.configファイルを作成または編集して、ローカル パッケージへのパスを含めます。

IronPDF をプロジェクトに統合するには、さまざまな方法があります。 完全なインストールの概要については、公式ドキュメントを参照してください。 ライブラリは、さまざまな開発ワークフローに合わせて調整された複数のインストール アプローチをサポートしています。

3.ローカル パッケージのインストール: Visual Studio でソリューションを再度開き、" NuGetパッケージの管理"に移動して、ローカル パッケージ ソースを選択します。 ローカルソースからComPDFKitパッケージをインストールします。

  1. Visual Studio NuGetパッケージ マネージャー: ソリューション内の"依存関係"を右クリックし、" NuGetパッケージの管理"を選択します。"参照"タブで"IronPDF"を検索し、最新バージョンをインストールします。 高度なNuGetインストール オプションについては、詳細なガイドを参照してください。

1.ライセンスの取得:試用版または完全版ライセンスを取得するには、ComPDFKit チームにお問い合わせください。 2.コードにライセンスを適用します。

2.パッケージ マネージャー コンソール: [ツール] > [NuGetパッケージ マネージャー] > [パッケージ マネージャー コンソール] からNuGetパッケージ マネージャー コンソールを使用します。 次のコマンドを実行します。

___コードブロック_0___

これにより、コマンド ライン インターフェイスを介してライブラリを迅速にインストールできるようになります。

Package Manager Consoleウィンドウには、バージョン2024.5.2のIronPDF NuGetパッケージをC#テストボードプロジェクトにインストールしたことが表示され、インストールが成功したことを確認します。

3.直接ダウンロード方法: IronPDF NuGetパッケージ ページにアクセスします。 パッケージ ファイルをダウンロードし、ダブルクリックしてプロジェクトに追加し、ソリューションを再読み込みします。

4.手動インストール:最新のIronPDFバージョンを直接ダウンロードします。 手動による Visual Studio 統合については、提供されている手順に従ってください。 Windows 固有のインストールについては、 Windows インストーラー ガイドを参照してください。

特定のインストール方法を選択する理由は何ですか?

さまざまなシナリオに応じて、さまざまなインストール方法が適しています。

  • NuGetパッケージ マネージャー: インターネットにアクセスできる Visual Studio ユーザーに最適 -パッケージ マネージャー コンソール: スクリプトによるデプロイメントや CI/CD パイプラインに最適 -直接ダウンロード:オフライン開発環境に適しています -手動インストール:カスタム展開構成に必要

これらの方法は、IronPDFを.NETプロジェクトに効率的に統合します。 クイックスタートの手順については、スタートガイドをご覧ください。プラットフォーム固有のガイドでは、F# の統合VB .NETの使用方法について説明しています。

ComPDFKitC#をインストールするにはどうすればよいですか?

ComPDFKit をプロジェクトに追加するには、 NuGetパッケージ マネージャーまたはローカル パッケージのインストールという 2 つの主な方法があります。 インストール プロセスでは、IronPDF の単一パッケージ アプローチに比べて、より多くの手順が必要になります。

NuGetパッケージ マネージャーはいつ使用すればよいですか?

  1. NuGetパッケージ マネージャーを開きます。ソリューション エクスプローラーで"参照"を右クリックし、" NuGetパッケージの管理"を選択します。 2.検索とインストール: パッケージ マネージャーで"ComPDFKit"を検索します。 適切なパッケージ(ComPDFKit.NetFramework)を選択し、"インストール"をクリックします。

NuGet Package Managerインターフェースには、ComPDFKitの検索結果が表示され、3つのパッケージ(ComPDFKit.NetFramework、ComPDFKit.Conversion.NetFramework、およびcompdfkit-api-.NET)がリストされています。

  1. インストール確認:パッケージがソリューションエクスプローラーの"参照"に表示されていることを確認します。 完全な機能を利用するには複数のパッケージが必要になる場合があります。

ローカル パッケージはいつ使用すればよいですか?

ローカル パッケージのインストールは制限された環境に適しています。

  1. パッケージのダウンロード: 公式のComPDFKitウェブサイトからComPDFKit.NetFramework.nupkgを取得します。
  2. NuGetソースの設定: プロジェクトディレクトリにnuget.configを作成または編集してローカルパッケージパスを含めるようにします。

    _コードブロック1

3.ローカル パッケージのインストール: ソリューションを再度開き、" NuGetパッケージの管理"に移動して、ローカル パッケージ ソースを選択し、ComPDFKit をインストールします。

ライセンス キーを適用するにはどうすればよいですか?

ライセンスの実装はライブラリによって大きく異なります。

1.ライセンスの取得: 試用版または完全ライセンスについては、ComPDFKit にお問い合わせください。 2.コードにライセンスを適用する:

___コードブロック_2___

ライセンスを検証するにはこのメソッドを追加します。IronPDFのよりシンプルなライセンス実装については、[ライセンス キーのドキュメントを](https://ironpdf.com/how-to/license-keys/)参照してください。 IronPDFでは`License.LicenseKey`プロパティを設定するだけでライセンスプロセスを簡素化します。

HTML を PDF に変換するにはどうすればよいですか?

HTML を PDF に変換することは、 Web コンテンツからレポート、請求書、またはドキュメントを生成するための一般的な要件です。 IronPDFとComPDFKitは両方ともHTMLからPDFへの変換を提供しますが、アプローチは異なります。 IronPDFはピクセルパーフェクトな出力のために埋め込みのChromiumレンダリングエンジンを使用しますが、ComPDFKitのレンダリングエンジンとCSSフレームワークサポートは特定のプロジェクト要件と照らして評価する必要があります。

IronPDFはHTML から PDF への変換をどのように処理しますか?

IronPDF は、高品質の出力を実現するために Chrome ベースのレンダリング エンジンを使用します。 このプロセスにより、HTML、CSS、 JavaScriptが正確に P​​DF 形式に変換されます。 ライブラリは、 HTML 文字列HTML ファイル、およびURL をサポートしています。

基本的な 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}");
    }
}
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main()
		' Define your HTML string
		Dim htmlString As String = "
            <h1>Hello, IronPDF!</h1>
            <p>This is a simple PDF created from an HTML string.</p>"

		Dim renderer = New ChromePdfRenderer()
		' Convert the HTML string to a PDF document
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlString)
		' Save the PDF document to a file
		Dim outputPath As String = "sample.pdf"
		pdf.SaveAs(outputPath)
		Console.WriteLine($"PDF created successfully and saved to {outputPath}")
	End Sub
End Class
$vbLabelText   $csharpLabel

 IronPDF出力には、

IronPDF はHTML ファイルも直接変換し、CSS とJavaScript の組み込みをサポートします。

using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        // Convert the HTML file 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 file 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}");
    }
}
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main()
		Dim renderer = New ChromePdfRenderer()
		' Convert the HTML file to a PDF document
		Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("index.html")
		' Save the PDF document to a file
		Dim outputPath As String = "HTML File.pdf"
		pdf.SaveAs(outputPath)
		Console.WriteLine($"PDF created successfully and saved to {outputPath}")
	End Sub
End Class
$vbLabelText   $csharpLabel

Sample invoice #123 showing website design services totaling $385, rendered as a PDF document with professional formatting and layout preserved from HTML source.

IronPDFはどのような高度な HTML 機能をサポートしていますか?

IronPDF の Chromium エンジンは複雑な Web テクノロジーを処理します。

ComPDFKitは HTML から PDF への変換をどのように処理しますか?

ComPDFKit for .NETライブラリには、2026年4月時点でのPDF生成機能の一部としてHTMLからPDFへの変換が含まれます。 このライブラリはクラウドベースのドキュメント処理のためのOpen APIサービスも提供しています。 開発者はComPDFKitのドキュメントを参照して、特定のユースケースに対する現在の実装の詳細とCSSフレームワークのレンダリング制限を確認する必要があります。

ComPDFKitのHTMLレンダリングはどのように比較されますか?

IronPDFは埋め込みのChromiumエンジンを使用して、ピクセルパーフェクトなBootstrapおよびCSS3レンダリングを提供しますが、ComPDFKitのレンダリング能力およびCSSフレームワークの互換性は、特定のレンダリング要件と照らして評価する必要があります:

  • レンダリングエンジン: IronPDFはChromiumを埋め込み、一貫したクロスブラウザーCSSレンダリングを保証します
  • CSSフレームワークサポート: IronPDFのChromiumエンジンはBootstrap 5、Flexbox、およびCSS Gridをネイティブに扱います
  • JavaScript実行: IronPDFのエンジンは動的コンテンツレンダリングのためにJavaScriptを実行します
  • ローカル処理: IronPDFは完全にオンプレミスでレンダリングし、外部サービスに依存しません

Bootstrap CSS は PDF 生成で機能しますか?

現代の電子商取引およびビジネス アプリケーションでは、一貫性のある UI デザインのために Bootstrap が広く使用されています。 請求書、領収書、レポートを PDF として生成する場合、Bootstrap スタイルを維持することでブランドの一貫性が保たれます。 IronPDFの埋め込みChromiumエンジンは完全なBootstrapサポートを提供し、ComPDFKitの複雑なCSSフレームワークでのレンダリング能力は、特定のプロジェクト要件に基づいて評価されるべきです。

IronPDFはBootstrap スタイルをどのように処理しますか?

IronPDFはChromiumのレンダリングエンジンを使用し、全バージョン(Bootstrap 5、4、3)にわたってピクセルパーフェクトなBootstrapサポートを提供します。 ライブラリは、Flexboxレイアウト、CSSグリッド、レスポンシブユーティリティ、カスタムコンポーネントをシームレスに処理します。 高度な CSS レンダリングについては、レンダリング オプション ガイドを参照してください。

using IronPdf;

// Set license
IronPdf.License.LicenseKey = "License-Key";

var renderer = new ChromePdfRenderer();

// Bootstrap 5 e-commerce invoice example
string bootstrapInvoice = @"
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link href='___PROTECTED_URL_138___ rel='stylesheet'>
    <style>
        @page { margin: 20mm; }
        .invoice-header { border-bottom: 3px solid #0d6efd; }
        .product-row { border-bottom: 1px solid #dee2e6; }
        .total-section { background-color: #f8f9fa; }
    </style>
</head>
<body>
    <div class='container-fluid p-4'>

        <div class='row invoice-header pb-4 mb-4'>
            <div class='col-8'>
                <h1 class='display-4 text-primary'>INVOICE</h1>
                <p class='text-muted mb-0'>TechStore Inc.</p>
                <p class='text-muted mb-0'>123 Commerce Street, Tech City, TC 12345</p>
                <p class='text-muted'>Email: sales@techstore.com | Phone: (555) 123-4567</p>
            </div>
            <div class='col-4 text-end'>
                <p class='mb-1'><strong>Invoice #:</strong> INV-2024-1089</p>
                <p class='mb-1'><strong>Date:</strong> October 27, 2024</p>
                <p class='mb-1'><strong>Due Date:</strong> November 27, 2024</p>
                <span class='badge bg-success'>PAID</span>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-6'>
                <h5 class='text-primary'>Bill To:</h5>
                <p class='mb-1'><strong>Acme Corporation</strong></p>
                <p class='mb-1'>456 Business Ave</p>
                <p class='mb-1'>Enterprise City, EC 67890</p>
                <p class='mb-0'>contact@acmecorp.com</p>
            </div>
            <div class='col-6 text-end'>
                <h5 class='text-primary'>Payment Method:</h5>
                <p class='mb-1'>Credit Card ending in 4242</p>
                <p class='mb-0'>Transaction ID: TXN-9876543210</p>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <table class='table'>
                    <thead class='table-primary'>
                        <tr>
                            <th scope='col'>#</th>
                            <th scope='col'>Product</th>
                            <th scope='col'>Description</th>
                            <th scope='col' class='text-center'>Qty</th>
                            <th scope='col' class='text-end'>Unit Price</th>
                            <th scope='col' class='text-end'>Amount</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class='product-row'>
                            <td>1</td>
                            <td><strong>IronPDF Pro License</strong></td>
                            <td>Professional developer license with 1 year support</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$2,999.00</td>
                            <td class='text-end'><strong>$2,999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>2</td>
                            <td><strong>Priority Support</strong></td>
                            <td>24/7 priority technical support package</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$999.00</td>
                            <td class='text-end'><strong>$999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>3</td>
                            <td><strong>Training Package</strong></td>
                            <td>On-site developer training (2 days)</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$1,500.00</td>
                            <td class='text-end'><strong>$1,500.00</strong></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <div class='row justify-content-end mb-4'>
            <div class='col-md-6'>
                <div class='card total-section'>
                    <div class='card-body'>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Subtotal:</strong></div>
                            <div class='col-6 text-end'>$5,498.00</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Tax (8.5%):</strong></div>
                            <div class='col-6 text-end'>$467.33</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6 text-success'><strong>Discount (10%):</strong></div>
                            <div class='col-6 text-end text-success'>-$549.80</div>
                        </div>
                        <hr>
                        <div class='row'>
                            <div class='col-6'><h4 class='text-primary'>Total:</h4></div>
                            <div class='col-6 text-end'><h4 class='text-primary'>$5,415.53</h4></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <div class='alert alert-info' role='alert'>
                    <h6 class='alert-heading'>Payment Terms</h6>
                    <p class='mb-0'>Payment is due within 30 days. Late payments may incur a 1.5% monthly interest charge. Thank you for your business!</p>
                </div>
            </div>
        </div>

        <div class='row border-top pt-3'>
            <div class='col-12 text-center text-muted'>
                <small>TechStore Inc. | Tax ID: 12-3456789 | All prices in USD</small>
            </div>
        </div>
    </div>
</body>
</html>";

// Render PDF with optimized settings
var pdf = renderer.RenderHtmlAsPdf(bootstrapInvoice);

// Add metadata for document management
pdf.MetaData.Title = "Invoice INV-2024-1089";
pdf.MetaData.Author = "TechStore Inc.";
pdf.MetaData.Subject = "Sales Invoice";
pdf.MetaData.Keywords = "invoice, payment, e-commerce";

// Save the invoice
pdf.SaveAs("invoice-with-bootstrap.pdf");
using IronPdf;

// Set license
IronPdf.License.LicenseKey = "License-Key";

var renderer = new ChromePdfRenderer();

// Bootstrap 5 e-commerce invoice example
string bootstrapInvoice = @"
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link href='___PROTECTED_URL_138___ rel='stylesheet'>
    <style>
        @page { margin: 20mm; }
        .invoice-header { border-bottom: 3px solid #0d6efd; }
        .product-row { border-bottom: 1px solid #dee2e6; }
        .total-section { background-color: #f8f9fa; }
    </style>
</head>
<body>
    <div class='container-fluid p-4'>

        <div class='row invoice-header pb-4 mb-4'>
            <div class='col-8'>
                <h1 class='display-4 text-primary'>INVOICE</h1>
                <p class='text-muted mb-0'>TechStore Inc.</p>
                <p class='text-muted mb-0'>123 Commerce Street, Tech City, TC 12345</p>
                <p class='text-muted'>Email: sales@techstore.com | Phone: (555) 123-4567</p>
            </div>
            <div class='col-4 text-end'>
                <p class='mb-1'><strong>Invoice #:</strong> INV-2024-1089</p>
                <p class='mb-1'><strong>Date:</strong> October 27, 2024</p>
                <p class='mb-1'><strong>Due Date:</strong> November 27, 2024</p>
                <span class='badge bg-success'>PAID</span>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-6'>
                <h5 class='text-primary'>Bill To:</h5>
                <p class='mb-1'><strong>Acme Corporation</strong></p>
                <p class='mb-1'>456 Business Ave</p>
                <p class='mb-1'>Enterprise City, EC 67890</p>
                <p class='mb-0'>contact@acmecorp.com</p>
            </div>
            <div class='col-6 text-end'>
                <h5 class='text-primary'>Payment Method:</h5>
                <p class='mb-1'>Credit Card ending in 4242</p>
                <p class='mb-0'>Transaction ID: TXN-9876543210</p>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <table class='table'>
                    <thead class='table-primary'>
                        <tr>
                            <th scope='col'>#</th>
                            <th scope='col'>Product</th>
                            <th scope='col'>Description</th>
                            <th scope='col' class='text-center'>Qty</th>
                            <th scope='col' class='text-end'>Unit Price</th>
                            <th scope='col' class='text-end'>Amount</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class='product-row'>
                            <td>1</td>
                            <td><strong>IronPDF Pro License</strong></td>
                            <td>Professional developer license with 1 year support</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$2,999.00</td>
                            <td class='text-end'><strong>$2,999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>2</td>
                            <td><strong>Priority Support</strong></td>
                            <td>24/7 priority technical support package</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$999.00</td>
                            <td class='text-end'><strong>$999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>3</td>
                            <td><strong>Training Package</strong></td>
                            <td>On-site developer training (2 days)</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$1,500.00</td>
                            <td class='text-end'><strong>$1,500.00</strong></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <div class='row justify-content-end mb-4'>
            <div class='col-md-6'>
                <div class='card total-section'>
                    <div class='card-body'>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Subtotal:</strong></div>
                            <div class='col-6 text-end'>$5,498.00</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Tax (8.5%):</strong></div>
                            <div class='col-6 text-end'>$467.33</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6 text-success'><strong>Discount (10%):</strong></div>
                            <div class='col-6 text-end text-success'>-$549.80</div>
                        </div>
                        <hr>
                        <div class='row'>
                            <div class='col-6'><h4 class='text-primary'>Total:</h4></div>
                            <div class='col-6 text-end'><h4 class='text-primary'>$5,415.53</h4></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <div class='alert alert-info' role='alert'>
                    <h6 class='alert-heading'>Payment Terms</h6>
                    <p class='mb-0'>Payment is due within 30 days. Late payments may incur a 1.5% monthly interest charge. Thank you for your business!</p>
                </div>
            </div>
        </div>

        <div class='row border-top pt-3'>
            <div class='col-12 text-center text-muted'>
                <small>TechStore Inc. | Tax ID: 12-3456789 | All prices in USD</small>
            </div>
        </div>
    </div>
</body>
</html>";

// Render PDF with optimized settings
var pdf = renderer.RenderHtmlAsPdf(bootstrapInvoice);

// Add metadata for document management
pdf.MetaData.Title = "Invoice INV-2024-1089";
pdf.MetaData.Author = "TechStore Inc.";
pdf.MetaData.Subject = "Sales Invoice";
pdf.MetaData.Keywords = "invoice, payment, e-commerce";

// Save the invoice
pdf.SaveAs("invoice-with-bootstrap.pdf");
Imports IronPdf

' Set license
IronPdf.License.LicenseKey = "License-Key"

Dim renderer As New ChromePdfRenderer()

' Bootstrap 5 e-commerce invoice example
Dim bootstrapInvoice As String = "
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link href='___PROTECTED_URL_138___ rel='stylesheet'>
    <style>
        @page { margin: 20mm; }
        .invoice-header { border-bottom: 3px solid #0d6efd; }
        .product-row { border-bottom: 1px solid #dee2e6; }
        .total-section { background-color: #f8f9fa; }
    </style>
</head>
<body>
    <div class='container-fluid p-4'>

        <div class='row invoice-header pb-4 mb-4'>
            <div class='col-8'>
                <h1 class='display-4 text-primary'>INVOICE</h1>
                <p class='text-muted mb-0'>TechStore Inc.</p>
                <p class='text-muted mb-0'>123 Commerce Street, Tech City, TC 12345</p>
                <p class='text-muted'>Email: sales@techstore.com | Phone: (555) 123-4567</p>
            </div>
            <div class='col-4 text-end'>
                <p class='mb-1'><strong>Invoice #:</strong> INV-2024-1089</p>
                <p class='mb-1'><strong>Date:</strong> October 27, 2024</p>
                <p class='mb-1'><strong>Due Date:</strong> November 27, 2024</p>
                <span class='badge bg-success'>PAID</span>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-6'>
                <h5 class='text-primary'>Bill To:</h5>
                <p class='mb-1'><strong>Acme Corporation</strong></p>
                <p class='mb-1'>456 Business Ave</p>
                <p class='mb-1'>Enterprise City, EC 67890</p>
                <p class='mb-0'>contact@acmecorp.com</p>
            </div>
            <div class='col-6 text-end'>
                <h5 class='text-primary'>Payment Method:</h5>
                <p class='mb-1'>Credit Card ending in 4242</p>
                <p class='mb-0'>Transaction ID: TXN-9876543210</p>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <table class='table'>
                    <thead class='table-primary'>
                        <tr>
                            <th scope='col'>#</th>
                            <th scope='col'>Product</th>
                            <th scope='col'>Description</th>
                            <th scope='col' class='text-center'>Qty</th>
                            <th scope='col' class='text-end'>Unit Price</th>
                            <th scope='col' class='text-end'>Amount</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class='product-row'>
                            <td>1</td>
                            <td><strong>IronPDF Pro License</strong></td>
                            <td>Professional developer license with 1 year support</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$2,999.00</td>
                            <td class='text-end'><strong>$2,999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>2</td>
                            <td><strong>Priority Support</strong></td>
                            <td>24/7 priority technical support package</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$999.00</td>
                            <td class='text-end'><strong>$999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>3</td>
                            <td><strong>Training Package</strong></td>
                            <td>On-site developer training (2 days)</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$1,500.00</td>
                            <td class='text-end'><strong>$1,500.00</strong></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <div class='row justify-content-end mb-4'>
            <div class='col-md-6'>
                <div class='card total-section'>
                    <div class='card-body'>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Subtotal:</strong></div>
                            <div class='col-6 text-end'>$5,498.00</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Tax (8.5%):</strong></div>
                            <div class='col-6 text-end'>$467.33</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6 text-success'><strong>Discount (10%):</strong></div>
                            <div class='col-6 text-end text-success'>-$549.80</div>
                        </div>
                        <hr>
                        <div class='row'>
                            <div class='col-6'><h4 class='text-primary'>Total:</h4></div>
                            <div class='col-6 text-end'><h4 class='text-primary'>$5,415.53</h4></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <div class='alert alert-info' role='alert'>
                    <h6 class='alert-heading'>Payment Terms</h6>
                    <p class='mb-0'>Payment is due within 30 days. Late payments may incur a 1.5% monthly interest charge. Thank you for your business!</p>
                </div>
            </div>
        </div>

        <div class='row border-top pt-3'>
            <div class='col-12 text-center text-muted'>
                <small>TechStore Inc. | Tax ID: 12-3456789 | All prices in USD</small>
            </div>
        </div>
    </div>
</body>
</html>"

' Render PDF with optimized settings
Dim pdf = renderer.RenderHtmlAsPdf(bootstrapInvoice)

' Add metadata for document management
pdf.MetaData.Title = "Invoice INV-2024-1089"
pdf.MetaData.Author = "TechStore Inc."
pdf.MetaData.Subject = "Sales Invoice"
pdf.MetaData.Keywords = "invoice, payment, e-commerce"

' Save the invoice
pdf.SaveAs("invoice-with-bootstrap.pdf")
$vbLabelText   $csharpLabel

デモンストレーションされた主なBootstrap機能:

  • グリッドシステム: col-*クラスは、応答性のあるレイアウト構造のために
  • タイポグラフィ: h5は階層的なテキストスタイリングのために
  • テーブル: table-hoverは構造化データ表示のために
  • カード: card-bodyは背景スタイリングを持つ総計セクションのために
  • バッジ: badge bg-successは支払い状況指標のために
  • アラート: alert alert-infoは支払い条件通知のために
  • ユーティリティ: pb-</em>スペーシングユーティリティ -カスタムスタイル:請求書固有のデザインのためにBootstrapクラスと組み合わせる

IronPDF の Chromium エンジンは、Bootstrap コンポーネントの完璧なレンダリングを保証します。

  • グリッドシステム: col-*クラスは応答性のあるレイアウトのために
  • タイポグラフィ: h5は階層スタイリングのために
  • テーブル: table-hoverは構造化データのために
  • カード: card-bodyはスタイリングされたセクションのために
  • バッジ: badge bg-successは状態指標のために
  • アラート: alert alert-infoは通知のために
  • ユーティリティ: text-center、スペーシングユーティリティ -カスタムスタイリング: 請求書デザイン用のBootstrapと組み合わせる

Web フォントとアイコンについては、IronPDFは完全なカスタム タイポグラフィ サポートを提供します。 Bootstrap レイアウトのトラブルシューティングを行う場合は、 "Bootstrap Flex CSS のトラブルシューティング"を参照してください。 ビューポートとズームの設定については、適切な構成により、レスポンシブ レイアウトが正しくレンダリングされます。

ComPDFKitのBootstrapに関する考慮事項は何ですか?

ComPDFKitのHTMLからPDFへの変換は埋め込みのChromiumエンジンを使用しないため、複雑なBootstrapレイアウト、CSSグリッド、およびFlexboxレンダリングはネイティブブラウザエンジンと比較して異なる結果を生む可能性があります:

  • CSSフレームワークサポート: 複雑なFlexboxまたはCSSグリッドレイアウトのレンダリングは異なる可能性があります
  • レンダリングの一貫性: 結果はHTMLエンジンの実装に依存します
  • カスタムスタイリング: プロジェクト要件に対してBootstrapコンポーネントレンダリングの忠実度をテストするべきです

信頼できるBootstrapレンダリングとスタイリングおよびレイアウトに完全なコントロールが必要なアプリケーションでは、IronPDFの埋め込みChromiumエンジンが一貫した結果を提供します。 IronPDFの統合アプローチは、外部レンダリングサービスに依存せずにCSSフレームワークの完全な互換性を維持します。

PDF に透かしを追加するにはどうすればよいですか?

PDF に透かしを入れると、ドキュメントの整合性を保護し、所有権を主張し、セキュリティを強化するのに役立ちます。 透かしには、背景または前景に表示されるテキスト、ロゴ、または画像があります。 ドキュメントのステータスや作成者の身元に関する重要な情報を伝えながら、不正使用や配布を阻止します。

IronPDFで透かしを追加するにはどうすればいいですか?

IronPDF は、プログラムによって PDF ドキュメントに透かしを簡単に適用できるようにします。 この機能はライブラリに統合されており、開発者は C# コードを使用して透かしを適用できます。 背景と前景の配置については、IronPDFは柔軟な配置オプションを提供します。

using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main()
    {
        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 30 degrees rotation and 50% opacity
        pdf.ApplyWatermark(watermarkHtml, rotation: 30, opacity: 50);
        pdf.SaveAs("Confidential.pdf");
    }
}
using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main()
    {
        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 30 degrees rotation and 50% opacity
        pdf.ApplyWatermark(watermarkHtml, rotation: 30, opacity: 50);
        pdf.SaveAs("Confidential.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Editing

Friend Class Program
	Shared Sub Main()
		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 30 degrees rotation and 50% opacity
		pdf.ApplyWatermark(watermarkHtml, rotation:= 30, opacity:= 50)
		pdf.SaveAs("Confidential.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

 PDF ページの左下に、赤い

この例は、ChromePdfRendererを使用してHTMLからPDFを作成します。 ApplyWatermarkメソッドは、イメージと見出しを含む透かしを適用します。 回転は 30 度、不透明度 50% に設定されており、コンテンツを圧倒することなく視認性を確保します。 結果の PDF は指定されたパスに保存されます。

どのような高度な透かしオプションがありますか?

IronPDF は完全な透かし機能を提供します:

  • HTMLベースの透かし:複雑なデザインには完全なHTML/CSSを使用します
  • 位置決めコントロール: 3x3グリッド配置システム -不透明度設定: 透明度レベルを微調整します -回転オプション: 斜めの透かしに任意の角度を適用します -ページ選択: すべてのページまたは特定の範囲に適用 -複数の透かし: 必要に応じて異なる透かしを重ねる

高度なテクニックについては、 "テキストと画像をスタンプする方法"または"複数のスタンプを効率的に追加する方法"を参照してください。 スタンプの新しいコンテンツ ガイドでは、動的な透かしの生成を示します。

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 = "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 = "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.");
}
Private Shared Function AddTextWatermark(ByVal document As CPDFDocument) As Boolean
	Dim watermark As CPDFWatermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT)
	watermark.SetText("test")
	watermark.SetFontName("Helvetica")
	watermark.SetPages("0-3")
	Dim color() As Byte = { 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()
	Dim path As String = "AddTextWatermarkTest.pdf"
	If Not document.WriteToFilePath(path) Then
		Return False
	End If
	Console.WriteLine("Browse the changed file in " & path)
	Return True
End Function

Private document As CPDFDocument = CPDFDocument.InitWithFilePath("SamplePDF.pdf")
If AddTextWatermark(document) Then
	Console.WriteLine("Add text watermark done.")
Else
	Console.WriteLine("Add text watermark failed.")
End If
$vbLabelText   $csharpLabel

赤い

この例では、CPDFDocument を使用して既存の PDF を開きます。 AddTextWatermarkメソッドは、テキスト透かしを初期化し、テキストコンテンツ、フォント、色、スケール、回転、不透明度、位置合わせ、および間隔のようなプロパティを設定します。 透かしは指定されたページに適用され、定義されたパスに保存されます。 画像の透かしには異なる方法が必要であり、実装が複雑になります。

PDF/A 準拠のドキュメントを作成するにはどうすればよいですか?

PDF/Aは、長期的なデジタル保存のために設計された標準化された PDF バージョンです。 PDF/A 準拠を確保することで、将来にわたって信頼性の高い表示と再現が保証されます。 このセクションでは、両方のライブラリを使用して PDF/A 準拠のドキュメントを作成する方法について説明します。

IronPDFはどのようにして PDF/A ドキュメントを作成しますか?

IronPDF は、標準 PDF を PDF/A 準拠の形式に変換する作業を簡素化します。 このライブラリは、PDF/A-1、PDF/A-2、PDF/A-3を含む様々なPDF/A規格をサポートしています。PDF /AのマイルストーンアップデートZUGFeRDサポートによるPDF/A-3に関する情報は、製品発表をご覧ください。

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);
    }
}
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main()
		License.LicenseKey = "License-Key"
		Dim pdf As PdfDocument = PdfDocument.FromFile("Source.pdf")
		pdf.SaveAsPdfA("pdfa-compliant.pdf", PdfAVersions.PdfA3)
	End Sub
End Class
$vbLabelText   $csharpLabel

プロセスには以下が含まれます:

  1. IronPDFを初期化する:まず、 IronPDFライブラリをインポートし、ライセンス キーを設定します。
  2. PDF をロードします。PdfDocument.FromFile**使用してソース PDF ファイルをロードします。 3.変換して保存:**必要な PDF/A バージョンを指定して読み込んだ PDF を PDF/A に変換し、結果のドキュメントを保存します。

ドキュメントのアーカイブに PDF/A を選択する理由

PDF/A には長期保存にいくつかの利点があります。

-自己完結型ドキュメント: すべてのフォントとリソースが埋め込まれています -外部依存なし:外部コンテンツへの依存を排除 -標準化されたフォーマット: アーカイブ目的のISO認定 -メタデータの保存: ドキュメントのプロパティを維持します -視覚的な再現性: 時間の経過とともに一貫した外観を保証します

IronPDF はアクセシビリティ要件に合わせてPDF/UA 形式もサポートしており、ドキュメントが Section 508 コンプライアンス標準を満たすことを保証します。

ComPDFKitはどのようにして PDF/A ドキュメントを作成しますか?

ComPDFKit は、ドキュメントの初期化、出力パスの定義、および変換メソッドの呼び出しを通じて、信頼性の高い PDF/A 変換を提供します。

static public bool CovertToPDFA1a(CPDFDocument document)
{
    string convertToPDFA1aPath = "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 (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 = "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 (CovertToPDFA1a(document))
{
    Console.WriteLine("Convert to PDF/A-1a done.");
}
else
{
    Console.WriteLine("Convert to PDF/A-1a failed.");
}
Public Shared Function CovertToPDFA1a(ByVal document As CPDFDocument) As Boolean
	Dim convertToPDFA1aPath As String = "ConvertToPDFA1aTest.pdf"
	If Not document.WritePDFAToFilePath(CPDFType.CPDFTypePDFA1a, convertToPDFA1aPath) Then
		Return False
	End If
	Console.WriteLine("Browse the changed file in " & convertToPDFA1aPath)
	Return True
End Function

Private document As CPDFDocument = CPDFDocument.InitWithFilePath("CommonFivePage.pdf")
If CovertToPDFA1a(document) Then
	Console.WriteLine("Convert to PDF/A-1a done.")
Else
	Console.WriteLine("Convert to PDF/A-1a failed.")
End If
$vbLabelText   $csharpLabel

ステップには以下が含まれます:

1.ドキュメントを初期化する: CPDFDocument.InitWithFilePathを使用して PDF ドキュメントを読み込みます。 2.出力ディレクトリを設定します。出力ディレクトリが存在することを確認するか、必要に応じて作成します。

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

PDF にデジタル署名を追加するにはどうすればよいですか?

デジタル署名は文書の真正性と整合性を検証します。 このセクションでは、両方のライブラリを使用してデジタル署名を追加する方法を説明します。 完全なデジタル署名の実装については、IronPDFが広範なドキュメントを提供しています。

IronPDFで PDF に署名するにはどうすればいいですか?

IronPDF はシンプルで効果的なデジタル署名アプリケーションを提供します。 ライブラリは、企業のセキュリティ要件に対応するために X.509 証明書とHSM 統合をサポートしています。

using IronPdf;
using IronPdf.Signing;

class Program
{
    static void Main(string[] args)
    {
        var simpleSignature = new PdfSignature("MyCert.p12", "newpassword");
        simpleSignature.SignPdfFile("sample.pdf");
    }
}
using IronPdf;
using IronPdf.Signing;

class Program
{
    static void Main(string[] args)
    {
        var simpleSignature = new PdfSignature("MyCert.p12", "newpassword");
        simpleSignature.SignPdfFile("sample.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Signing

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim simpleSignature = New PdfSignature("MyCert.p12", "newpassword")
		simpleSignature.SignPdfFile("sample.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

プロセスには以下が含まれます:

  1. IronPDFを初期化する:必要なIronPDFライブラリをインポートします。 2.署名を作成する:証明書ファイルとパスワードを使用してPdfSignatureオブジェクトを初期化します。
  2. PDF に署名する: SignPdfFileを使用して PDF に署名を適用します。

IronPDFはどのような高度な署名オプションを提供しますか?

IronPDF は完全なデジタル署名機能を提供します。

-複数の署名タイプ: 証明書ベース、ビジュアル、フォームフィールド署名

  • HSMサポート:ハードウェアセキュリティモジュールの統合 -タイムスタンプサーバー: 署名に信頼できるタイムスタンプを追加する -署名の外観: 視覚的な署名表現をカスタマイズします -検証サポート: 既存の署名をプログラムで検証する -リビジョン管理:署名のリビジョン履歴を維持する

署名の問題のトラブルシューティングについては、デジタル署名のトラブルシューティング ガイドを参照してください。

ComPDFKitで PDF に署名するにはどうすればよいですか?

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 = 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 = 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("--------------------");
}
Imports Microsoft.VisualBasic

Private Shared Sub CreateDigitalSignature(ByVal document As CPDFDocument, ByVal certificatePath As String, ByVal password As String)
	Console.WriteLine("--------------------")
	Console.WriteLine("Create digital signature.")
	Dim certificate As CPDFSignatureCertificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path("Certificate.pfx", "ComPDFKit")
	Dim page As CPDFPage = document.PageAtIndex(0)
	Dim signatureField As CPDFSignatureWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS), 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()
	Dim name As String = GetGrantorFromDictionary(certificate.SubjectDict) & vbLf
	Dim [date] As String = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss")
	Dim reason As String = "I am the owner of the document."
	Dim location As String = certificate.SubjectDict("C")
	Dim DN As String = certificate.Subject

	Dim signatureConfig As New CPDFSignatureConfig With {
		.Text = GetGrantorFromDictionary(certificate.SubjectDict),
		.Content = "Name: " & name & vbLf & "Date: " & [date] & vbLf & "Reason: " & reason & " " & vbLf & "Location: " & location & vbLf & "DN: " & DN & vbLf,
		.IsContentAlignLeft = False,
		.IsDrawLogo = True,
		.LogoBitmap = New Bitmap("Logo.png"),
		.TextColor = New Single() { 0, 0, 0 },
		.ContentColor = New Single() { 0, 0, 0 }
	}
	Dim filePath As String = document.FileName & "_Signed.pdf"
	signatureField.UpdataApWithSignature(signatureConfig)
	If document.WriteSignatureToFilePath(signatureField, filePath, certificatePath, password, location, reason, CPDFSignaturePermissions.CPDFSignaturePermissionsNone) Then
		Console.WriteLine("File saved in " & filePath)
		Console.WriteLine("Create digital signature done.")
	Else
		Console.WriteLine("Create digital signature failed.")
	End If
	Console.WriteLine("--------------------")
End Sub
$vbLabelText   $csharpLabel

ステップには以下が含まれます:

1.ドキュメントと証明書を初期化する: PDF ドキュメントを読み込み、 CPDFPKCS12CertHelperを使用して証明書を取得します。 2.署名フィールドの作成と設定: PDF に署名フィールドを追加し、そのプロパティを設定し、署名の詳細を設定します。 3.署名を適用する: WriteSignatureToFilePathを使用して署名を適用し、署名された PDF を保存します。

PDFからテキストを抽出するには?

PDF ドキュメントからテキストを抽出することは、データの処理と分析にとって非常に重要です。 このセクションでは、両方のライブラリを使用したテキスト抽出について説明します。

IronPDFはどのようにテキストを抽出しますか?

IronPDF は、PDF ドキュメントからのテキスト抽出を簡単に実行できます。 ライブラリは、すべてのテキストまたは特定のページ コンテンツを抽出するためのメソッドを提供します。 PDF コンテンツを解析するために、IronPDFは構造化抽出をサポートしています。 PDF DOM オブジェクトにアクセスすると、開発者は詳細なコンテンツ情報を取得できます。

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);
Imports IronPdf
Imports System.IO

Private pdf As PdfDocument = PdfDocument.FromFile("PDF File With Text.pdf")
Private text As String = pdf.ExtractAllText()
File.WriteAllText("PDF Text.txt", text)
$vbLabelText   $csharpLabel

プロセスには以下が含まれます:

  1. IronPDFを初期化する: IronPDFライブラリをインポートします。
  2. PDF をロードします。PdfDocument.FromFile**使用して PDF ファイルをロードします。 3.テキストの抽出: ExtractAllTextを呼び出して、PDF からすべてのテキスト コンテンツを取得します。 4.テキストをファイルに保存:**標準のファイル I/O 操作を使用して、抽出したテキストをファイルに書き込みます。

どのような高度なテキスト抽出機能が利用できますか?

IronPDF は、高度なテキスト抽出機能を提供します。

-ページ固有の抽出: 個々のページからテキストを抽出します -構造化コンテンツ: 書式情報付きのテキストにアクセスします -検索と置換: PDF内のテキストを検索して置換します -正規表現のサポート:パターンベースのテキスト抽出 -座標ベースの抽出: 特定の領域からテキストを抽出 -言語サポート: UTF-8および国際文字を処理

完全なテキスト読み取り例については、読み取り PDF テキスト ガイドを参照してください。

ComPDFKitはどのようにテキストを抽出しますか?

ComPDFKit は、PDF ドキュメントから柔軟にテキストを抽出します。

static private bool PDFToText(CPDFDocument document)
{
    string path = "//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)
{
    Console.WriteLine("Running PDFPage test sample…\r\n");
    SDKLicenseHelper.LicenseVerify();
    CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");

    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 = "//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)
{
    Console.WriteLine("Running PDFPage test sample…\r\n");
    SDKLicenseHelper.LicenseVerify();
    CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");

    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();
}
Imports Microsoft.VisualBasic

Private Shared Function PDFToText(ByVal document As CPDFDocument) As Boolean
	Dim path As String = "//PDFToText.txt"
	If Not document.PdfToText("1-" & document.PageCount.ToString(), path) Then 'Page ranges are counted from 1
		Return False
	End If
	Console.WriteLine("Browse the generated file in " & path)
	Return True
End Function

Shared Sub Main(ByVal args() As String)
	Console.WriteLine("Running PDFPage test sample…" & vbCrLf)
	SDKLicenseHelper.LicenseVerify()
	Dim document As CPDFDocument = CPDFDocument.InitWithFilePath("CommonFivePage.pdf")

	If PDFToText(document) Then
		Console.WriteLine("PDF to text done.")
	Else
		Console.WriteLine("PDF to text failed.")
	End If
	Console.WriteLine("--------------------")
	Console.WriteLine("Done!")
	Console.WriteLine("--------------------")
	Console.ReadLine()
End Sub
$vbLabelText   $csharpLabel

手順は次の通りです:

1.ドキュメントを初期化する: CPDFDocument.InitWithFilePathを使用して PDF ドキュメントを読み込みます。 2.テキストを抽出して保存: PdfToTextを使用して、指定されたページ範囲からテキストを抽出し、ファイルに保存します。

実際の使用例シナリオ

各ライブラリをいつ使用するかを理解することで、開発者はプロジェクト要件に基づいて情報に基づいた決定を下すことができます。 これらのシナリオは、各ライブラリが優れている実用的なアプリケーションを示しています。

IronPDFはいつ選択すればよいですか?

エンタープライズドキュメント生成システム 金融サービス会社では、複雑なレイアウト、グラフ、規制遵守要件を備えた 50,000 件以上の明細書を毎月作成する必要があります。

IronPDF の利点: -パフォーマンス:非同期/マルチスレッドのサポートにより、大量のデータを効率的に処理します -コンプライアンス: 規制要件に対応するPDF/AおよびPDF/UAを内蔵 -チャート: 財務の視覚化のためのネイティブJavaScriptチャート レンダリング -セキュリティ: 機密データの高度な暗号化 -サポート: 生産上の問題に対する24時間365日のエンジニアリングサポート

SaaS請求書生成プラットフォーム カスタム テンプレートを使用して何千もの顧客向けにブランド化された請求書を生成するマルチテナント SaaS プラットフォーム。

IronPDF の利点:

  • HTML/CSS サポート: ブランド テンプレートの完全な Bootstrap 互換性 -パフォーマンス: スケーラブルなアーキテクチャのためのDocker デプロイメント -カスタマイズ: ブランディングのためのヘッダー/フッター透かし
  • API設計:シンプルなAPIにより開発時間を短縮 -クラウド対応: ネイティブAzureおよびAWSサポート

ComPDFKitを検討すべきタイミングはいつですか?

基本的なPDFビューアアプリケーション HTML 変換を必要とせず、PDF の表示と基本的な注釈機能を必要とするデスクトップ アプリケーション。

ComPDFKitの利点: -ビューアコンポーネント: 組み込みの表示機能 -注釈ツール:ネイティブ注釈サポート -シンプルな統合: HTML なしで直接 PDF を操作 -オフライン操作: コア機能はネットワークに依存しません

文書アーカイブシステム PDF の整理と基本的な編集に重点を置いた社内ドキュメント管理システム。

ComPDFKitの利点: -ファイル操作:強力なPDF結合/分割機能 -基本編集:テキストと画像の変更ツール -従来のアプローチ:使い慣れたPDF中心のAPI設計

ライセンスオプションは何ですか?

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

IronPDFはどのようなライセンス オプションを提供していますか?

IronPDF pricing page showing three license tiers (Lite $999, Plus $1,499, Professional $2,999) with Professional selected, displaying 10 developers/locations/projects coverage and $4,998 total with extended support and upgrade protection.

IronPDF は、透明性の高い商用ライセンス モデルに基づいて運営されています。

ライセンスの種類:

  • Liteライセンス ($999): 1人の開発者、1ロケーション、1プロジェクト
  • Plusライセンス ($1,499): 3人の開発者、3ロケーション、3プロジェクト
  • Professionalライセンス ($2,399): 10人の開発者、10ロケーション、10プロジェクト -エンタープライズ/OEM : 無制限の導入のためのカスタム価格設定

主な利点: -永久ライセンス:一度支払えば永久に使用可能 -ロイヤリティフリー配布:ランタイム料金なし -ソースコード入手可能: セキュリティ監査用にオプションで購入可能 -柔軟なアップグレード:ライセンスの拡張アップグレードが利用可能 -試用期間: 評価用の無料試用ライセンス

IronPDF の商用モデルにより、企業は専用のサポート、完全なドキュメント、プロフェッショナルな PDF 生成と操作のための高度な機能を確実に受けることができます。 透明な価格設定構造により、隠れたコストがなくなり、予算の予測可能性が向上します。

ComPDFKitはどのようなライセンス オプションを提供していますか?

ComPDFKit は、さまざまなビジネス ニーズに対応する柔軟なライセンスを採用しています。

ライセンスオプション: -永久ライセンス: 1回の支払いでSDKに永久アクセス可能 -サブスクリプションライセンス: 定期的な支払いと継続的なアップデート -見積ベースの価格設定:プロジェクトの要件ごとにカスタマイズされた価格設定

考慮事項: -変動費:価格については、見積もりの​​ために直接お問い合わせいただく必要があります。 -アップデート料金:バージョンアップのオプション料金 -サポートパッケージ: 別途サポート契約が必要です

  • API使用制限: クラウドAPIベースの処理には追加費用がかかる可能性があります

どのようなドキュメントとサポートが利用可能ですか?

IronPDFはどのようなサポートを提供しますか?

IronPDFはドキュメントとサポートインフラストラクチャを提供します:

ドキュメントリソース: -完全なガイド: すべての機能を網羅した500以上のコード例

サポートチャネル:

  • 24/5エンジニアリングサポート: 開発チームへの直接アクセス -応答時間: 応答時間を保証する優先サポート -コードレビュー:エンジニアリングチームが複雑な実装をレビューします -カスタムソリューション: 独自の要件への対応 -定期的なアップデート製品のアップデートマイルストーン機能

エンジニアリング サポート リクエストを行う際には、詳細なガイドラインに従って効率的な解決が保証されます。 サポート インフラストラクチャには、さまざまなプラットフォームの展開支援が含まれます。

ComPDFKitはどのようなサポートを提供しますか?

ComPDFKit は基本的なドキュメントとサポート リソースを提供します。

ドキュメント: -スタートガイド: 基本的なセットアップ手順

  • APIリファレンス: 標準メソッドのドキュメント -サンプルコード: コア機能の限定的な例 -プラットフォームドキュメント: 基本的なプラットフォーム統合ガイド

サポート オプション: -メールサポート: 標準営業時間内に返信 -テクニカルサポート: 基本的なトラブルシューティングのヘルプ -コミュニティフォーラム:ユーザー主導のサポートコミュニティ

どちらのライブラリもドキュメントとサポートを提供していますが、IronPDFは、より完全なリソース、より速い応答時間、そして本番環境への展開に不可欠な直接的なエンジニアリング サポートを提供します。

パフォーマンスと最適化の考慮事項

パフォーマンスは生産システムの実行可能性に影響します。 各ライブラリの最適化機能を理解することは、アーキテクトが効率的なソリューションを設計するのに役立ちます。

IronPDFはどのようにパフォーマンスを最適化しますか?

IronPDF は広範なパフォーマンス最適化機能を提供します:

建築上の利点: -ネイティブ Chrome エンジン: 最適化された C++ レンダリング エンジン -メモリ管理: 大きなドキュメントを効率的に処理 -スレッドセーフティ: 同時実行可能なWebアプリケーション向けに構築 -リソースプーリング: 再利用可能なレンダリングインスタンス

パフォーマンス機能: -非同期操作: 非ブロッキングPDF生成 -マルチスレッドサポート:並列ドキュメント処理 -線形化: 高速なWebビューの最適化

ComPDFKitのパフォーマンス特性は何ですか?

ComPDFKitは一般的なPDF操作に標準的なパフォーマンスを提供します:

パフォーマンスプロファイル:

  • メモリ使用量: リソース消費はドキュメントの複雑さにより異なります
  • 同時実行: asyncおよびスレッド管理のためにComPDFKitのドキュメントを参照してください
  • クロスプラットフォーム: Windows、Linux、macOS、Docker、Azure、およびAWSで利用可能

エンタープライズ統合パターン

運用システムでは、信頼性と拡張性を確保するために特定のアーキテクチャ パターンが必要です。 統合アプローチを理解することで、チームは信頼性の高いソリューションを実装できるようになります。

マイクロサービスでIronPDF を実装するには?

IronPDF は最新のアーキテクチャ パターンをサポートしています。

コンテナ化された PDF サービス:

// Dockerfile forIronPDFmicroservice
FROM mcr.microsoft.com/dotnet/aspnet:6.0
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libc6-dev \
    libx11-6
COPY . /app
WORKDIR /app
ENTRYPOINT ["dotnet", "PdfService.dll"]
// Dockerfile forIronPDFmicroservice
FROM mcr.microsoft.com/dotnet/aspnet:6.0
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libc6-dev \
    libx11-6
COPY . /app
WORKDIR /app
ENTRYPOINT ["dotnet", "PdfService.dll"]
The provided code is a Dockerfile, which is not written in C# and therefore cannot be directly converted to VB.NET. Dockerfiles are used to define the environment and instructions for building Docker images, and they do not have a direct equivalent in VB.NET. If you have any C# code that needs conversion to VB.NET, please provide that, and I will be happy to assist.
$vbLabelText   $csharpLabel

スケーラブルな API 実装:

[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    private readonly ChromePdfRenderer _renderer;

    public PdfController()
    {
        _renderer = new ChromePdfRenderer();
        // Configure for production
        _renderer.RenderingOptions.EnableJavaScript = true;
        _renderer.RenderingOptions.RenderDelay = 500;
    }

    [HttpPost("generate")]
    public async Task<IActionResult> GeneratePdf([FromBody] PdfRequest request)
    {
        try
        {
            var pdf = await _renderer.RenderHtmlAsPdfAsync(request.Html);

            // Apply security if needed
            if (request.RequirePassword)
            {
                pdf.SecuritySettings.SetPassword(request.Password);
            }

            var stream = pdf.Stream;
            return File(stream, "application/pdf", request.FileName);
        }
        catch (Exception ex)
        {
            //完了error handling
            return StatusCode(500, new { error = ex.Message });
        }
    }
}
[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    private readonly ChromePdfRenderer _renderer;

    public PdfController()
    {
        _renderer = new ChromePdfRenderer();
        // Configure for production
        _renderer.RenderingOptions.EnableJavaScript = true;
        _renderer.RenderingOptions.RenderDelay = 500;
    }

    [HttpPost("generate")]
    public async Task<IActionResult> GeneratePdf([FromBody] PdfRequest request)
    {
        try
        {
            var pdf = await _renderer.RenderHtmlAsPdfAsync(request.Html);

            // Apply security if needed
            if (request.RequirePassword)
            {
                pdf.SecuritySettings.SetPassword(request.Password);
            }

            var stream = pdf.Stream;
            return File(stream, "application/pdf", request.FileName);
        }
        catch (Exception ex)
        {
            //完了error handling
            return StatusCode(500, new { error = ex.Message });
        }
    }
}
Imports Microsoft.AspNetCore.Mvc

<ApiController>
<Route("api/[controller]")>
Public Class PdfController
    Inherits ControllerBase

    Private ReadOnly _renderer As ChromePdfRenderer

    Public Sub New()
        _renderer = New ChromePdfRenderer()
        ' Configure for production
        _renderer.RenderingOptions.EnableJavaScript = True
        _renderer.RenderingOptions.RenderDelay = 500
    End Sub

    <HttpPost("generate")>
    Public Async Function GeneratePdf(<FromBody> request As PdfRequest) As Task(Of IActionResult)
        Try
            Dim pdf = Await _renderer.RenderHtmlAsPdfAsync(request.Html)

            ' Apply security if needed
            If request.RequirePassword Then
                pdf.SecuritySettings.SetPassword(request.Password)
            End If

            Dim stream = pdf.Stream
            Return File(stream, "application/pdf", request.FileName)
        Catch ex As Exception
            ' Error handling
            Return StatusCode(500, New With {.error = ex.Message})
        End Try
    End Function
End Class
$vbLabelText   $csharpLabel

利点: -水平スケーリング: 必要に応じてインスタンスを追加 -障害分離:サービス障害はシステムに影響を与えない -リソース制御: コンテナ制限によりリソース枯渇を防止 -導入の柔軟性:Kubernetes、Docker Swarmで動作

ComPDFKitエンタープライズ統合についてはどうですか?

ComPDFKitはサーバー側アプリケーションへの統合をサポートし、Windows、Linux、macOS、Docker、Azure、およびAWS環境で利用可能です。 開発者はComPDFKitのドキュメントを参照して、マルチテナント展開、スケーリング戦略、およびコンテナ化されたアーキテクチャに関する具体的なガイダンスを確認する必要があります。

セキュリティとコンプライアンス機能

エンタープライズ アプリケーションでは、規制遵守とデータ保護のために信頼性の高いセキュリティ機能が求められます。

IronPDFはセキュリティをどのように処理しますか?

IronPDF は完全なセキュリティ機能を提供します:

暗号化オプション:

  • AES 256ビット暗号化:軍事レベルのセキュリティ -ユーザー/オーナーパスワード: 別々のアクセスレベル -権限制御: きめ細かなアクション制限 -デジタル署名:証明書ベースの認証
  • HSMサポート:ハードウェアセキュリティモジュールの統合

コンプライアンス機能:

実装例:

// Secure document generation
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Apply complete security
pdf.SecuritySettings.SetPassword("user123");
pdf.SecuritySettings.SetOwnerPassword("owner456");
pdf.SecuritySettings.MakePdfDocumentReadOnly();
pdf.SecuritySettings.SetPdfSecuritySettings(
    canPrint: true,
    canCopy: false,
    canModify: false
);

// Add digital signature
var signature = new PdfSignature("cert.pfx", "password");
pdf.SignWithSignature(signature);

// Ensure compliance
pdf.SaveAsPdfA("secure-compliant.pdf", PdfAVersions.PdfA3);
// Secure document generation
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Apply complete security
pdf.SecuritySettings.SetPassword("user123");
pdf.SecuritySettings.SetOwnerPassword("owner456");
pdf.SecuritySettings.MakePdfDocumentReadOnly();
pdf.SecuritySettings.SetPdfSecuritySettings(
    canPrint: true,
    canCopy: false,
    canModify: false
);

// Add digital signature
var signature = new PdfSignature("cert.pfx", "password");
pdf.SignWithSignature(signature);

// Ensure compliance
pdf.SaveAsPdfA("secure-compliant.pdf", PdfAVersions.PdfA3);
' Secure document generation
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

' Apply complete security
pdf.SecuritySettings.SetPassword("user123")
pdf.SecuritySettings.SetOwnerPassword("owner456")
pdf.SecuritySettings.MakePdfDocumentReadOnly()
pdf.SecuritySettings.SetPdfSecuritySettings(
    canPrint:=True,
    canCopy:=False,
    canModify:=False
)

' Add digital signature
Dim signature As New PdfSignature("cert.pfx", "password")
pdf.SignWithSignature(signature)

' Ensure compliance
pdf.SaveAsPdfA("secure-compliant.pdf", PdfAVersions.PdfA3)
$vbLabelText   $csharpLabel

ComPDFKitはどのようなセキュリティを提供しますか?

ComPDFKit は基本的なセキュリティ機能を提供します:

-パスワード保護: 基本的なユーザー/所有者のパスワード -暗号化:標準PDF暗号化 -権限: 制限された権限設定 -デジタル署名:証明書ベースの署名

HSMサポート、サニタイズ、包括的なアクセシビリティ対応ツールなどの高度な機能のために、ComPDFKitのドキュメントを参照して現行の使用可能性を確認してください。

どの PDF ライブラリを選択すればよいですか?

IronPDFとComPDFKitを比較すると、さまざまなユースケースと要件の明確な違いがわかります。

IronPDFがエンタープライズアプリケーションに優れている理由

IronPDF は、以下を必要とする生産システムに最適な選択肢として際立っています。

技術的卓越性: -ネイティブHTMLレンダリング: Chromiumエンジンが完璧な変換を保証します -パフォーマンス: 大容量処理のための非同期/マルチスレッド -信頼性: Webアプリケーション向けのスレッドセーフなアーキテクチャ -統合:シンプルなAPIにより開発時間を短縮

ビジネス価値: -総所有コスト: 隠れた料金のない透明な価格設定 -サポートインフラストラクチャ: 24時間365日のエンジニアリングサポートによりダウンタイムを最小限に抑えます -ドキュメント: 500以上の例が開発を加速します -将来性:定期的なアップデートと新機能

IronPDFは、高ボリュームのドキュメント生成を必要とする開発チームによって、Fortune 500企業で信頼されており、信頼性の高いBootstrapレンダリング、非同期処理、企業サポートを提供します。

ComPDFKitで十分な場合

ComPDFKit は次の場合に適しています。

-シンプルなPDF表示:基本的なデスクトップアプリケーション -限定範囲: HTML変換を必要としないプロジェクト

  • 予算の制約: 見積もりベースの価格が予算モデルに適合する場合に -基本操作: シンプルなマージ/分割要件

最終的な推奨事項

パフォーマンス、信頼性、アーキテクチャ パターンを重視して運用システムを構築する上級.NET開発者向けに、 IronPDF は完全なソリューションを提供します。 技術的機能、エンタープライズ機能、優れたサポート インフラストラクチャの組み合わせにより、プロジェクトの成功が保証されます。

主な決定要因:

要件 IronPDF ComPDFKit 勝者
HTMLからPDFへ ネイティブChromium 外部API IronPDF
パフォーマンス 非同期/マルチスレッド 同期 IronPDF
CSSサポート フルBootstrap/Flexbox 制限的 IronPDF
ドキュメンテーション 500以上の例 基本 IronPDF
サポート 24時間365日エンジニアリング メールのみ IronPDF
エンタープライズ機能 完了 制限的 IronPDF
総費用 Transparent 変数 IronPDF

IronPDF は、ライブラリとその機能をテストするための無料試用ライセンスを提供します。 IronPDFのライセンスは$999から開始されます。 さらに、Iron Softwareは2つのコストで9つのライブラリをバンドルし、IronXLIronOCRを含み、IronPDFと一緒に提供します。

エンタープライズ サポート付きのプロフェッショナルな PDF 生成を必要とするチーム向けに、IronPDFは完全なソリューションを提供します。 そのFortune 500企業での実績、完全な機能セット、および開発者の成功への献身により、重要な.NETアプリケーションにとって改善された選択となります。

ご注意ComPDFKitは、各所有者の登録商標です。)] このサイトはComPDFKitに関連しておらず、ComPDFKit の支持もスポンサーも得ていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

よくある質問

C# で HTML を PDF に変換するにはどうすればいいですか?

IronPDFのRenderHtmlAsPdfメソッドを使用して、HTML文字列をPDFに変換できます。このメソッドはHTML、CSS、JavaScriptを高品質なPDFドキュメントに変換するのに適しています。

C# PDFライブラリを使用する利点は何ですか?

IronPDFやComPDFKitのようなC# PDFライブラリは、PDFの作成、修正、テキスト/画像の抽出を可能にします。フォーム処理、デジタル署名、セキュリティなどの機能をサポートし、異なるプラットフォームでの柔軟性を提供します。

C#でPDFにセキュリティを追加できますか?

はい、IronPDFを使用すれば、パスワードの設定、ドキュメントの暗号化、デジタル署名の追加によってPDFのセキュリティを強化し、機密情報を保護できます。

ComPDFKitはPDF編集と変換をどのように処理していますか?

ComPDFKitは強力なPDF編集機能と、多様な形式への変換を提供しており、PDF/Aのような長期デジタル保存に適しており、クロスプラットフォームプロジェクトにおいて多用途です。

C# PDFライブラリにはどのようなライセンスオプションがありますか?

IronPDFは永久ライセンスを備えた商業ライセンスモデルを提供し、ComPDFKitは永久ライセンスとサブスクリプションライセンスの両方を提供し、ビジネスニーズに応じた柔軟性を提供します。

これらのライブラリを利用する開発者に対するサポートとリソースは何ですか?

IronPDFは包括的なドキュメントと迅速なカスタマーサポートを提供しており、エンタープライズレベルのアプリケーションに適しています。ComPDFKitも徹底したドキュメントとテクニカルサポートを提供しています。

HTMLからPDFへの変換において、IronPDFとComPDFKitはどのように比較されますか?

IronPDFはHTMLからPDFへの変換に優れており、HTML文字列、URLs、ASPXウェブフォーム、MVCビューをサポートしていますが、ComPDFKitはより広範なPDF編集と変換機能を提供します。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね