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

.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 to PDF APIは、Docotic.Pdfと無料のHtmlToPdfアドオンを併用した場合にのみ利用可能です。

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

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

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

HTML から PDF への変換機能は、Windows フォーム、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 to PDF API を使用することもできます。サポートされている環境のリストは次のとおりです。

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

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

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

クラウド アプリではどのようなライセンス タイプがサポートされていますか?

ほとんどの場合、アンバインドライセンス(Ultimate または Ultimate+)が必要になります。ハードウェア ID が変更されない場合は、サーバーライセンスでも使用できる場合があります。

サーバーライセンスはサーバーのハードウェア ID に関連付けられています。実行または再起動の間にハードウェアが変更されると、サーバーライセンスは無効になります。また、各本番サーバーには固有のライセンスが必要であるため、サーバーの数が動的に変更される環境ではサーバーライセンスは機能しません。

サーバーのハードウェア ID の一貫性を保つには、LicenseManager.Uid プロパティの値を確認してください。または、UID ジェネレーター アプリケーション を使用して同じ ID を取得することもできます。

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ファイルを変換するには、既に提供しているコードを使用してください。

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

名前付きプレースホルダとは、英数字以外の記号を用いた二重の区切り文字で囲まれたトークンです。最も衝突しにくい区切り文字の一つは %% です。

以下は、名前付きプレースホルダを含むテンプレートと、そこから完全な 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フォームアプリケーションでASPXページからPDFを生成する方法については、サンプルコードをご覧ください。サンプルアプリケーションでは、HTMLまたはPDF形式の請求書を作成することで、上記のプロセスを示しています。同じアプローチを使用して、レポート、明細書、その他のドキュメントの高品質なPDFバージョンを作成できます。

SVGをPDFに変換する

Docotic.PdfライブラリのHtmlToPdfアドオンを使用すると、SVGからベクターPDFへの変換が可能です。HtmlConverterクラスをSVGからPDFへのコンバーターとして使用できます。以下のC#コードは、変換を実行する方法の一例です。

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は、縦横比を維持したまま拡大縮小される場合があります。

もう1つの方法は、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 を指定することをお勧めします。

PDFにSVGを追加する

まず、HtmlConverter メソッドの 1 つを使用して 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はウェブ形式なので、HtmlToPdfアドオンをDocotic.Pdfで使用して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 タグに width 属性と height 属性を指定していませんが、指定することをお勧めします。指定した画像サイズが PDF ページよりも大きい場合、画像の一部が表示されないことに注意してください。

WebP はラスター形式であるため、拡大縮小がうまくいきません。必要な最大サイズと解像度の画像を使用することをお勧めします。

WebP ファイルを PDF に変換する場合も、同じコードを使用します。HTML で相対パスを使用している場合は、読み込みオプション を使用してベース URL を指定します。ローカル画像を変換する場合は、ファイルの URI をベース URL として使用してください。

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

XMLをPDFに変換するには、まずXSLT変換を用いてXMLをHTMLに変換します。次に、HtmlToPdfアドオンを組み込んだDocotic.Pdfを用いて、変換後の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();
}

コードでは、大規模な XML ファイルに適しており、メモリ使用量を低く抑えることができるため、XmlReaderXmlWriter を使用しています。

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

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

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

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

HTML to PDF APIはDocotic.PdfでPDFを生成する唯一の方法ではなく、必ずしも最も効率的とは限りません。このセクションでは、シナリオに適したオプションを選択できるよう、代替手段について概説します。

PDF を作成する方法の図解: HTML から PDF、Canvas API、テンプレートベースの生成、レイアウト API、および構成の使用。

HTMLからPDFへの変換が適切な選択である場合

チームが既にHTML/CSSでドキュメントを作成している場合は、HTMLからPDFへの変換方法をお選びください。特に、請求書、注文書、証明書、領収書など、Webページに類似したドキュメントの場合は効果的です。

HtmlToPdfアドオンを使用すると、既存のHTML/CSSテンプレートを再利用し、高精度なレイアウトとレンダリング機能を活用できます。このアドオンを使用すれば、高品質なPDF出力を最速で実現できます。

留意すべき制限事項

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

また、ブラウザエンジンはランタイムフットプリントを増加させるため、Docker イメージが最小限に抑えられている場合や制約のある環境では望ましくない場合があります。例えば、メモリ消費量と実行時間に制限が非常に厳しいサーバーレス環境では、API が動作しない可能性があります。

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

Docotic.Pdf ライブラリは、さまざまなニーズに適したドキュメントを生成するためのいくつかの方法を提供します。

  • Canvas API による直接 PDF 生成
    チケット、ラベル、フォームなど、構造化された予測可能なレイアウトに最適です。最高のパフォーマンスと、座標、タイポグラフィ、コンテンツの配置を自由にコントロールできます。

  • テンプレートベースのPDF生成
    承認済みでコンプライアンス管理されたテンプレートを使用する場合に最適な選択肢となることがよくあります。既存のPDFから開始し、必要に応じてフィールドへの入力、プレースホルダーの置き換え、そして関連ドキュメントの添付を行います。

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

  • 他のPDFや画像からの構成
    既存のPDFや画像から、明細書、レポート、文書バンドル、その他の文書を軽量にまとめることができます。画像をPDFページに変換したり、複数のPDFを結合、ページを追加したり、断片を再利用したりできます。

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

.NET に適した HTML から PDF へのライブラリを選択できるように、HtmlToPdf アドオンを備えた Docotic.Pdf と、HTML から 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 と HtmlToPdf Puppeteer IronPDF wkhtmltopdf
エンジン Headless Chrome Headless Chrome / Chromium Headless Chrome レガシー Qt WebKit
レンダリングの忠実度 ピクセルパーフェクト ピクセルパーフェクト ピクセルパーフェクト 癖や制限はあるものの、ピクセルパーフェクト
HTML5サポート 満杯 満杯 満杯 部分的かつ限定的
CSS3 サポート 満杯 満杯 満杯 非常に限定的
JavaScript サポート 満杯 満杯 満杯 部分的で時代遅れ
.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
再配布権 すべてのライセンスはロイヤリティフリー すべてのライセンスはロイヤリティフリー 含まれていません。別途購入が必要です。 すべてのライセンスはロイヤリティフリー
開発者ライセンス すべてのライセンスを持つ無制限の開発者 すべてのライセンスを持つ無制限の開発者 ライセンス層によって異なります。最高層のライセンスでのみ無制限となります すべてのライセンスを持つ無制限の開発者
オンラインライセンス検証 オンライン認証は不要 ライセンス検証は実行されません プレミアムライセンス以外のすべてに必要 ライセンス検証は実行されません

結論

Docotic.Pdf と HtmlToPdf アドオンを組み合わせることで、フル機能の PDF API に加え、信頼性の高い高品質な HTML から PDF への変換が可能になります。このライブラリは、HTML から PDF レポート、請求書、領収書などのビジネス文書を生成するのに適しており、ピクセル単位の鮮明さを保ちます。

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

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

複数の生成された PDF を マージ して最終文書をまとめることもできます。 HTML変換やマージ後にPDFが大きくなりすぎた場合、ライブラリはファイル内の重複オブジェクトを削除し、その他の手法を適用してファイルサイズを縮小します。また、Docotic.PdfはPDFをFast Web View向けに最適化(PDFを線形化)することで、読みやすさを向上させます。

次のステップ:

よくある質問

.NET 用の HTML から PDF へのライブラリを選択するにはどうすればよいでしょうか?

ライブラリを選択する前に、要件を定義して収集してください。候補となるライブラリが変換されたPDFを結合できないこと、そしてその機能がソリューションに必須であることを確認しておくと、評価にかかる時間を節約できます。.NET向けの一般的なHTMLからPDFへのライブラリの比較については、比較セクションをご覧ください。

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

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

直接の PDF API ではなく HTML テンプレートを使用するのはなぜですか?

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

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

ASPXをPDFに変換するには、ASP.NETエンジンでASPXページのHTMLを生成し、Docotic.Pdfライブラリを使用してそのHTMLを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 の変換しかできません。