このページには自動翻訳されたテキストを含めることができます。

.NET 向け HTML から PDF への変換

Docotic.Pdf ライブラリを使用して HTML を PDF に変換できます。ライブラリに含まれる無料の HtmlToPdf アドオンを使うと、HTML、SVG、WEBP、その他の Web 形式を PDF に変換できます。

このガイドでは、アドオンが提供する HTML から PDF への機能の概要を説明し、各トピックの詳細ページへのリンクも含めています。

HTML から PDF へ変換するライブラリ内部の処理を示す図。HTML ドキュメントがライブラリに入力され、そこで PDF 出力が生成されます。

C# における HTML から PDF への基本

必要なのは、HtmlToPdf アドオン、変換コード、ライセンス キーです。まずは無料の試用キーから始められます。

NuGet からアドオンをインストールする

Install-Package BitMiracle.Docotic.Pdf.HtmlToPdf

これは、依存関係と更新を自動的に処理するため、推奨される方法です。Docotic.Pdf のバイナリを含む zip から手動でアドオンをインストールすることもできますが、より複雑でエラーが発生しやすくなります。

ライセンスキーを取得する

ライブラリを試すには、Docotic.Pdf の ダウンロード ページ から無料の期限付きライセンス キーを取得してください。すでにライセンスを購入済みの場合は、購入後に提供されたコードを使用してください。

Docotic.Pdf のすべてのライセンスには HTML から PDF への機能が含まれています。アドオンを使用するために追加のライセンスを購入する必要はありません。

変換コードを追加する

BitMiracle.Docotic.LicenseManager.AddLicenseData("PUT-LICENSE-HERE");

using var converter = await HtmlConverter.CreateAsync();
var html = "<h1>Hello, World<h1>";
using var pdf = await converter.CreatePdfFromStringAsync(html);
pdf.Save("output.pdf");

コードでは、AddLicenseData メソッド呼び出し内のプレースホルダー値を有効なライセンス キーに置き換えてください。

コードを実行する

この変換コードは、文字列内の HTML コードから PDF を作成します。既定の変換オプションでは、出力は A4 サイズのページ 1 枚になります。

このライブラリは、変換をカスタマイズするための多数のオプションを提供します。出力サイズを変更したり、生成されたページにヘッダーやフッターを追加したりできます。認証が必要なリソースを変換することも可能です。

各アプローチを詳しく説明した専用記事で、HTML を PDF に変換する さまざまな方法について読んでください。

Docotic.Pdf が適切な HTML から PDF への変換器である理由

変換時にスタイルとレイアウトを保持できるため、Docotic.Pdf は HTML レポート、請求書、その他のドキュメントから PDF を生成するのに適しています。このライブラリは、HTML や SVG などの他の Web 形式から、ピクセル単位で忠実な PDF ドキュメントを生成します。既存の HTML コンテンツの再利用も簡単です。

このコンバーターは Google Chrome のレンダリング エンジンを使用します。つまり、優れた Web ブラウザーの 1 つと同等の Web 標準準拠レベルを実現します。

Docotic.Pdf を使用すると、最新の CSS、JavaScript、画像を含む非常に複雑なレイアウトから PDF を生成できます。レスポンシブ Web デザインも非常によくサポートされています。

API アーキテクチャの概要

HTML から PDF への API は、無料の HtmlToPdf アドオン と Docotic.Pdf を併用した場合にのみ利用できます。

このアドオンは非同期専用 API を提供します。async イベント ハンドラーと async メソッドで動作するように設計されています。この設計により、長時間実行タスクを適切に処理でき、メディア変換はその代表例です。

.NET のバージョンとプラットフォーム サポート

ライブラリとアドオンは .NET Standard 2.0 をターゲットにしています。つまり、どちらも .NET 5 から .NET 10 まで互換性があります。さらに、.NET Core 2.0 以降および .NET Framework 4.6.1 以降もサポートされています。

HTML から PDF への機能は、Windows Forms、WPF、ASP.NET、およびコンソール アプリケーションで使用できます。アドオンは クラウド環境および Docker コンテナー内 で実行できます。

アドオンを使うと、Windows、macOS、Linux 環境で HTML から PDF を生成できます。

変換中に何が起こるか

既定では、変換は次の段階で構成されます:

  1. コードが HtmlConverter クラスCreateAsync メソッドを呼び出します。
  2. アドオンは、現在の作業ディレクトリ内の .local-chromium フォルダーに有効なバージョンの Google Chrome が存在するかどうかを確認します。
  3. 適切なバージョンがない場合、アドオンはそれをダウンロードし、.local-chromium フォルダーに展開します。
  4. コードが CreatePdfAsync または CreatePdfFromStringAsync メソッドを呼び出すと、アドオンは Google Chrome を使用して提供された HTML を読み込みます。
  5. コンテンツの変換準備が整うと、アドオンはブラウザーに PDF の生成を指示します。
  6. Google Chrome は Chromium のレンダリング機能を使用して PDF を生成します。
  7. アドオンは、生成された PDF を含む PdfDocument をコードに返します。

クラウド プラットフォームと Docker イメージ

HtmlToPdf アドオンは、サーバーレス環境を含む Azure および AWS のクラウド プラットフォームをサポートします。Docker コンテナーでも HTML から PDF への API を使用できます。サポートされている環境は次のとおりです:

  • Azure: Azure Functions、Azure App Service、Azure VPS
  • Amazon Web Services: AWS ECS、Amazon EC2
  • Docker: Windows および Linux コンテナー。

ライブラリとアドオンは、動的なハードウェア変更、自動スケーリング、その他のクラウドネイティブなランタイム機能を完全にサポートします。

詳細については、クラウドおよび Docker イメージでの実行 に関する記事を参照してください。

ほとんどのクラウド シナリオでは、アンバウンド ライセンスが必要です。License FAQ には、クラウド アプリに適した ライセンスの選び方 が説明されています。

HTML テンプレートから PDF を生成する方法

次の簡単な手順に従います:

  1. テンプレート用のデータを取得します。
  2. データでテンプレートを埋め、完全な HTML を作成します。
  3. Docotic.Pdf を使用して完全な HTML を PDF に変換します。

HTML テンプレートから PDF を生成する方法を示す図。プレースホルダー データがテンプレートを完成させ、その後 PDF に変換されます。

テンプレート データは通常、データベースまたは API レスポンスから取得します。データベースでは、単一レコードまたはレコードの集合にできます。API では、多くの場合、1 つ以上のエンティティを記述する JSON オブジェクトです。

以下の例では、この架空の人物を使用します:

var person = new
{
    Name = "Alice Johnson",
    Age = 27,
    Email = "alicej@example.com",
    Occupation = "Truck driver"
};

データがあるので、HTML テンプレートを準備して埋める 3 つの方法を示します。3 つの方法すべてで、対応するテンプレートは異なっていても、結果として得られる完全な HTML は同じです。

完全な HTML に変換するには、すでに示した コード を使用してください。

名前付きプレースホルダー

名前付きプレースホルダーは、英数字以外の記号を使う二重デリミタで囲まれたトークンです。最も衝突しにくいデリミタの 1 つは %% です。

以下は、名前付きプレースホルダーを使ったテンプレートと、それから完全な HTML を生成するコードです:

var template = @"<head><title>%%NAME%%'s Profile</title></head>
<body>
    <h1>%%NAME%%</h1>
    <p><strong>Age:</strong> %%AGE%%</p>
    <p><strong>Email:</strong> %%EMAIL%%</p>
    <p><strong>Occupation:</strong> %%OCCUPATION%%</p>
</body></html>";

var completeHtml = template
    .Replace("%%NAME%%", person.Name)
    .Replace("%%AGE%%", person.Age.ToString())
    .Replace("%%EMAIL%%", person.Email)
    .Replace("%%OCCUPATION%%", person.Occupation);

ほとんどの場合、名前付きプレースホルダーを使う方法が推奨されます。ただし、プレースホルダーの代わりに挿入する値は必ずエスケープしてください。

テンプレート エンジン

テンプレートが非常に複雑であったり、再利用可能な部分が必要だったりする場合、名前付きプレースホルダーはあまり便利ではないことがあります。代わりに、Handlebars.Net のようなテンプレート エンジンを試してください。

以下は、別のテンプレートとコードを使いながら同じ HTML を生成する例です:

var template = @"<head><title>{{name}}'s Profile</title></head>
<body>
    <h1>{{name}}</h1>
    <p><strong>Age:</strong> {{age}}</p>
    <p><strong>Email:</strong> {{email}}</p>
    <p><strong>Occupation:</strong> {{occupation}}</p>
</body></html>";

var compiledTemplate = Handlebars.Compile(template);
var completeHtml = compiledTemplate(person);

Handlebars.Net のテンプレートにはロジックがありません。それが制約に感じられる場合は、Scriban を試してください。条件分岐、ループ、式、関数呼び出しなどを提供します。

位置指定プレースホルダー

これらは名前付きプレースホルダーと非常によく似ていますが、名前の代わりに位置番号を使用します。string.Format メソッド呼び出しで見たことがあるはずです。

var template = @"<head><title>{0}'s Profile</title></head>
<body>
    <h1>{1}</h1>
    <p><strong>Age:</strong> {2}</p>
    <p><strong>Email:</strong> {3}</p>
    <p><strong>Occupation:</strong> {4}</p>
</body></html>";

var completeHtml = string.Format(
    template, person.Name, person.Name,
    person.Age, person.Email, person.Occupation);

位置指定プレースホルダーは、ごく単純なケース以外では使わないことをお勧めします。理由は次のとおりです:

  • テンプレートで同じ値を複数回使う場合、呼び出し側でその値を複数回指定する必要があります。
  • テンプレート内の順序を変更しても、コードの更新を忘れやすいです。

ASPX を PDF に変換する

Docotic.Pdf を無料の HtmlToPdf アドオンと併用して ASPX を PDF に変換します。手順は簡単です:

  • 生成された HTML を蓄積する Render メソッドの実装を提供します。
  • ASP.NET エンジンに、サーバー側コードとコントロールを実行させて ASPX ページの HTML を生成させます。
  • 蓄積した HTML を PDF に変換し、更新されたレスポンスで PDF を返します。

サンプル コード を確認すると、ASP.NET Web Forms アプリケーションで ASPX ページから PDF を生成する方法が分かります。サンプル アプリケーションは、HTML または PDF 形式の請求書を作成することで、上記の処理を示しています。同じ方法を使えば、レポート、明細書、その他のドキュメントの高忠実度な PDF 版を生成できます。

SVG を PDF に変換する

Docotic.Pdf ライブラリの HtmlToPdf アドオンを使うと、SVG をベクター PDF に変換できます。HtmlConverter クラスを SVG から PDF へのコンバーターとして使用できます。次の C# コードは、その変換方法の 1 つを示しています:

using var converter = await HtmlConverter.CreateAsync();
var uri = new Uri("https://bitmiracle.com/images/team.svg");
using var pdf = await converter.CreatePdfAsync(uri);
pdf.Save("output.pdf");

上記のコードの結果は、高品質なベクター PDF です。HtmlToPdf アドオンが提供するコンバーターは、SVG に指定された幅と高さを使用してアスペクト比を決定します。SVG のサイズによっては、PDF ページに収まるように SVG を比例的に拡大縮小する場合があります。

出力サイズに影響するオプション

異なるサイズの PDF を作成するには、ページ サイズや余白を設定します。変換された SVG は、それでも比例的に拡大縮小される場合があります。

別の方法として、HTML コード内で SVG の幅や高さを指定して、その HTML を変換することもできます。出力では、画像は指定したサイズになります。サイズが PDF ページより大きい場合、画像の一部は表示されません。

using var converter = await HtmlConverter.CreateAsync();
var html = $"<img src='https://bitmiracle.com/images/team.svg' width='200' />";
using var pdf = await converter.CreatePdfFromStringAsync(html);
pdf.Save("output.pdf");

SVG ファイルを PDF に変換する

SVG ファイルを PDF に変換するには、ファイル Uri を作成し、それを CreatePdfAsync メソッドに渡します。別の方法として、img タグを含む HTML スニペットを作成し、そのスニペットを CreatePdfFromStringAsync メソッドで使用することもできます。HTML コードで相対パスを使う場合は、変換オプションを通じて ベース URL を指定してください。

複数の SVG ファイルを PDF に変換するには、複数の img タグを含む HTML スニペットを作成し、それを CreatePdfFromStringAsync メソッドで使用します。すべてのファイルが同じフォルダーにある場合は、HTML コードで相対パスを使い、ベース URL を指定することをお勧めします。

SVG を PDF に追加する

まず、HtmlConverter のいずれかのメソッドを使って SVG を PDF に変換します。

using var converter = await HtmlConverter.CreateAsync();
var uri = new Uri("https://bitmiracle.com/images/quote.svg");
using var svgPdf = await converter.CreatePdfAsync(uri);

その後、生成された PDF の内容を別のドキュメントの上にオーバーレイするか、ドキュメントを別の PDF と結合できます。

SVG を PDF に重ねるには、変換されたドキュメントの最初のページから XObject を作成し、その XObject を別のドキュメントの PDF ページ上に描画します。次のようにします:

using var pdf = new PdfDocument("some-other.pdf");
var xObj = pdf.CreateXObject(svgPdf.Pages[0]);

pdf.Pages[0].Canvas.DrawXObject(xObj, 0, 0);
pdf.Save("output.pdf");

SVG を PDF に結合するには、変換された PDF ドキュメントを、利用可能な マージ方法 のいずれかを使って別の PDF と組み合わせます。

WEBP を PDF に変換する

WebP は Web 形式なので、Docotic.Pdf と HtmlToPdf アドオンを使って PDF に変換できます。次の C# コードは、高品質に WebP から PDF へ変換する方法を示しています:

using var converter = await HtmlConverter.CreateAsync();
var html = $"<img src='https://bitmiracle.com/pdf-library/images/edit/reorder-pages.webp'/>";
using var pdf = await converter.CreatePdfFromStringAsync(html);
pdf.Save("output.pdf");

上のコードでは img タグに widthheight 属性を指定していませんが、含めることをお勧めします。指定した画像サイズが PDF ページより大きい場合、画像の一部は表示されないことに注意してください。

WebP はラスター形式なので、拡大にはあまり向いていません。必要になる最大サイズと解像度の画像を使用することをお勧めします。

WebP ファイルを PDF に変換するには、同じコードを使用します。HTML が相対パスを使用している場合は、load options を通じてベース URL を指定してください。ローカル画像を変換する場合は、ファイル Uri をベース URL として使用します。

XSLT を使用して XML を PDF に変換する

XML を PDF に変換するには、まず XSLT 変換を使用して XML を HTML に変換します。次に、Docotic.Pdf と HtmlToPdf アドオンを使って、その HTML を PDF に変換します。

以下は、C# による XML から PDF への変換コードです:

var transform = CreateTransform("invoice.xsl");
var html = TransformToHtml("invoice.xml", transform);

using var converter = await HtmlConverter.CreateAsync();
using var pdf = await converter.CreatePdfFromStringAsync(html);
pdf.Save("invoice.pdf");

コードは次の処理を行います:

  • 1 行目で XSLT 変換オブジェクトを作成します。
  • 2 行目で XML ファイルを HTML ドキュメントに変換します。
  • 残りの行で、変換結果(HTML 文字列)を PDF に変換します。

最初の 2 点を詳しく見てみましょう。3 点目は このセクション で完全に説明されています。

XSLT 変換を作成する

変換プロセスの最初のステップは、XSLT 変換オブジェクトを作成することです。次のコードは、そのようなオブジェクトを作成する方法を示しています:

public static XslCompiledTransform CreateTransform(string xsltFileName)
{
    var transform = new XslCompiledTransform();
    transform.Load(xsltFileName);
    return transform;
}

名前が示すとおり、XslCompiledTransform は指定されたスタイルシートをコンパイルし、そこから IL コードを生成します。コードで XML を PDF に一括変換する必要がある場合は、同じ変換オブジェクトを再利用するとパフォーマンスが向上します。

XML を HTML に変換する

2 番目のステップは、前のステップで作成した XSLT 変換オブジェクトを使って XML から HTML を生成することです。

public static string TransformToHtml(string xmlFileName, XslCompiledTransform transform)
{
    using var xmlReader = XmlReader.Create(xmlFileName);
    using var sw = new StringWriter();
    using var writer = XmlWriter.Create(sw, transform.OutputSettings);
    transform.Transform(xmlReader, null, writer);
    return sw.ToString();
}

このコードでは XmlReaderXmlWriter を使用しています。これは大きな XML ファイルに適しており、メモリ使用量を低く保つのに役立つためです。

XML から PDF への変換のサンプル コード

サンプル リポジトリには、XML 請求書を PDF に変換する サンプル アプリケーションの C# 版と VB.NET 版が含まれています。サンプル アプリケーションには、XML 請求書の例と対応する XSLT スタイルシートが含まれています。

XML を返す URL に最新のブラウザーで移動すると、ブラウザーは関連する XSLT(存在する場合)を自動的に適用して、読みやすい HTML を生成し表示できます。これは、XML ファイルと XSLT ファイルの両方が同じサーバーでホストされている場合にのみ機能します。クロスオリジン要求を防ぐため、XML ファイルをローカル ファイル システムから直接開いた場合、ブラウザーはスタイルシートを読み込んだり適用したりしません。

PDF を作成するためのトレードオフと代替方法

HTML から PDF への API は、Docotic.Pdf で PDF を生成する唯一の方法ではなく、常に最も効率的とも限りません。このセクションでは、シナリオに適した選択肢を選べるよう、代替案を説明します。

PDF を作成する方法を示す図。HTML から PDF、Canvas API、テンプレート ベースの生成、Layout API、コンポジションを使用しています。

HTML から PDF が適切な選択となる場合

チームがすでに HTML/CSS でドキュメントを作成している場合は、HTML から PDF へのアプローチを選んでください。特に、ドキュメントが請求書、発注書、証明書、領収書などの Web ページに似ている場合に適しています。

HtmlToPdf アドオンを使うと、既存の HTML/CSS テンプレートを再利用し、高忠実度のレイアウトとレンダリング機能の恩恵を受けられます。アドオンを使えば、高品質な PDF 出力への最短ルートになることがあります。

留意すべき制限

HTML から PDF への API は Google Chrome の HTML レンダリング エンジンを使用します。このエンジンは強力ですが、オーバーヘッドがあります。典型的な HTML から PDF への変換は、たとえば PDF ページのキャンバスに直接描画する場合よりも、CPU とメモリを多く消費します。このオーバーヘッドにより、大量バッチ生成が遅くなることがあります。

ブラウザー エンジンは実行時フットプリントも増やすため、最小構成の Docker イメージや制約の厳しい環境では望ましくない場合があります。たとえば、メモリ消費量と実行時間に非常に厳しい制限があるサーバーレス環境では、この API が動作しないことがあります。

Docotic.Pdf で PDF を生成するその他の方法

Docotic.Pdf ライブラリは、ドキュメントを作成する他の方法 をいくつか提供しており、それぞれ異なるニーズに適しています:

  • Canvas API による直接 PDF 生成
    チケット、ラベル、フォームのような構造化され予測可能なレイアウトに最適です。最大のパフォーマンス と、座標、タイポグラフィ、コンテンツ配置の完全な制御を提供します。

  • テンプレート ベースの PDF 生成
    承認済みでコンプライアンス管理されたテンプレートを扱う場合に、しばしば最適な選択です。既存の PDF から開始し、フィールドを埋め、プレースホルダーを置き換え、必要に応じて 関連ドキュメントを添付します

  • Layout API による PDF 生成
    ページ、コンテナー、画像、テキストの段落、その他のレイアウト要素などの構成要素を提供します。流れるような API を使って PDF レイアウトを 完全にコードで記述 し、ライブラリがそのレイアウトから PDF を生成します。

  • 他の PDF と画像からのコンポジション
    既存の PDF や画像から、明細書、レポート、ドキュメント バンドル、その他のドキュメントを軽量に組み立てる方法を提供します。画像を PDF ページに変換し、複数の PDF を結合 し、ページを追加し、フラグメントを再利用できます。

他の HTML から PDF へのソリューションとの比較

.NET 向けの適切な HTML から PDF ライブラリを選べるよう、HtmlToPdf アドオン付き Docotic.Pdf が他の人気ソリューションとどう比較されるかを示します。

比較の要点

ブラウザー ベースのソリューションの多くは高品質なレンダリングを提供し、最新の HTML、CSS、JavaScript を完全にサポートします。ただし、重要な違いがあります。

ソリューション 使用するタイミング 最適な用途
HtmlToPdf アドオン付き Docotic.Pdf レポート、請求書、領収書をピクセル単位で忠実に変換する場合 HTML から PDF への変換と PDF 編集の両方が必要で、プロフェッショナル サポートで支えられた業務用ソフトウェア
Puppeteer ブラウザー級の忠実度で最新の HTML/CSS/JS レンダリングが必要で、HTML から PDF への出力だけが必要な場合 無料またはオープンソース要件でピクセル単位の HTML から PDF 生成が必要な場合
IronPDF チームが Iron Suite ライセンスを持っているか、IronPDF の使用経験がある場合 複数の Iron Software コンポーネントに依存するチーム
wkhtmltopdf 比較的軽量なフットプリントが必要で、HTML/CSS が単純かつ外部または信頼できない参照を含まない場合 すでに wkhtmltopdf を使用しているシステムとのレガシー互換性

詳細な比較

表の情報を確認して全体像を把握し、ご自身で結論を出してください。

  Docotic.Pdf with HtmlToPdf Puppeteer IronPDF wkhtmltopdf
エンジン Headless Chrome Headless Chrome / Chromium Headless Chrome レガシー Qt WebKit
レンダリング忠実度 ピクセル単位で忠実 ピクセル単位で忠実 ピクセル単位で忠実 癖と制限はあるがピクセル単位で忠実
HTML5 Support 完全 完全 完全 部分的で限定的
CSS3 Support 完全 完全 完全 極めて限定的
JavaScript Support 完全 完全 完全 部分的で時代遅れ
.NET コードとの統合 非同期 .NET API PuppeteerSharp 使用時は非同期 .NET API、それ以外は Node.js スクリプト。 非同期 .NET API コマンド ライン プロセス、または C# ラッパー ライブラリ(DinkToPdf など)
HTML 変換以外の PDF 機能 豊富 なし 限定的 なし
サポート種別 見込み客と顧客向けのプロフェッショナル サポート コミュニティ サポートのみ 見込み客と顧客向けのプロフェッショナル サポート コミュニティ サポートのみ
サポート可用性 応答時間を保証; 最上位ライセンスでは優先サポート ボランティアによる回答; PuppeteerSharp ではスポンサー ベースの優先サポートあり 応答時間を保証; 最上位ライセンスでは優先サポート 公式のサポート チャネルなし
保守状況 継続的に保守中 継続的に保守中 継続的に保守中 すでに保守終了
ライセンス 商用、適格な用途では 無料ライセンス あり Apache-2.0; PuppeteerSharp は MIT 商用 LGPL-3.0; DinkToPdf は MIT
再配布権 すべてのライセンスでロイヤリティ不要 すべてのライセンスでロイヤリティ不要 含まれない; 別途購入が必要 すべてのライセンスでロイヤリティ不要
開発者ライセンス すべてのライセンスで開発者数無制限 すべてのライセンスで開発者数無制限 ライセンス階層により異なる; 無制限なのは最上位ライセンスのみ すべてのライセンスで開発者数無制限
オンライン ライセンス検証 オンライン検証は不要 ライセンス検証は行われない プレミアム ライセンス以外では必要 ライセンス検証は行われない

結論

HtmlToPdf アドオン付き Docotic.Pdf は、機能豊富な PDF API とともに、信頼性が高く高品質な HTML から PDF への変換を提供します。このライブラリは、HTML から PDF レポート、請求書、領収書、その他の業務ドキュメントを生成し、ピクセル単位で忠実な見た目を保つのに適しています。

このアドオンは、完全にオンプレミスで動作する async .NET API を提供します。データがサーバーから外部に出ることはないため、セキュリティとプライバシーを完全に制御できます。

HTML から PDF への変換以外にも、Docotic.Pdf は生成された PDF に パスワード保護を追加 したり、デジタル署名 で署名したりできます。LTV 対応の署名も含まれます。

複数の生成済み PDF を結合 して最終ドキュメントを組み立てることができます。HTML 変換や結合後に PDF が大きくなりすぎた場合は、ライブラリがファイル内の重複オブジェクトを削除し、他の方法を適用して ファイル サイズを削減 できます。読書体験を向上させるために、Docotic.Pdf は PDF を Fast Web View 向けに最適化 することもできます(PDF のリニアライズ)。

次の手順:

よくある質問

.NET 向けの HTML から PDF ライブラリの選び方

ライブラリを選ぶ前に、要件を定義して整理してください。候補ライブラリが変換済み PDF を結合できず、その機能がソリューションに必要だと分かっていれば、評価時の時間を節約できます。比較セクション で、.NET 向けの人気 HTML から PDF ライブラリを並べて確認できます。

HTML が PDF で正しくレンダリングされないのはなぜですか?

HTML は Google Chrome では正しく表示されるのに生成された PDF では正しくない場合、変換オプションを確認してください。コンテンツを収めるのに十分な幅があることを確認します。HTML に 変換前の JavaScript 実行 が必要な場合もあります。

直接 PDF API ではなく HTML テンプレートを使う理由

HTML テンプレートを使うと、ドキュメントのレイアウトを非常に柔軟にできます。HTML と CSS の強力なスタイル設定機能を使って、PDF の見た目を簡単に変更できます。また、PDF API でオンライン ドキュメントのデザインを複製する必要もありません。

ASPX を PDF に変換する方法

ASPX を PDF に変換するには、ASP.NET エンジンに ASPX ページの HTML を生成させ、その HTML を Docotic.Pdf ライブラリで PDF に変換します。詳細は 対応セクション を参照してください。

SVG を PDF に重ねる方法

SVG を PDF に重ねるには、SVG から PDF を生成 し、その後生成されたドキュメントの最初のページから XObject を作成します。XObject には透明な背景があるため、別のドキュメントの PDF ページ上に配置できます。

生成された PDF に透かしを追加する方法

HTML から生成された PDF ドキュメントに透かしを追加するには、XObject を作成し、透かしコンテンツを埋め込み、その XObject をドキュメント ページの上に描画します。透かしにはベクター グラフィックス、画像、テキストを使用できます。

Docotic.Pdf は wkhtmltopdf より優れているか?

Docotic.Pdf は最新の HTML、CSS、JavaScript を完全にサポートしますが、wkhtmltopdf は最新の Web ドキュメントで一貫性のないレンダリングを行うことがよくあります。さらに、Docotic.Pdf は HTML から PDF への変換以外の API も提供します。たとえば、このライブラリは LTV 対応のデジタル署名で PDF に署名できますが、wkhtmltopdf は HTML の変換しかできません。