フッターコンテンツにスキップ
製品比較

IronPDF vs PDFShift: C# HTML to PDF API の比較

IronPDF は、749 ドルから始まる永続ライセンスで信頼性の高いローカル C# ライブラリを提供し、PDFShift は、変換ごとの料金設定でクラウド API を提供します。 毎月 500 件を超える PDF を処理するスタートアップにとって、IronPDF はコスト効率が向上し、より優れたデータ プライバシーとオフライン機能を提供します。

PDF (Portable Document Format)は、テキスト、リンク、グラフィックなどを 1 つのドキュメントで表現するための標準です。 C# で PDF を操作するには、.NET アプリケーション用の特殊な PDF ライブラリが必要です。 この記事では、PDF 生成用の 2 つの異なる API を比較し、そのパフォーマンス、機能、ライセンスについて説明します。 .NET アプリケーションを構築する場合、開発者は複雑な HTML レイアウト、 CSS スタイル、JavaScript レンダリングを処理できるPDF 生成機能を必要とします。

ここで説明する PDF API は次のとおりです。

  • IronWebScraper
  • PDFシフト

IronPDFとは何ですか?

IronPDF は、.NET および .NET Core 開発用に設計された完全なHTML から PDF への変換API です。 このライブラリは HTML サイトを変換し、広範な PDF 操作機能を提供します。 IronPDF を使用すると、開発者は .NET 環境でPDF ドキュメントのコンテンツを作成変更、抽出できます。 このライブラリは、HTML ページからの PDF 生成を簡素化し、MVC アプリケーションおよびRazor PagesCSHTML から PDF への変換をサポートします。

PDF は編集したり、スタンプを付けたり、ヘッダーやフッターを追加して改善したりできます。 このライブラリは、PDF テキストの読み取り画像の抽出を簡素化します。 IronPDF は、HTML から PDF へのレンダリングに.NET Chromium エンジンを使用します。 このエンジンはピクセルパーフェクトなレンダリングを保証し、 JavaScript から PDF への変換を含む最新の Web テクノロジーをサポートします。 Chrome レンダリング エンジンのマイルストーンは、レンダリングの精度とパフォーマンスの最適化において大きな進歩を示しました。

IronPDF にはどのような機能がありますか?

どのような PDF 変換オプションが利用できますか?

HTMLHTML 文字列MVC ビューWeb フォームURLから PDF を作成します。 MarkdownXMLRTF変換もサポートします。 変換機能には、DOCX から PDF への変換画像から PDF への変換が含まれます。 Web アプリケーションの場合、IronPDF はASPX ページ変換を処理し、ヘッドレス CSHTML レンダリングをサポートします。

PDF イメージングはどのように機能しますか?

PDF から画像を作成し、画像から PDF を作成します。 画像抽出、複数の形式、 PDF 印刷が含まれます。 SVG グラフィックAzure Blob Storage イメージをサポートします。 このライブラリは、マルチフレーム TIFF 変換を処理し、高品質の PDF から画像への変換を提供します。 メモリ効率の高い処理を行うには、 MemoryStream によるラスタライズを使用します。

どのようなファイル I/O 機能が含まれていますか?

IronPDF は、128 ビット暗号化、パスワード保護、デジタル署名を提供します。 HSM 署名PDF/A 準拠が含まれます。 PDF/A マイルストーンはPDF/A-3 や ZUGFeRDなどのアーカイブ形式のサポートを拡張しました。 追加のセキュリティ機能には、 PDF のサニタイズ変更履歴の管理が含まれます。

PDF を編集するにはどうすればいいですか?

IronPDF は、透かしページ管理背景、前景、完全なPDF 操作を提供します。 描画注釈フォーム管理が含まれます。 高度な編集には、テキストの置換編集PDF ページの変換が含まれます。 PDFium DOM マイルストーンは、複雑な PDF 構造の処理を改善します。

PDF からコンテンツを抽出するにはどうすればいいですか?

PDF から埋め込まれたテキストを直接抽出します。 画像が埋め込まれたテキストの場合は、 IronOCRを使用します。 PDF DOM オブジェクトは、プログラムによる PDF 構造へのアクセスを提供します。 高度な抽出には、 PDF テキストの読み取りフォントの管理が含まれます。 テキスト分析には、インテリジェントなドキュメント処理のためのOpenAI 統合を使用します。

ヘッダーとフッターはどのように機能しますか?

ヘッダーとフッターは、作成中または既存の PDF に追加できます。 動的なページ番号付きのテキストおよび HTML ヘッダーをサポートします。 詳細オプションには、特定のページにヘッダーを追加したり改ページを管理したりすることが含まれます。 レンダリング オプションを使用すると、レイアウトと用紙のサイズを細かく制御できます。

互換性のあるプラットフォームは何ですか?

IronPDF は C# 互換のオペレーティング システムとフレームワークをサポートしています。

互換性マイルストーンにより、プラットフォームのサポートが拡張されました。 展開のガイダンスについては、 "IronPDF と IISおよび展開のトラブルシューティング"を参照してください。

PDFShiftとは何ですか?

PDFShift は、クラウド サービスを通じて迅速な変換を提供する HTML から PDF への変換 API です。 API は、並列変換、非同期クエリ、生の HTML サポートなどを提供します。 PDFShiftはRuby、Python、JavaScript、Node、PHPサポートしています。VB.NETまたはF#開発者の場合、IronPDFはネイティブサポートを提供しますが、PDFShiftはHTTP統合が必要です。 他のクラウド サービスとの比較については、 "Aspose vs IronPDF"および"Syncfusion vs IronPDF"を参照してください。

PDFShift では、カスタム ヘッダー/フッター、CSS アプリケーション、ファイル暗号化が可能になります。 ただし、このサービスには、 PDF 圧縮線形化PDF/UA 準拠などの高度な操作機能が欠けています。 エンタープライズ要件については、セキュリティ CVE 開示Kerberos 認証を確認してください。

PDFShift にはどのような機能がありますか?

並列変換はどのように機能しますか?

PDFShift は、同時ドキュメント処理のための並列変換をサポートします。 同様の機能については、IronPDF の非同期およびマルチスレッド ガイドを参照してください。 IronPDF は、並列 PDF 生成の例と、パフォーマンス ベンチマークによるマルチスレッド生成を提供します。 非同期の例は、バッチ処理の最適化を示しています。

どのようなヘッダーとフッターのオプションが利用できますか?

ページ番号と CSS/JavaScript を使用してカスタム ヘッダー/フッターを作成します。 IronPDF は、繰り返しテーブル ヘッダーカスタム HTML ヘッダーなどの高度なオプションを提供します。 従来のテキスト ヘッダーでは実装が簡単ですが、 HTML ヘッダーでは複雑なレイアウトが可能になります。 動的コンテンツの場合は、 JavaScript メッセージ リスナーを使用します。

ページを公開せずに生の HTML を変換できますか?

PDFShift は、公開ページなしで生の HTML を変換します。 IronPDF は、ベース URL 構成DataURI 埋め込みによる同様の機能を提供します。 埋め込み画像の base64 の例は、自己完結型の HTML 変換を示しています。 安全な変換のためには、カスタム ログHTTP リクエスト ヘッダーを使用します。

PDF の品質はどうですか?

PDFShift は、忠実度の高い PDF をすばやく作成します。 IronPDF のChrome レンダリング エンジンは、ブラウザー出力に一致するピクセルパーフェクトな PDF を生成します。 ピクセルパーフェクトなチュートリアルでは、品質の最適化について説明します。 特定の要件に応じて、ビューポート設定レンダリング遅延を構成します。

非同期リクエストはどのように機能しますか?

簡単な統合により、変換完了をリアルタイムで通知します。 IronPDF は、バッチ処理の例とともに完全な非同期サポートを提供します。 非同期 PDF 生成の例では、パフォーマンスの向上が示されています。 大規模な処理については、 "メモリ管理パフォーマンスの支援"を参照してください。

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

Visual Studio を開き、[ファイル] > [新しいプロジェクト] > [コンソール アプリケーション] を選択します。 この例では、コンソール アプリケーションを使用します。 セットアップ手順については、インストールの概要クイックスタート ガイドを参照してください。 追加のプロジェクト テンプレートには、 Blazor チュートリアルMAUI PDF 表示が含まれます。 セットアップの問題のトラブルシューティングについては、クイック トラブルシューティング ガイドを参照してください。

プロジェクト名とパスを入力します。 作成をクリックします。 必要な .NET フレームワークを選択します。

Visual Studio プロジェクト構成ダイアログには、プロジェクト名、場所、フレームワーク バージョンのフィールドを含む、新しいコンソール アプリ (.NET Framework) プロジェクトのセットアップ オプションが表示されます。

Visual Studio はアプリケーション構造を生成し、コード入力用にprogram.csを開きます。

Visual Studio Code エディターで、構文が強調表示され、using ステートメントと Main メソッドのエントリ ポイントが表示されている C# コンソール アプリケーション テンプレートを表示します。

IronPDF ライブラリをインストールするにはどうすればよいですか?

IronPDF をインストールするには次の 4 つの方法があります。

  • Visual Studio NuGet パッケージ マネージャー
  • Visual Studio コマンドライン
  • NuGetからの直接ダウンロード
  • IronWebScraperから直接ダウンロード

代替方法については、 Windows インストーラー ガイドまたは高度な NuGet インストールを参照してください。 プラットフォーム固有のガイドには、 Linux のセットアップmacOS のインストールDocker のデプロイが含まれます。 サイズが制限される環境では、 IronPDF Slimを使用してください。

Visual Studio NuGet パッケージ マネージャーを使用するにはどうすればよいですか?

Visual Studio では、直接インストール用にNuGet パッケージ マネージャーが提供されています。

Visual Studio Code IDE に、.NET 開発用の検索結果とパッケージ インストール オプションを備えた NuGet パッケージ マネージャー インターフェイスが表示されています。

パッケージマネージャーで"IronPDF"を検索します。

Visual Studio NuGet パッケージ マネージャーは、IronPDF パッケージの検索結果を表示し、さまざまな IronPDF ライブラリのバージョン番号、ダウンロード数、説明を表示します。

IronPDF を選択し、パッケージをインストールします。 小規模な展開の場合は、 IronPDF Slimを検討してください。 問題が発生した場合は、 "NuGet パッケージのデプロイの失敗"および"デプロイ例外"を参照してください。

Visual Studio のコマンドラインを使用するにはどうすればよいですか?

[ツール] > [NuGet パッケージ マネージャー] > [パッケージ マネージャー コンソール] に移動します。

Visual Studio のツール メニューが展開され、パッケージ マネージャー コンソールが強調表示され、さまざまな開発ツールとデータベース接続オプションが表示されます。

コンソールに入力します:

Install-Package IronPdf

パッケージがダウンロードされ、インストールされます。 プラットフォーム固有のインストールについては、 LinuxmacOS 、またはDocker のデプロイメントを参照してください。 依存関係エラーについては、 Chrome の依存関係Pdfium の依存関係を確認してください。

Visual Studio パッケージ マネージャー コンソール ウィンドウに、ダーク テーマ インターフェイスを備えた空のコマンド プロンプトが表示されている

NuGet Web ページから直接ダウンロードできますか?

NuGet パッケージを直接ダウンロードします。

  • NuGet IronPDFページへ移動
  • ダウンロードパッケージを選択
  • ダブルクリックすると自動的にインストールされます
  • ソリューションをリロード

パッケージ管理については、 IronPDF ランタイム フォルダー ガイドを参照してください。 バージョンの競合が発生する場合は、アセンブリ バージョンの不一致ClickOnce の互換性を確認してください。

IronPDF Web ページから直接ダウンロードできますか?

IronPDF ダウンロード ページからダウンロードしてください。 ダウンロード後:

  • ソリューションウィンドウでプロジェクトを右クリック
  • 参照を選択し、ファイルを参照します
  • "OK"をクリック

ライセンスの設定については、 "ライセンス キーの使用""ライセンスの適用"を参照してください。 追加の構成オプションには、 Web.config でのライセンスの設定ライセンス拡張機能の管理が含まれます。

PDFShift はどのように機能しますか?

PDFShift は API 経由でリモートで動作します。 API キー認証を使用して C# RestClientを使用して POST リクエストを送信します。 サーバーはリクエストを処理し、HTTP経由でPDFを返します。ローカル処理では、IronPDFのネイティブエンジンが優れたパフォーマンスとセキュリティを提供します。 ネイティブ エンジン オプションとリモート エンジンオプションを比較します。 API の代替については、 "Apryse vs IronPDF"および"iText vs IronPDF"を参照してください。

HTML から PDF を作成するにはどうすればいいですか?

どちらのツールも、異なるアプローチでHTML 変換を提供します。 IronPDF は、HTML ZIP ファイルカスタム レンダリングなどの幅広いオプションを提供します。 PDF 作成チュートリアルでは、完全な生成方法について説明します。 高度なシナリオについては、 JavaScript レンダリングレスポンシブ CSS 処理を参照してください。

IronPDF を使用して URL から PDF を作成するにはどうすればよいですか?

URL から PDF を作成するには 3 行必要です。 このコード例は、IronPDF を使用して開発者がURL から PDF への変換を実装する方法を示しています。

using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();

// Configure render options for better results
Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
Renderer.RenderingOptions.MarginTop = 25;
Renderer.RenderingOptions.MarginBottom = 25;

// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_68___");

// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();

// Configure render options for better results
Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
Renderer.RenderingOptions.MarginTop = 25;
Renderer.RenderingOptions.MarginBottom = 25;

// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_68___");

// Export to a file or Stream
pdf.SaveAs("url.pdf");
$vbLabelText   $csharpLabel

認証されたページについては、 "TLS ウェブサイト ログイン"を参照してください。 JavaScript サイトの場合は、 WaitFor 遅延カスタム JavaScriptを使用します。 詳細オプションには、レンダリング遅延JavaScript から PDF への変換が含まれます。 パフォーマンスの最適化については、初期レンダリングが遅い場合の解決策を参照してください。

出力:

パキスタンのAmazonウェブサイトでは、おもちゃやゲームのショッピングページ上に配送先住所変更のポップアップが表示されており、ゲームアクセサリや電子機器のカテゴリが表示されている。

IronPDF を使用して HTML を PDF に変換するにはどうすればいいですか?

HTML を PDF に簡単に変換:

using IronPdf;

var pdf = new ChromePdfRenderer();

// Add custom CSS for better formatting
pdf.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
pdf.RenderingOptions.EnableJavaScript = true;

// Include web fonts and icons
pdf.RenderingOptions.WaitFor.FontsLoaded();

PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
using IronPdf;

var pdf = new ChromePdfRenderer();

// Add custom CSS for better formatting
pdf.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
pdf.RenderingOptions.EnableJavaScript = true;

// Include web fonts and icons
pdf.RenderingOptions.WaitFor.FontsLoaded();

PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
$vbLabelText   $csharpLabel

複雑な HTML の場合は、相対パスにベース URLを使用します。 タイポグラフィ用のWeb フォントとアイコンを追加します。 追加の書式設定オプションには、カスタム フォント国際言語が含まれます。 フォントのトラブルシューティングについては、 "フォント管理フォント カーニングの問題"を参照してください。

Pdfshift Alternatives Html To Pdf 8 related to IronPDF を使用して HTML を PDF に変換するにはどうすれば...

PDFShift を使用して URL から PDF を作成するにはどうすればよいですか?

PDFShift を使用して URL を変換するには、POST リクエストが必要です。

using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("___PROTECTED_URL_69___");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "___PROTECTED_URL_70___",
                // Additional options
                landscape = false,
                use_print = false
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
                Console.WriteLine($"Error: {response.StatusCode} - {response.ErrorMessage}");
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("___PROTECTED_URL_69___");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "___PROTECTED_URL_70___",
                // Additional options
                landscape = false,
                use_print = false
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
                Console.WriteLine($"Error: {response.StatusCode} - {response.ErrorMessage}");
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
$vbLabelText   $csharpLabel

PDFShift を使用して HTML を PDF に変換するにはどうすればいいですか?

PDFShift は HTML から PDF への変換を提供します。

using System;
using System.IO;
using RestSharp;
using RestSharp.Authenticators;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("___PROTECTED_URL_71___");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            string documentContent = File.ReadAllText("document.html");
            var json = new
            {
                source = documentContent,
                // Additional formatting options
                margin = "20px",
                format = "A4"
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
                Console.WriteLine($"Error: {response.StatusCode}");
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
using System;
using System.IO;
using RestSharp;
using RestSharp.Authenticators;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("___PROTECTED_URL_71___");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            string documentContent = File.ReadAllText("document.html");
            var json = new
            {
                source = documentContent,
                // Additional formatting options
                margin = "20px",
                format = "A4"
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
                Console.WriteLine($"Error: {response.StatusCode}");
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
$vbLabelText   $csharpLabel

カスタム ヘッダーとフッターを追加するにはどうすればよいですか?

ヘッダーとフッターは、ページ間で一貫した情報を提供することで PDF ドキュメントを改善します。 IronPDF と PDFShift はどちらもこの機能をサポートしています。 高度なシナリオについては、 "ページへのヘッダーの追加"および"ページ区切りの制御"を参照してください。 ページ番号とページ区切りの例は、完全な実装を示しています。 レイアウト制御については、カスタム余白PDF ページの向きを調べてください。

IronPDF を使用してヘッダーとフッターを追加するにはどうすればよいですか?

IronPDF では、ヘッダーとフッターを実装するための 2 つの方法を提供しています。

TextHeaderFooter : このメソッドは、動的なデータを含むテキストベースのヘッダーを使用します。

HtmlHeaderFooter : このアプローチでは、テンプレートを使用して HTML でレンダリングされたヘッダーとフッターが可能になります。

using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();

// Configure text header with merge fields
Renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a cover page will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;

// Add HTML footer with page numbers
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
    Height = 25,
    DrawDividerLine = true
};

// Apply custom margins
Renderer.RenderingOptions.MarginTop = 40;
Renderer.RenderingOptions.MarginBottom = 40;

var pdf = Renderer.RenderHtmlAsPdf("<h1>Document with Headers</h1>");
pdf.SaveAs("headers-footers.pdf");
using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();

// Configure text header with merge fields
Renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a cover page will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;

// Add HTML footer with page numbers
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
    Height = 25,
    DrawDividerLine = true
};

// Apply custom margins
Renderer.RenderingOptions.MarginTop = 40;
Renderer.RenderingOptions.MarginBottom = 40;

var pdf = Renderer.RenderHtmlAsPdf("<h1>Document with Headers</h1>");
pdf.SaveAs("headers-footers.pdf");
$vbLabelText   $csharpLabel

複雑なレイアウトの場合は、目次ブックマークの使用を検討してください。 アウトラインとブックマークの例では、ナビゲーション構造が提供されます。 正確な位置決めを行うには、カスタム余白の例を使用してPDF ページを変換します

PDFShift を使用してヘッダーとフッターを追加するにはどうすればよいですか?

PDFShift を使用すると、識別やブランド化のためにヘッダーとフッターを使用してドキュメントをカスタマイズできます。

using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("___PROTECTED_URL_72___");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "___PROTECTED_URL_73___",
                footer = new { 
                    source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>", 
                    spacing = "50px" 
                },
                header = new {
                    source = "<div>Company Name</div>",
                    spacing = "30px"
                }
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("___PROTECTED_URL_72___");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "___PROTECTED_URL_73___",
                footer = new { 
                    source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>", 
                    spacing = "50px" 
                },
                header = new {
                    source = "<div>Company Name</div>",
                    spacing = "30px"
                }
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
$vbLabelText   $csharpLabel

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

PDF に透かしを入れると、ドキュメントにブランド化とセキュリティが追加されます。 IronPDF と PDFShift はどちらも透かしをサポートしています。 追加のオプションについては、 "テキストと画像のスタンプ"および"新しいコンテンツのスタンプ"を参照してください。 PDF 透かしの例では、高度なテクニックを示します。 バッチ処理には、効率的な HTML スタンプを使用します。

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

IronPDF は HTML を使用して PDF に透かしを入れることを可能にします。 透かしには、不透明度、回転、ハイパーリンクを含めることができます。 例については、 "PDF 透かしの例"を参照してください。 スタンプが複数ある場合は、効率的な HTML スタンプの使用を検討してください。 追加オプションには、背景と前景の例テキストとビットマップの描画が含まれます。

using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_74___");

// Add text watermark with opacity and rotation
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", 
    IronPdf.Editing.WaterMarkLocation.MiddleCenter, 
    50, // opacity
    -45, // rotation
    "___PROTECTED_URL_75___");

// Add image watermark
Pdf.ApplyWatermark("<img src='logo.png' style='width:200px'>", 
    30, // opacity
    IronPdf.Editing.VerticalAlignment.Top,
    IronPdf.Editing.HorizontalAlignment.Right);

Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;

var Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_74___");

// Add text watermark with opacity and rotation
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", 
    IronPdf.Editing.WaterMarkLocation.MiddleCenter, 
    50, // opacity
    -45, // rotation
    "___PROTECTED_URL_75___");

// Add image watermark
Pdf.ApplyWatermark("<img src='logo.png' style='width:200px'>", 
    30, // opacity
    IronPdf.Editing.VerticalAlignment.Top,
    IronPdf.Editing.HorizontalAlignment.Right);

Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
$vbLabelText   $csharpLabel

高度な透かしを追加するには、背景と前景を組み合わせたり、カスタム スタンプを使用します。 添付の表紙の例には、ドキュメントのブランド化が表示されています。 正確な制御を行うには、テキストの回転PDF オブジェクトのスケールを使用します。

IronPDF NuGet パッケージ ページには、インストール コマンド、370 万ダウンロード、C# による PDF 作成と操作の機能を含むバージョン 2022.6.6115 が表示されています。

PDFShift を使用して透かしを追加するにはどうすればよいですか?

PDFShift を使用すると、識別目的でドキュメントに透かしを追加できます。

using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("___PROTECTED_URL_76___");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "___PROTECTED_URL_77___",
                watermark = new { 
                    image = "___PROTECTED_URL_78___", 
                    offset_x = 50, 
                    offset_y = "100px", 
                    rotate = 45,
                    opacity = 0.5
                }
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;

namespace PDFShiftExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new RestClient("___PROTECTED_URL_76___");
            client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

            var request = new RestRequest(Method.POST);

            var json = new
            {
                source = "___PROTECTED_URL_77___",
                watermark = new { 
                    image = "___PROTECTED_URL_78___", 
                    offset_x = 50, 
                    offset_y = "100px", 
                    rotate = 45,
                    opacity = 0.5
                }
            };
            request.AddJsonBody(json);

            var response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                // Handle the unsuccessful response
            }
            else
            {
                File.WriteAllBytes("result.pdf", response.RawBytes);
            }
        }
    }
}
$vbLabelText   $csharpLabel

これらのツールは Bootstrap と最新の CSS をどの程度サポートしていますか?

最新の Web 開発では、レスポンシブ デザインに CSS フレームワークが利用されており、PDF ライブラリはこれらのフレームワークを正確に変換する必要があります。 Bootstrap & Flex CSS ガイドを参照してください。 レスポンシブ デザインの場合は、ビューポートとズームの設定カスタム用紙サイズを確認してください。 カスタム PDF 用紙サイズの例では、正確なサイズ設定が示されています。 レイアウト制御については、用紙に合わせた調整やズームレスポンシブ HTML から PDF を検討してください。

IronPDF は Bootstrap と最新の CSS フレームワークをサポートしていますか?

IronPDF のChrome レンダリング エンジンは、 CSS フレームワークを幅広くサポートします。

  • Bootstrap 5:レスポンシブユーティリティを備えた完全なフレックスボックスとCSSグリッド
  • Bootstrap 4:完全なカードシステム、ナビゲーション、フォームコンポーネント
  • Tailwind CSS:すべてのユーティリティクラスとレスポンシブ修飾子 -基盤:完全なグリッドとコンポーネントシステム -最新の CSS3: Flexbox、グリッド、カスタムプロパティ、アニメーション、変換

検証: Bootstrap ホームページテンプレートは正確に変換されます。 レンダリング オプション ガイドを参照してください。 IronPDF は、Angular から PDFおよびその他のフレームワークをサポートします。 追加のフレームワーク サポートには、 JavaScript チャートWebGL レンダリングが含まれます。 最適化するには、 HTML レンダリング設定ピクセルパーフェクトなフォーマットを使用します。

コード例: Bootstrap を使用したお問い合わせフォーム

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure for improve Bootstrap rendering
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 500; // Allow JS to execute
renderer.RenderingOptions.ViewPortWidth = 1200; // Desktop viewport

string bootstrapContact = @"
<!DOCTYPE html>
<html>
<head>
    <link href='___PROTECTED_URL_79___ rel='stylesheet'>
    <style>
        @media print {
            .no-print { display: none; }
        }
    </style>
</head>
<body>
    <div class='container my-5'>
        <div class='row justify-content-center'>
            <div class='col-lg-8'>
                <div class='card shadow'>
                    <div class='card-header bg-primary text-white'>
                        <h2 class='mb-0'>Contact Us</h2>
                    </div>
                    <div class='card-body'>
                        <form>
                            <div class='row g-3'>
                                <div class='col-md-6'>
                                    <label class='form-label'>First Name</label>
                                    <input type='text' class='form-control' placeholder='John'>
                                </div>
                                <div class='col-md-6'>
                                    <label class='form-label'>Last Name</label>
                                    <input type='text' class='form-control' placeholder='Doe'>
                                </div>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Email Address</label>
                                <div class='input-group'>
                                    <span class='input-group-text'>@</span>
                                    <input type='email' class='form-control' placeholder='john.doe@example.com'>
                                </div>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Subject</label>
                                <select class='form-select'>
                                    <option>General Inquiry</option>
                                    <option>Technical Support</option>
                                    <option>Sales Question</option>
                                    <option>Partnership Opportunity</option>
                                </select>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Message</label>
                                <textarea class='form-control' rows='5' placeholder='Your message here...'></textarea>
                            </div>

                            <div class='d-flex justify-content-between align-items-center mt-4'>
                                <div class='form-check'>
                                    <input class='form-check-input' type='checkbox' id='newsletter'>
                                    <label class='form-check-label' for='newsletter'>
                                        Subscribe to newsletter
                                    </label>
                                </div>
                                <button type='submit' class='btn btn-primary px-4'>Submit</button>
                            </div>
                        </form>
                    </div>
                </div>

                <div class='alert alert-info mt-4 d-flex align-items-center' role='alert'>
                    <svg class='bi flex-shrink-0 me-2' width='24' height='24'></svg>
                    <div>We typically respond within 24 hours during business days.</div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapContact);
pdf.SaveAs("contact-form.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure for improve Bootstrap rendering
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 500; // Allow JS to execute
renderer.RenderingOptions.ViewPortWidth = 1200; // Desktop viewport

string bootstrapContact = @"
<!DOCTYPE html>
<html>
<head>
    <link href='___PROTECTED_URL_79___ rel='stylesheet'>
    <style>
        @media print {
            .no-print { display: none; }
        }
    </style>
</head>
<body>
    <div class='container my-5'>
        <div class='row justify-content-center'>
            <div class='col-lg-8'>
                <div class='card shadow'>
                    <div class='card-header bg-primary text-white'>
                        <h2 class='mb-0'>Contact Us</h2>
                    </div>
                    <div class='card-body'>
                        <form>
                            <div class='row g-3'>
                                <div class='col-md-6'>
                                    <label class='form-label'>First Name</label>
                                    <input type='text' class='form-control' placeholder='John'>
                                </div>
                                <div class='col-md-6'>
                                    <label class='form-label'>Last Name</label>
                                    <input type='text' class='form-control' placeholder='Doe'>
                                </div>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Email Address</label>
                                <div class='input-group'>
                                    <span class='input-group-text'>@</span>
                                    <input type='email' class='form-control' placeholder='john.doe@example.com'>
                                </div>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Subject</label>
                                <select class='form-select'>
                                    <option>General Inquiry</option>
                                    <option>Technical Support</option>
                                    <option>Sales Question</option>
                                    <option>Partnership Opportunity</option>
                                </select>
                            </div>

                            <div class='mt-3'>
                                <label class='form-label'>Message</label>
                                <textarea class='form-control' rows='5' placeholder='Your message here...'></textarea>
                            </div>

                            <div class='d-flex justify-content-between align-items-center mt-4'>
                                <div class='form-check'>
                                    <input class='form-check-input' type='checkbox' id='newsletter'>
                                    <label class='form-check-label' for='newsletter'>
                                        Subscribe to newsletter
                                    </label>
                                </div>
                                <button type='submit' class='btn btn-primary px-4'>Submit</button>
                            </div>
                        </form>
                    </div>
                </div>

                <div class='alert alert-info mt-4 d-flex align-items-center' role='alert'>
                    <svg class='bi flex-shrink-0 me-2' width='24' height='24'></svg>
                    <div>We typically respond within 24 hours during business days.</div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapContact);
pdf.SaveAs("contact-form.pdf");
$vbLabelText   $csharpLabel

出力: Bootstrap のフォーム コントロール、グリッド レイアウト、カード スタイル、入力グループを備えたプロフェッショナルな連絡フォームがすべて PDF で正確にレンダリングされます。

その他の例については、チャートのレンダリングWebGL サイトを参照してください。 HTML でのバーコードの追加例では、追加の HTML 要素が表示されます。 パフォーマンスを最適化するには、 PDF アセットとパフォーマンス ガイドおよびパッケージ サイズ管理を使用します。

PDFShift は Bootstrap と Modern CSS をサポートしていますか?

-クラウド API: PDFShift サーバーへの HTTP API 呼び出しを介したすべての変換

  • Bootstrap サポート: Bootstrap 4/5 レイアウトを概ね適切に処理します
  • CSS3 サポート:優れたフレックスボックスと最新の CSS レンダリング -インターネットが必要:オフラインではPDFを生成できません -ドキュメントごとの価格設定:開発者ライセンスごとではなく、変換ごとに課金されます

PDFShift に関する重要な考慮事項: -外部依存性:すべてのPDF生成にはインターネットと外部APIの利用が必要です -データプライバシー:処理のためにサードパーティのサーバーに送信されるHTMLコンテンツ -ボリュームコスト:ドキュメントごとの価格は、規模が大きくなると高額になる可能性がある -遅延:ネットワークの往復により、各変換に遅延が発生します。 -オフライン機能なし:エアギャップ環境やオフライン環境では動作できません

開発への影響: PDFShift は Bootstrap を適切に処理しますが、クラウド アーキテクチャでは運用上のトレードオフが発生します。

  1. ドキュメントごとの継続的なコストと、IronPDFの開発者ごとの1回限りのライセンス
  2. 外部サービスへの依存とローカルオンプレミス処理
  3. 機密コンテンツのデータ取り扱いに関する考慮事項
  4. インターネット接続の必要性とオフライン機能

開発への影響: クラウド アーキテクチャでは運用上の考慮事項が導入されます。

  1. ドキュメントごとの継続的なコストと1回限りのライセンス
  2. 外部依存とローカル処理制御
  3. 機密コンテンツのデータ処理要件
  4. インターネット接続の前提条件

大容量のアプリケーションや機密データの場合、IronPDF のローカル処理により、より優れた制御と価値が実現します。 パフォーマンスのために並列生成マルチスレッドを検討してください。 マルチスレッドの例では、並行処理を示します。 クラウドの代替手段については、 "Azure のデプロイメント""AWS Lambda の統合"を参照してください。

Bootstrap & Flexbox CSS ガイドHTML レンダリング設定を参照してください。 最新の CSS サポートについては、国際言語と CMYKおよびメタデータの可視性を確認してください。

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

IronPDF は無料の開発者ライセンスを提供しています。 ライト パッケージは$799から始まり、隠れたコストはありません。 パッケージには、SaaS および OEM 再配布が含まれます。 すべてのライセンスには 30 日間の返金保証、1 年間のサポートとアップグレードが付属しており、永久ライセンスで開発、テスト、ステージング、本番環境で有効です。 IronPDF の価格とライセンスを参照してください。 ライセンス管理については、 "ライセンス キーの適用"および"ライセンス キーの構成"を参照してください。 ライセンス キー ガイドでは、すべての構成方法について説明します。 ライセンスのトラブルシューティングについては、 "ライセンス サーバーに接続できない"および"宣言の使用"を参照してください。

IronPDF のライセンス ページには、Lite ($499)、Professional ($999)、Unlimited ($2,999) の 3 つのレベルが表示されており、各レベルで開発者とプロジェクトの制限があります。

PDFShift は、クレジットを使用して月単位または年単位で利用できる 5 つのパッケージを提供しています。

1.無料:毎月50クレジット 2.スタートアップ:月額500クレジット(9ドル)または年間6,000クレジット(99ドル) 3.ブースト:月額2,500クレジット(24ドル)または年間30,000クレジット(240ドル) 4.成長:月額5,000クレジット(39ドル)または年間60,000クレジット(390ドル) 5.ビジネス:月額25,000クレジット(99ドル)

ファイルサイズの制限: 1MB (無料)、5MB (有料パッケージ)。

PDFShiftの価格比較では、Startup(90ドル)、Boost(240ドル)、Growth(390ドル)の3つの年間プランを示しており、月々のクレジット許容量と超過料金が異なります。

PDFShift の料金ページをご覧ください。

どの PDF API を選択すればよいですか?

IronPDF はインディー開発者向けに無料で提供されており、広範な PDF 修正および変換機能を提供します。 IronPDF は優れた編集および書式設定ツールを提供します。 このライブラリは、 HTML をベクター PDF に変換し、鮮明で高品質の出力で商業印刷できるようにします。 Iron ソフトウェア ライセンス情報を参照してください。 追加機能については、 PDF の整理PDF の署名とセキュリティ保護PDF 変換オプションをご覧ください。 完全な機能リストにはすべての機能が網羅されています。 エンタープライズ機能については、デジタル署名の例暗号化と復号化を確認してください。

PDFShift は、シンプルなエンドポイントと複数の言語をサポートするクラウドベースの HTML から PDF への API です。 PDFShift は、サーバー要求を通じて並列変換を処理します。 ただし、このサービスには、 PDF フォームの作成PDF の結合テキストの置換メタデータの編集などの高度な機能がありません。 フォーム処理の比較については、フォーム データの例フォームの入力と編集を参照してください。 ドキュメントを整理するには、 PDF の結合例PDF ページの分割例を確認してください。

IronPDF ライセンスは開発者ベースで、1 回限りの購入となります。 PDFShift は、継続的なサブスクリプションを必要とする月単位または年単位のクレジットベースのライセンスを使用します。 IronPDF は OEM および SaaS 配布をサポートします。 PDFShift ではそうではありません。 ライセンス管理については、 "IronPDF の拡張機能アップグレード オプション"を参照してください。 変更ログはすべての製品の更新を追跡します。 サポート オプションについては、エンジニアリング サポート リクエスト ガイドベスト サポート プラクティスを参照してください。

両方のツールを比較すると、IronPDF の方が大幅に多くの機能を提供します。 PDFShift は限定された PDF 操作機能を提供します。 IronPDF は 3 行でURL を PDF に変換しますが、PDFShift では追加のコードが必要になります。 IronPDF は、.NET プロジェクトに迅速かつ簡単に統合されます。 PDFShift のクラウド システムはRestSharpと外部 API に依存しているため、統合が複雑になります。 トラブルシューティング リソースについては、クイック トラブルシューティング ガイドエンジニアリング サポートを参照してください。 追加のリソースには、 Azure ログ ファイルAWS ログ ファイルが含まれます。 デプロイのガイダンスについては、 "Azure デプロイのトラブルシューティングデバッグ Azure Functions"を参照してください。

Iron Software は、2 つのツールの価格で 5 つのツールを提供します。 アイアン スイートには以下が含まれます:

  • IronBarcode - バーコードの生成と読み取り
  • IronXL - OfficeなしでExcelファイルを操作
  • IronOCR - テキスト抽出のための高度なOCR
  • IronPDF - 完全なPDF操作ライブラリ
  • IronWebScraper - Webスクレイピングとデータ抽出

IRONSUITEについて詳しくは、 Iron Suiteページをご覧ください。その他のIron Software製品については、ドキュメントセキュリティのニーズに対応したIronSecureDocドキュメントをご覧ください。 製品デモでは実際のアプリケーションを紹介します。 競合分析については、 QuestPDF と IronPDF の比較をご覧ください。 マイルストーン ページでは、2015 年以降の主要な成果を紹介します。

BRACKET-i-OPEN--PDFShiftは各所有者の登録商標です。 このサイトは PDFShift と提携、承認、または後援されていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

よくある質問

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

IronPDF の RenderHtmlAsPdf メソッドを使用して、HTML 文字列を PDF に変換できます。RenderHtmlFileAsPdf を使用して HTML ファイルを PDF に変換することもできます。

IronPDF を使用することの利点は何ですか?

IronPDFは、さまざまな形式からのPDF作成、画像抽出、暗号化、編集機能、Windows、Linux、およびAzureやAWSのようなクラウドサービスとの互換性を含むPDF操作のための強力な機能セットを提供します。

PDFShiftの主な特徴は何ですか?

PDFShiftは、並行変換、カスタムヘッダー、非同期リクエスト、複数のプログラミング言語との互換性といった機能を備えた迅速なHTMLからPDFへの変換をサポートするクラウドベースのAPIです。

IronPDFとPDFShiftはライセンス面でどのように異なりますか?

IronPDFは、一括購入と30日間の返金保証がある開発者ベースのライセンスを提供します。一方、PDFShiftは月次および年次プランを持つクレジットベースのライセンスシステムを使用しています。

IronPDFはクラウド環境で使用可能ですか?

はい、IronPDFはMicrosoft AzureやAWSといったクラウド環境をサポートしており、さまざまな展開シナリオに対応できます。

IronPDFでPDFにヘッダーとフッターを追加するにはどうすればいいですか?

IronPDFは、組み込みメソッドを使用してPDFにヘッダーとフッターを追加することができ、テキスト、画像、またはページ番号を含めるようにカスタマイズできます。

IronPDFはどのプラットフォームをサポートしていますか?

IronPDFは、Windows、Linux、.NET Core、およびクラウド環境で使用できるC#と互換性のあるほぼすべてのオペレーティングシステムとフレームワークをサポートしています。

IronPDFを私のVisual Studioプロジェクトにインストールするにはどうすればいいですか?

IronPDFは、Visual Studio NuGet Package Manager、Visual Studioコマンドライン、またはNuGetまたはIronPDFのウェブページから直接ダウンロードすることでインストールできます。

IronPDFを使用してPDFから画像を抽出することは可能ですか?

はい、IronPDFはPDFから画像を抽出する機能を提供し、開発者が元のドキュメントの外部で画像を操作および再利用できるようにします。

カーティス・チャウ
テクニカルライター

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

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