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

オンラインツールでPDF文書に署名する方法

1. はじめに

デジタル時代において、PDF(Portable Document Format)は、情報を信頼性と一貫性のある形式で保管・共有する上で重要な日常必需品となっています。 データプロパティをきれいにフォーマットされたPDFに変換するためや、プロフェッショナルな請求書を作成するために、開発者はサーバー開発にPhantom PDFではなく、IronPDFやローカルJSReport Studioのような強力なC#クライアントライブラリを使用することが多いです。

IronPDFは.NETフレームワークでのHTMLからPDFへの変換で強力なパフォーマンスを発揮し、一方JSReport SDKは動的レポートソリューションを提供し、ローカルJSReportサーバーと設定ファイルを使用して柔軟性とカスタマイズに重点を置いています。 両方のライブラリは独自のソリューションを提供し、PDF生成と操作の分野で開発者の異なるニーズに対応しています。

2. JSReportサーバー.NETの使用

JSReport SDK .NETは、特にASP.NET Core環境に最適化された.NETアプリケーション向けの高度なレポートソリューションです。 HTMLやJavaScriptから直接PDF、Excel、DOCX、CSVなどの形式に出力を変換することを可能にします。 この機能は、レポート生成用にASP.NET MVCエンジンのRazorを利用して、レポートサーバーを使用することで実現されます。

JSReport .NETはスケジューリング、テンプレートバージョン管理、サブレポート、ユーザー管理、テンプレートのインポート/エクスポート、バックアップなどの包括的なデフォルトローカル拡張を提供し、その多様性とさまざまなビジネスシナリオへの適用性を高めています。 それはREST API、CLI、SDKを含む広範囲なAPIをサポートし、事実上どこからでもレポートをレンダリングすることができます。

2.1 キーフィーチャー

2.1.1 ASP.NET Core統合

JSReport SDKは、具体的にはASP.NET Coreアプリケーション向けの<jsreport.AspNetCore> NuGetパッケージを提供します。 これは、ビューをHTMLジェネレータとして使用し、JSReportサーバーを出力変換器として使用する、MVCビューの出力を希望の形式に変換するミドルウェアフィルターを含みます。

2.1.2 柔軟なセットアップ

セットアップには、<jsreport.AspNetCore>jsreport.Localjsreport.Binaryのようなパッケージを使用します。 これらのヘルパークラスは、jsreport.Clientを介してローカルのJSReportインスタンスまたはリモートインスタンスへの接続を支援します。

2.1.3 出力変換

開発者は、出力変換のためにJSReportのレシピを簡単に指定できます。 例えば、MiddlewareFilterChromePdfレシピを使用すると、ASP.NETフィルターがビューのレンダリング結果をキャプチャし、それをPDF形式に変換します。 この機能は特にASP.NETベースのアプリケーションに便利です。

2.1.4 リモートインスタンスの互換性

JSReport .NETはリモートJSReportインスタンスとシームレスに統合します。 これは、JSReportが別のコンテナで実行されているオーケストレーションされたDocker環境で特に有利です。 このような統合は、Docker-composeなどのツールを使用してJSReportと.NET Coreアプリをオーケストレーションすることを容易にします。

2.1.5 高度な応答処理

OnAfterRenderフックは、応答ヘッダやその他の属性の操作を可能にします。 このフックは、レポート生成プロセスからの応答を処理するために、出力をファイルに保存することにも使用できます。

2.1.6 カスタムヘッダー

JSReport .NETは、部分ビューを通じてカスタムPDFヘッダーを指定することを可能にします。 これらのヘッダーは、メインのPDFコンテンツとともに実行時にレンダリングされ、レポート生成のカスタマイズオプションを追加提供します。

2.1.7 MVCビューを使用しないレンダリング

フレームワークは、MVCビューだけでなく、生のHTMLからのレポートのレンダリングをサポートします。 この機能は、レポート生成プロセスにおいてより大きな柔軟性を提供し、開発者がHTMLコンテンツを直接レンダリングすることを可能にします。

3. IronPDF

IronPDFは、PDFの操作をより簡単にすることを目的とした.NETアプリ向けの便利なライブラリです。 その主な機能のひとつは、HTMLからPDFへの変換で、ウェブページからのレポートや請求書の生成に最適です。 サーバーサイドおよびクライアントサイド両方のアプリケーションで効率的に動作し、ビジネスプロジェクトや個人使用に適しています。

IronPDFは、多くの異なる.NET環境(ASP.NET、MVC、Windowsフォーム、WPFなど)に統合され、.NET CoreおよびFrameworkの両方でスムーズに動作します。 また、Azureやその他のクラウドサービスもサポートしており、クラウドベースのアプリ開発にとって大きなプラスです。

3.1 IronPDFの主な特徴

3.1.1 HTMLからPDFへの変換

IronPDFは、HTMLをPDF文書に変換するのに優れています。 HTML、CSS、JavaScript、画像をシームレスに処理し、最終的なPDFにウェブコンテンツが正しく表示されることを保証します。 変換は元のHTMLのレイアウトとスタイルを保持します。

3.1.2 ASP.NET統合

ASP.NETとの統合はシームレスで、ASPXページをPDFに変換するのに広範なコーディングを必要としません。 これは、既存のウェブアプリからPDFを作成するために特に有用です。

3.1.3 編集と操作

IronPDFを使用すると、既存のPDFファイルを編集できます。例えば、テキスト、画像、ページを追加したり、複数のPDFを結合したりすることができます。 編集機能はユーザーフレンドリーで、使用するためにPDFの専門知識は必要ありません。 注釈を追加したり、添付ファイルアウトラインおよびしおりをPDFに追加することもできます。

3.1.4 フォームの記入と抽出

IronPDFは、PDFフォームからのデータの記入と抽出をサポートしており、フォームを扱うアプリにとって不可欠です。 IronPDFはフォームデータの管理プロセス全体をスムーズにし、さまざまなタイプのPDFフォームを処理でき、その柔軟性を高めます。

3.1.5 セキュリティ機能

IronPDFにはパスワード保護やPDF文書の権限設定などのセキュリティ機能が含まれており、機密情報を安全に保護するために重要です。 PDFのためのセキュリティを一層する暗号化・復号化機能も含まれています。

3.1.6 カスタマイズ可能なレンダリング

PDFのレンダリング方法を広範に制御することができ、カスタムヘッダーとフッターの設定、ページ余白の調整、特定のHTML部分の選択などが可能です。 このカスタマイズにより、PDFが希望通りに仕上がります。

3.1.7 高度なPDF機能

IronPDFはPDF/A準拠デジタル署名、OCR機能をサポートしており、スキャンした文書や画像を検索可能で編集可能なPDFに変換できます。 これらの機能はより複雑なプロジェクトに最適です。

3.1.8 簡単なデプロイ

IronPDFのセットアップは簡単です。 追加のインストールや依存関係は必要ありません。 アプリケーションのパフォーマンスに悪影響を及ぼさないよう、軽量化されています。 さらに、最新 for .NET技術に合わせて定期的に更新され、常に関連性のあるPDFソリューションを提供します。

4. .NETプロジェクトの作成

4.1 新しいプロジェクトの開始

Visual Studioを開き、"新しいプロジェクトを作成"ボタンをクリックして新しいプロジェクトを開始します。

Jsreport とIronPDFの比較: 図 1 - プロジェクトの作成

次に、"コンソールアプリ"、".NET Coreアプリ"、またはお好みのオプションを選択してください。

Jsreport とIronPDFの比較: 図 2 - 個別のプロジェクト - コンソール アプリ

4.2 プロジェクトのセットアップ

プロジェクトに名前を付ける必要があります。 プロジェクト名を入力するためのテキストボックスを見つけて、希望する名前を入力してください。 プロジェクトを保存する場所を選択し、保存したいパスを選択してください。 これらの詳細を入力したら、"作成"ボタンをクリックして次へ進みます。

Jsreport とIronPDFの比較: 図 3 - プロジェクト構成

4.3 .NETフレームワークの選択

次のステップはプロジェクトに必要な.NETフレームワークを選択することです。 この選択はプロジェクトの要件と互換性に依存します。 その後、"作成"ボタンをクリックします。

Jsreport とIronPDFの比較: 図 4 - フレームワークの選択

5. IronPDF ライブラリをインストール

5.1 NuGet パッケージマネージャを使用する

Visual Studio NuGet パッケージマネージャーを使用してIronPDFをインストールする手順は次の通りです:

  • Visual Studioでプロジェクトを開きます。
  • "ツール"メニューをクリックし、"NuGetパッケージマネージャー"を選択した後、"ソリューションのNuGetパッケージの管理"を選択します。

    Jsreport とIronPDFの比較: 図 5 - NuGetパッケージ マネージャー

  • NuGet パッケージマネージャーで"参照"タブをクリックします。
  • "IronPDF"を検索します。
  • IronPDF パッケージを見つけたら、それを選択し、"インストール"ボタンをクリックします。

    Jsreport とIronPDFの比較: 図 6 - IronPDF のインストール

  • インストールを完了するために、プロンプトに従います。

5.2 Visual Studio コマンドラインの使用

コマンドラインを使用したい場合は、以下の手順でVisual StudioにIronPDFをインストールできます:

  • Visual Studioを開きます。
  • "ツール"メニューに移動し、"NuGetパッケージマネージャー"の上にマウスを乗せ、サイドメニューから"パッケージマネージャーコンソール"を選択します。
  • コンソールで次のコマンドを入力します:

    Install-Package IronPdf
  • コマンドを実行するためにEnterを押し、インストールが完了するまで待ちます。

    Jsreport とIronPDFの比較: 図 7 - IronPDF のインストール

5.3 NuGetウェブページからの直接ダウンロード

IronPDFはNuGetウェブサイトから直接ダウンロードすることもできます:

  • NuGetの公式ウェブサイトにアクセスします。
  • 検索バーを使用してIronPDFパッケージを見つけます。

    Jsreport とIronPDFの比較: 図 8 - IronPDFパッケージ

  • IronPDFパッケージページでは、パッケージを直接ダウンロードするオプションが表示されます。
  • .nupkgファイルをダウンロードし、手動でプロジェクトに追加します。

    Jsreport とIronPDFの比較: 図 9 - .nupkg のダウンロード

6. JSReportのインストール

6.1 Visual StudioのNuGetパッケージマネージャーを使用する

Visual StudioのNuGetパッケージマネージャーを使用してJSReportを実行するには、"ツール"メニューに移動して"NuGetパッケージの管理"を選択します。 これにより、NuGetパッケージマネージャーインターフェースが開きます。 NuGetパッケージマネージャーで、プロジェクトの要件に応じてjsreport.Localまたはjsreport.Binaryを検索できます。

Jsreport とIronPDFの比較: 図 10 - jsreport.Binary

これらは、JSReportを.NETアプリケーションに統合するための主要なパッケージです。 適切なパッケージを見つけたら、"インストール"をクリックしてプロジェクトに追加します。 このプロセスにより、パッケージが自動的にダウンロードおよび参照され、使用できる状態になります。

6.2 NuGetパッケージマネージャーコンソールの使用

代わりに、Visual StudioのNuGetパッケージマネージャーコンソールを使用してJSReportをインストールできます。 "ツール"メニューから"NuGetパッケージマネージャー"を選択し、"パッケージマネージャーコンソール"を開きます。

Jsreport とIronPDFの比較: 図 11 - パッケージ マネージャー コンソール

コンソールで、JSReportパッケージをインストールするための特定のコマンドを実行する必要があります。 強調表示されたjsreport.Localパッケージをインストールするには、コマンドInstall-Package jsreport.Localを使用します。 強調表示されたjsreport.Binaryパッケージの場合、コマンドはInstall-Package jsreport.Binaryになります。 これらのコマンドをパッケージマネージャーコンソールで実行すると、対応するJSReportパッケージがプロジェクトにダウンロードされ追加されます。

Jsreport とIronPDFの比較: 図 12 - jsreport.Local のインストール

7. IronPDFとJSReportのHTMLからPDF機能の比較

IronPDFは、使いやすさと高性能で認識されるHTMLからPDFへの変換のためのトップライブラリです。 CSSレンダリング、JavaScript実行、カスタムヘッダーおよびフッターなどの高度な機能をサポートしており、HTMLソースから優れたPDFを生成する能力を高めています。 IronPDFはHTMLからPDFへの変換に3つの方法を提供します:

  1. HTML文字列からPDFへ
  2. HTMLファイルからPDFへ
  3. URLからPDF

これらのメソッドについて個別に説明しましょう。

7.1.1 HTML文字列からPDFへ

この機能を使用すると、文字列からHTMLコンテンツを直接変換でき、特にアプリケーション内で動的に生成または変更されたHTMLコンテンツに便利です。 HTML文字列をIronPDFに渡すことで、PDFとしてレンダリングされます。

using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// HTML string to be converted
string htmlString = @"
<html>
    <head>
        <title>Example HTML</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
        <p>This is an HTML string converted to PDF using IronPDF.</p>
    </body>
</html>";

// Convert HTML string to PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);

// Save the rendered PDF document
pdfDocument.SaveAs("HtmlStringToPdf.pdf");
using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// HTML string to be converted
string htmlString = @"
<html>
    <head>
        <title>Example HTML</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
        <p>This is an HTML string converted to PDF using IronPDF.</p>
    </body>
</html>";

// Convert HTML string to PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);

// Save the rendered PDF document
pdfDocument.SaveAs("HtmlStringToPdf.pdf");
Imports IronPdf

' Initialize the ChromePdfRenderer
Private renderer = New ChromePdfRenderer()

' License key setup
IronPdf.License.LicenseKey = "Your-License-Key"

' HTML string to be converted
Dim htmlString As String = "
<html>
    <head>
        <title>Example HTML</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
        <p>This is an HTML string converted to PDF using IronPDF.</p>
    </body>
</html>"

' Convert HTML string to PDF
Dim pdfDocument = renderer.RenderHtmlAsPdf(htmlString)

' Save the rendered PDF document
pdfDocument.SaveAs("HtmlStringToPdf.pdf")
$vbLabelText   $csharpLabel

7.1.2 HTMLファイルをPDFへ

IronPDFが指定されたURLからウェブページを読み込み、レイアウトとコンテンツをできるだけ維持した形でPDF文書に変換します。 HTMLファイルのパスを提供すると、IronPDFが変換を処理します。

using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// Convert HTML file to PDF
var pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html");

// Save the PDF document
pdfDocument.SaveAs("Invoice.pdf");
using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// Convert HTML file to PDF
var pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html");

// Save the PDF document
pdfDocument.SaveAs("Invoice.pdf");
Imports IronPdf

' Initialize the ChromePdfRenderer
Private renderer = New ChromePdfRenderer()

' License key setup
IronPdf.License.LicenseKey = "Your-License-Key"

' Convert HTML file to PDF
Dim pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html")

' Save the PDF document
pdfDocument.SaveAs("Invoice.pdf")
$vbLabelText   $csharpLabel

7.1.3 PDFへのURL

この機能は、URLを使用してウェブページ全体をPDFに変換します。ウェブページの現在の状態をキャプチャする際に便利で、スタイリング、画像、およびその他のリソースを含みます。 C#での典型的な実装は以下のようになることがあります:

using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// Set the Paper Size
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;

// Convert webpage to PDF
var pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/");

// Save the PDF document
pdfDocument.SaveAs("UrlToPdf.pdf");
using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// Set the Paper Size
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;

// Convert webpage to PDF
var pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/");

// Save the PDF document
pdfDocument.SaveAs("UrlToPdf.pdf");
Imports IronPdf

' Initialize the ChromePdfRenderer
Private renderer = New ChromePdfRenderer()

' License key setup
IronPdf.License.LicenseKey = "Your-License-Key"

' Set the Paper Size
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2

' Convert webpage to PDF
Dim pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/")

' Save the PDF document
pdfDocument.SaveAs("UrlToPdf.pdf")
$vbLabelText   $csharpLabel

7.2 JSReport C# HTMLからPDFへの変換

JSReportでHTMLをPDFに変換するプロセスには、通常、JSReportサーバーの設定またはオンラインAPIの使用を含むいくつかのステップがあります。 C#での一般的な実装は次のようになります:

using JsReport.AspNetCore;
using JsReport.Types;
using System.Threading.Tasks;

public async Task<IActionResult> GeneratePdf()
{
    var report = new LocalReporting()
                 .UseBinary(JsReportBinary.GetBinary())
                 .AsUtility()
                 .Create();

    var reportResult = await report.RenderAsync(new RenderRequest()
    {
        Template = new Template()
        {
            Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
            Engine = Engine.None,
            Recipe = Recipe.ChromePdf
        },
        Options = new RenderOptions()
        {
            Debug = new DebugOptions() { Preview = true }
        }
    });

    var stream = new MemoryStream();
    reportResult.Content.CopyTo(stream);
    stream.Position = 0;
    return File(stream, "application/pdf", "Report.pdf");
}
using JsReport.AspNetCore;
using JsReport.Types;
using System.Threading.Tasks;

public async Task<IActionResult> GeneratePdf()
{
    var report = new LocalReporting()
                 .UseBinary(JsReportBinary.GetBinary())
                 .AsUtility()
                 .Create();

    var reportResult = await report.RenderAsync(new RenderRequest()
    {
        Template = new Template()
        {
            Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
            Engine = Engine.None,
            Recipe = Recipe.ChromePdf
        },
        Options = new RenderOptions()
        {
            Debug = new DebugOptions() { Preview = true }
        }
    });

    var stream = new MemoryStream();
    reportResult.Content.CopyTo(stream);
    stream.Position = 0;
    return File(stream, "application/pdf", "Report.pdf");
}
Imports JsReport.AspNetCore
Imports JsReport.Types
Imports System.Threading.Tasks

Public Async Function GeneratePdf() As Task(Of IActionResult)
	Dim report = (New LocalReporting()).UseBinary(JsReportBinary.GetBinary()).AsUtility().Create()

	Dim reportResult = Await report.RenderAsync(New RenderRequest() With {
		.Template = New Template() With {
			.Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
			.Engine = Engine.None,
			.Recipe = Recipe.ChromePdf
		},
		.Options = New RenderOptions() With {
			.Debug = New DebugOptions() With {.Preview = True}
		}
	})

	Dim stream = New MemoryStream()
	reportResult.Content.CopyTo(stream)
	stream.Position = 0
	Return File(stream, "application/pdf", "Report.pdf")
End Function
$vbLabelText   $csharpLabel
  • Bootstrap 4: 完全なカードシステム、ナビゲーション、フォームコンポーネント

コード例:Bootstrapによる特徴比較テーブル

BootstrapのようなCSSフレームワークで構築された現代のWebアプリケーションは、フレームワークのレイアウトとレスポンシブデザイン要素を正確に保持するPDF生成ツールを必要とします。

IronPDF: 完全なBootstrapとフレームワークのサポート

IronPDFのChromiumレンダリングエンジンは、すべてのモダンなCSSフレームワークに対する包括的なサポートを提供します。

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

プロダクション例で検証済み:BootstrapホームページBootstrapテンプレートはピクセルパーフェクトの正確さで変換されます。

コード例:Bootstrapを使った機能比較テーブル

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapComparison = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Feature Comparison</h1>

        <div class='table-responsive'>
            <table class='table table-bordered table-hover'>
                <thead class='table-primary'>
                    <tr>
                        <th style='width: 30%'>Feature</th>
                        <th style='width: 35%' class='text-center'>IronPDF</th>
                        <th style='width: 35%' class='text-center'>Alternative</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><strong>HTML5 Support</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Modern web standards</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Basic HTML only</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>CSS3 & Flexbox</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Chromium engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>Limited</span>
                            <p class='text-muted small mb-0 mt-2'>No flexbox/grid</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>JavaScript Execution</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>V8 engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Limited execution</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>Bootstrap 5</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>All components</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>No Support</span>
                            <p class='text-muted small mb-0 mt-2'>Bootstrap 3 only</p>
                        </td>
                    </tr>
                    <tr class='table-secondary'>
                        <td><strong>Deployment</strong></td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-primary'>On-Premises</span>
                                <span class='badge bg-primary'>Cloud</span>
                                <span class='badge bg-primary'>Offline</span>
                            </div>
                        </td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-secondary'>Server Only</span>
                            </div>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>

        <div class='alert alert-info mt-4 d-flex align-items-start'>
            <svg class='bi flex-shrink-0 me-2 mt-1' width='20' height='20'></svg>
            <div>
                <strong>Note:</strong> IronPDF's Chromium engine ensures that modern web applications convert to PDF with browser-accurate fidelity, preserving all CSS frameworks and responsive designs.
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapComparison);
pdf.SaveAs("feature-comparison.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapComparison = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Feature Comparison</h1>

        <div class='table-responsive'>
            <table class='table table-bordered table-hover'>
                <thead class='table-primary'>
                    <tr>
                        <th style='width: 30%'>Feature</th>
                        <th style='width: 35%' class='text-center'>IronPDF</th>
                        <th style='width: 35%' class='text-center'>Alternative</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><strong>HTML5 Support</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Modern web standards</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Basic HTML only</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>CSS3 & Flexbox</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Chromium engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>Limited</span>
                            <p class='text-muted small mb-0 mt-2'>No flexbox/grid</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>JavaScript Execution</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>V8 engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Limited execution</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>Bootstrap 5</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>All components</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>No Support</span>
                            <p class='text-muted small mb-0 mt-2'>Bootstrap 3 only</p>
                        </td>
                    </tr>
                    <tr class='table-secondary'>
                        <td><strong>Deployment</strong></td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-primary'>On-Premises</span>
                                <span class='badge bg-primary'>Cloud</span>
                                <span class='badge bg-primary'>Offline</span>
                            </div>
                        </td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-secondary'>Server Only</span>
                            </div>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>

        <div class='alert alert-info mt-4 d-flex align-items-start'>
            <svg class='bi flex-shrink-0 me-2 mt-1' width='20' height='20'></svg>
            <div>
                <strong>Note:</strong> IronPDF's Chromium engine ensures that modern web applications convert to PDF with browser-accurate fidelity, preserving all CSS frameworks and responsive designs.
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapComparison);
pdf.SaveAs("feature-comparison.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

Dim bootstrapComparison As String = "
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Feature Comparison</h1>

        <div class='table-responsive'>
            <table class='table table-bordered table-hover'>
                <thead class='table-primary'>
                    <tr>
                        <th style='width: 30%'>Feature</th>
                        <th style='width: 35%' class='text-center'>IronPDF</th>
                        <th style='width: 35%' class='text-center'>Alternative</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><strong>HTML5 Support</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Modern web standards</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Basic HTML only</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>CSS3 & Flexbox</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Chromium engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>Limited</span>
                            <p class='text-muted small mb-0 mt-2'>No flexbox/grid</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>JavaScript Execution</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>V8 engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Limited execution</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>Bootstrap 5</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>All components</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>No Support</span>
                            <p class='text-muted small mb-0 mt-2'>Bootstrap 3 only</p>
                        </td>
                    </tr>
                    <tr class='table-secondary'>
                        <td><strong>Deployment</strong></td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-primary'>On-Premises</span>
                                <span class='badge bg-primary'>Cloud</span>
                                <span class='badge bg-primary'>Offline</span>
                            </div>
                        </td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-secondary'>Server Only</span>
                            </div>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>

        <div class='alert alert-info mt-4 d-flex align-items-start'>
            <svg class='bi flex-shrink-0 me-2 mt-1' width='20' height='20'></svg>
            <div>
                <strong>Note:</strong> IronPDF's Chromium engine ensures that modern web applications convert to PDF with browser-accurate fidelity, preserving all CSS frameworks and responsive designs.
            </div>
        </div>
    </div>
</body>
</html>"

Dim pdf = renderer.RenderHtmlAsPdf(bootstrapComparison)
pdf.SaveAs("feature-comparison.pdf")
$vbLabelText   $csharpLabel

出力: Bootstrap のテーブル スタイル、バッジ、レスポンシブ レイアウト、アラート コンポーネントを備えたプロフェッショナルな機能比較表がすべて PDF で正確にレンダリングされます。

JSReport .NET: テンプレートベースで限られたBootstrapサポート

JSReportは、選択したレシピに応じて異なるレンダリングエンジンを使用したテンプレートベースのアプローチを採用しています:

  • Chrome PDFレシピ: Puppeteer/Headless Chromeを使用し、Bootstrapのサポートが良好です
  • Phantom JS レシピ:限定的な最新 CSS サポートを備えたレガシー WebKit エンジン
  • wkhtmltopdf レシピ: Qt WebKit エンジン (古い、フレックスボックス/グリッドなし) -テンプレートの複雑さ: JSReport テンプレート構文の学習が必要 -サーバー依存性: JSReport サーバーのインストールと管理が必要です

Bootstrap を使用した JSReport に関する重要な考慮事項: -レシピの選択: Bootstrapのサポートはレシピの選択によって大きく異なります

  • Chrome PDFレシピ: Bootstrapに最適なオプションですが、複雑さと依存関係が追加されます -テンプレートの学習曲線: Handlebars/JSRender テンプレート構文を学習する必要があります -サーバー管理: JSReport サーバーインスタンスの維持管理が必要 -ワークフローの複雑さ:複数ステップのテンプレート → データ → レンダリング プロセス

開発への影響: JSReport の Chrome PDF レシピは Bootstrap を適切に処理できますが、全体的な複雑さは高くなります。

  1. レシピの構成の複雑さ vsわかりやすいAPI
  2. サーバーインフラ要件 vs プロセス内ライブラリ
  3. テンプレート構文の学習曲線 vs 標準HTML
  4. レシピ設定の複雑さ vs 単純なAPI

Bootstrapサポートを備えたシンプルなHTMLからPDFへの変換を必要とするアプリケーションの場合、IronPDFの直接的なアプローチは、統合の簡素化と構成要素の削減を提供します。

Bootstrapフレームワークのベストプラクティスについては、Bootstrap & Flexbox CSSガイドを参照してください。

8. 柔軟性と高度な機能

8.1 IronPDFの高度な機能とカスタマイズ

IronPDFは、その高度な機能と高いカスタマイズ性で際立っており、さまざまなPDF操作ニーズに対応しています。 主な高度な機能には次が含まれます:

PDF/A準拠

IronPDFはPDF/A形式をサポートしており、長期保存と業界標準への準拠に不可欠です。 この機能は、より大きなドキュメントを分割して配布しやすくしたり、異なる文書の異なるセクションを組み合わせる場面で特に便利です。

using IronPdf;

// Create a PdfDocument object or open any PDF File
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
using IronPdf;

// Create a PdfDocument object or open any PDF File
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
Imports IronPdf

' Create a PdfDocument object or open any PDF File
Private pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")

' Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3)
$vbLabelText   $csharpLabel

PDFの編集、結合、および分割

IronPDFは、既存のPDFの編集、複数のPDFを1つに結合、PDFを別々のドキュメントに分割することを許可します。 この機能は、大規模なドキュメントを分割して配布しやすくしたり、さまざまな文書の異なるセクションを組み合わせたりする必要があるシナリオで特に役立ちます。

セキュリティ機能

IronPDFには、パスワード保護、暗号化、ユーザー権限の設定機能など、堅牢なセキュリティ機能が含まれています。 IronPDFはPDFファイルの暗号化をサポートしており、追加のセキュリティレイヤーを追加し、コンテンツが変更されたりコピーされたりするのを防ぎます。

using IronPdf;

// Open a PDF File
var pdfDoc = PdfDocument.FromFile("invoice.pdf");

// Make a PDF read-only and disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption();
pdfDoc.SecuritySettings.AllowUserAnnotations = false;
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = false;
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdfDoc.SecuritySettings.AllowUserFormData = false;

// Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen"; // password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare"; // password to open the pdf

// Save the protected PDF
pdfDoc.SaveAs("InvoiceProtected.pdf");
using IronPdf;

// Open a PDF File
var pdfDoc = PdfDocument.FromFile("invoice.pdf");

// Make a PDF read-only and disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption();
pdfDoc.SecuritySettings.AllowUserAnnotations = false;
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = false;
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdfDoc.SecuritySettings.AllowUserFormData = false;

// Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen"; // password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare"; // password to open the pdf

// Save the protected PDF
pdfDoc.SaveAs("InvoiceProtected.pdf");
Imports IronPdf

' Open a PDF File
Private pdfDoc = PdfDocument.FromFile("invoice.pdf")

' Make a PDF read-only and disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption()
pdfDoc.SecuritySettings.AllowUserAnnotations = False
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = False
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdfDoc.SecuritySettings.AllowUserFormData = False

' Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen" ' password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare" ' password to open the pdf

' Save the protected PDF
pdfDoc.SaveAs("InvoiceProtected.pdf")
$vbLabelText   $csharpLabel

ヘッダーとフッターの制御

開発者はPDF文書にカスタムヘッダーとフッターを簡単に追加でき、プロフェッショナルな報告書、請求書、その他のビジネス文書には欠かせません。 これにはページ番号、日付、およびカスタムテキストの追加機能が含まれます。

PDFから画像への変換

IronPDFはPDFページを画像に変換することができます。 この機能は、WebアプリケーションでPDFコンテンツを画像として表示したり、サムネイルを生成したりする必要があるシナリオで特に役立ちます。

using IronPdf;
using IronSoftware.Drawing;

// Load the PDF document
var pdf = PdfDocument.FromFile("Example.pdf");

// Extract all pages to a folder as PNG image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");

// Extract specific dimensions or page ranges
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);

// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
using IronPdf;
using IronSoftware.Drawing;

// Load the PDF document
var pdf = PdfDocument.FromFile("Example.pdf");

// Extract all pages to a folder as PNG image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");

// Extract specific dimensions or page ranges
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);

// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
Imports IronPdf
Imports IronSoftware.Drawing

' Load the PDF document
Private pdf = PdfDocument.FromFile("Example.pdf")

' Extract all pages to a folder as PNG image files
pdf.RasterizeToImageFiles("C:\image\folder\*.png")

' Extract specific dimensions or page ranges
pdf.RasterizeToImageFiles("C:\image\folder\example_pdf_image_*.jpg", 100, 80)

' Extract all pages as AnyBitmap objects
Dim pdfBitmaps() As AnyBitmap = pdf.ToBitmap()
$vbLabelText   $csharpLabel

8.2 JSReport .NETの高度な機能と拡張性

JSReport .NETは、その高度な機能と拡張性で知られており、レポート生成において多用途なツールです。 その主な機能には次が含まれます:

動的レポート生成

HandlebarsやEJSなど、さまざまなテンプレートエンジンをサポートしており、複雑で柔軟なレポートデザインを容易にします。 このマルチエンジン互換性は、レポート作成におけるさまざまな要件や複雑さに応じた幅広いデザイン可能性を提供します。

var report = new LocalReporting()
    .UseBinary(JsReportBinary.GetBinary())
    .RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport"))
    .KillRunningJsReportProcesses()
    .Configure(cfg => cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory())
    .AsUtility()
    .Create();

var reportResult = await report.RenderAsync(new RenderRequest()
{
    Template = new Template()
    {
        Content = "{{{message}}}",
        Engine = Engine.Handlebars,
        Recipe = Recipe.ChromePdf
    },
    Data = new
    {
        message = "PDF Generation with JSReport .NET"
    }
});
var report = new LocalReporting()
    .UseBinary(JsReportBinary.GetBinary())
    .RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport"))
    .KillRunningJsReportProcesses()
    .Configure(cfg => cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory())
    .AsUtility()
    .Create();

var reportResult = await report.RenderAsync(new RenderRequest()
{
    Template = new Template()
    {
        Content = "{{{message}}}",
        Engine = Engine.Handlebars,
        Recipe = Recipe.ChromePdf
    },
    Data = new
    {
        message = "PDF Generation with JSReport .NET"
    }
});
Dim report = (New LocalReporting()).UseBinary(JsReportBinary.GetBinary()).RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport")).KillRunningJsReportProcesses().Configure(Function(cfg) cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory()).AsUtility().Create()

Dim reportResult = Await report.RenderAsync(New RenderRequest() With {
	.Template = New Template() With {
		.Content = "{{{message}}}",
		.Engine = Engine.Handlebars,
		.Recipe = Recipe.ChromePdf
	},
	.Data = New With {Key .message = "PDF Generation with JSReport .NET"}
})
$vbLabelText   $csharpLabel

テンプレートエンジン

JSReport .NETは、日次や月次の要約のような定期的なレポートニーズに最適なレポート生成のスケジューリングと自動化機能を提供します。 この機能により、タイムリーなレポートの配信が保証され、イベントトリガーされたレポートに対してビジネスワークフローと統合できます。

カスタムスクリプトによる拡張性

JSReport C#は、カスタムスクリプトによる機能の拡張を可能にし、カスタムデータ処理や専門的なフォーマットなどの機能を強化します。 この拡張性は、特定のビジネスロジックやデータ操作要件に合わせたレポートを作成するために重要です。

9. サポート

9.1 IronPDFのドキュメントの質と可用性

IronPDFのドキュメントは包括的で使いやすく、初心者と経験豊富な開発者の両方に対応しています。 詳細なガイド、APIリファレンス、そして豊富なコード例が含まれており、開発者がC#やNodeなどの複数の言語でライブラリの機能を理解し実装するのを容易にします。

ドキュメントは適切に構成されており、定期的に更新され、最新の機能とベストプラクティスを反映しています。 さらに、IronPDFのウェブサイトは、PDF操作に初めて取り組む人々に特に役立つクイックスタートガイドやFAQを提供しています。

IronPDFには、そのコードをダウンロードせずにオンラインでIronPDFの機能を試すことができるオンラインプレイグラウンドもあります。 以下のリンクを使用して探索してください。

9.1.1 サポートオプション

IronPDFは、問い合わせや技術的な問題を処理するための専任サポートチームを含む、いくつかのサポートオプションを提供しています。 彼らはメールサポートを提供し、開発者フォーラムに積極的に参加して、解決策やアドバイスを提供しています。また、ウェブサイトのライブサポートオプションを使用して、ライブサポートエージェントに連絡することもできます。

9.2 JSReport .NET ドキュメントの品質と可用性

JSReport .NETは、その広範でよく維持されたドキュメントに誇りを持っています。 ドキュメントは、基本設定から高度な使用シナリオまで、コードスニペットや実装例を含む幅広いトピックをカバーしています。 論理的に整理されているため、ナビゲートしやすく、関連情報を見つけるのが簡単です。 オンラインリソースには、開発者がツールの機能に関する詳細情報にアクセスできるように、包括的なAPIリファレンスも含まれています。

9.2.1 サポートオプション

JSReport .NETは、さまざまなサポートオプションを提供しています。 彼らは専任のサポートチームがあり、メールで連絡でき、GitHubに活発なプレゼンスを維持して問題報告や機能リクエストのためのプラットフォームを提供しています。

10. ライセンスモデル

10.1 IronPDFのライセンス

Jsreport とIronPDFの比較: 図 16 - ライセンス

IronPDFは異なる価格オプションを3つ提供しており、さまざまな使用レベルと予算要件に対応しています。

Liteエディション: $999で、クラウド展開のための一回限りの料金です。 これはPDF処理を始めたばかりの小規模プロジェクトやチーム向けに設計されています。

Professionalエディション: $1,499で、同様にクラウド展開のための一回限りの料金であり、より高度な機能と能力を必要とするプロフェッショナル開発者に適しています。

Unlimitedエディション: 最も包括的なパッケージで、$2,399であり、クラウド展開のための一回限りの料金です。 これは大規模な企業利用に最適で、広範な機能を提供し、使用に制限がありません。

10.2 JSReport .NETライセンス

Jsreport とIronPDFの比較: 図 17 - JSReport のライセンス

JSReport .NETは、柔軟なライセンスオプションを提供しており、サブスクリプションベースと永続ライセンスの両方が含まれています:

無料ライセンス:最大 5 つのレポート テンプレートに制限されたフル機能のインスタンスを提供します。 ライセンスキーは不要で、小規模プロジェクトや評価目的に適しています。

エンタープライズ サブスクリプション:年間 395 ドルのこのプランでは、制限のないフル機能の単一の JSReport インスタンスが提供され、アップデートも含まれます。 これは、堅牢なレポートソリューションが必要な個々の企業に最適です。

エンタープライズ スケール サブスクリプション:年間 1,295 ドルのこのプランは大規模な展開に最適で、無制限の数のインスタンスに対して有効な単一のライセンス キーを提供します。 このプランにはアップデートが含まれ、ロイヤリティフリーであるため、複数のインスタンスを運用する組織や、他の製品の一部として複数の顧客に展開する場合に適しています。

結論として、IronPDFとJSReport .NETはそれぞれの分野で価値がありますが、IronPDFは包括的なPDF操作機能によりわずかに優れています。 PDF/A準拠、高度な編集、セキュリティ機能などの分野で優れており、.NET環境における詳細なPDF処理により柔軟なツールです。 JSReport .NETは、動的なレポート生成やテンプレート化に強みがあり、レポート中心のタスクに非常に効果的です。 ただし、詳細で多様なPDF処理と操作が必要なほとんどのシナリオでは、IronPDFがより有利な選択肢として浮上します。

IronPDFは無料の開発者ライセンスと無料トライアルを提供しています。 Iron Softwareは、Iron Suiteとして知られる包括的なパッケージを提供しています。IronBarcodeIronXLIronQRIronOCRIronPDFIronWebScraperを含むこのスイートは、2つのソフトウェアの価格で提供され、幅広い機能を求める開発者にとって大きな価値をもたらします。

最終的に、この2つのどちらを選ぶかは、プロジェクトや開発者の特定のニーズと環境に依存します。

ご注意JSReport SDK はそれぞれの所有者の登録商標です。 このサイトは、JSReport SDKと提携しているわけでも、JSReport SDKが支持しているわけでも、JSReport SDKがスポンサーしているわけでもありません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

よくある質問

どのようにして.NETアプリケーションでHTMLをPDFに変換できますか?

IronPDF の RenderHtmlAsPdf メソッドを使用して、HTML 文字列を PDF ドキュメントに変換できます。さらに、IronPDF は RenderHtmlFileAsPdf メソッドを使用して、HTML ファイル全体を PDF に変換することもサポートしています。

ASP.NET 統合に IronPDF を使用する利点は何ですか?

IronPDF は ASP.NET とシームレスに統合し、開発者が最小限のコーディングで ASPX ページを PDF に変換できるようにします。この統合は、既存の Web アプリケーションから PDF レポートを生成するのに特に有益です。

IronPDF は PDF のセキュリティ機能に対応していますか?

はい、IronPDF には、パスワード保護、暗号化、PDF ドキュメントへの権限設定などの強力なセキュリティ機能が含まれており、機密情報を保護する上で重要です。

IronPDF が HTML から PDF への変換に適している理由は何ですか?

IronPDF は使いやすさと HTML から PDF への変換における高性能で知られています。CSS のレンダリング、JavaScript の実行、カスタムヘッダーやフッターなどの高度な機能をサポートしています。

JSReport SDK .NET Core 向け の主な機能は何ですか?

JSReport SDK .NET Core 向け は、MVC ビューの出力を変換するためのミドルウェアフィルタ、リモートインスタンスとの互換性、OnAfterRender フックによる高度な応答処理、そして生の HTML からのレポートのレンダリング能力などの機能を提供します。

JSReport はテンプレートを活用してレポート生成をどのように強化しますか?

JSReport は複雑で柔軟なレポートデザインを可能にするさまざまなテンプレートエンジンをサポートしています。また、正規のレポート生成を自動化するためのスケジューリングやオートメーションの機能を提供し、生産性を向上させます。

Docker 環境で JSReport を使用する利点は何ですか?

JSReport .NET はリモート JSReport インスタンスと効果的に統合されており、JSReport が別々のコンテナで実行される Docker 環境において、このセットアップは .NET Core アプリケーションとの効率的なオーケストレーションを促進します。

IronPDFのライセンスオプションはどのようになっていますか?

IronPDF は、さまざまなプロジェクトニーズに応じたライセンスオプションを提供しています。小規模プロジェクト向けに Lite Edition、より高度な機能に対応する Professional Edition、大規模エンタープライズ用途に向けた Unlimited Edition があります。

Curtis Chau
テクニカルライター

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

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

アイアンサポートチーム

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