Node.jsでPDFファイルを作成する方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

Node.jsでプログラム的にPDFファイルを作成するには、HTMLレンダリングを正確に処理し、最新のCSSをサポートし、Nodeの非同期パターンとクリーンに統合されるライブラリが必要です。 IronPDFは、Chromiumに基づいたレンダリングエンジンを使用し、HTMLコンテンツをChromeの印刷出力と一致するPDFに変換し、フルCSS、インラインJavaScript、およびレスポンシブレイアウトを標準でサポートしています。

このガイドは完全なワークフローをカバーしています:インストールからHTML文字列、HTMLファイル、URLからのPDF生成、出力オプションの設定、およびヘッダー、フッター、デジタル署名、暗号化のようなエンタープライズ機能の適用。

Quickstart: Node.jsでPDFを作成

  1. npm 経由で IronPDF をインストールします: npm install @ironsoftware/ironpdf
  2. PdfDocument@ironsoftware/ironpdf からインポートする
  3. HTMLコンテンツを PdfDocument.fromHtml() に渡してください
  4. .saveAs() を呼び出して、PDF ファイルをディスクに書き込む
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/quickstart.js
import { PdfDocument } from "@ironsoftware/ironpdf";

const pdf = await PdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");
await pdf.saveAs("output.pdf");

本番環境で実行する前に、お使いのプラットフォームに合わせて IronPdfEngine を設定してください。 Windows、Linux、macOS、およびDocker向けの手順については、IronPdfEngineセットアップガイドをご覧ください。

どのようにIronPDF for Node.jsをインストールしますか?

npm を使用して @ironsoftware/ironpdf パッケージをインストールしてください。 Node.js 12.0以上で動作し、ESMとCommonJSモジュール形式の両方をサポートします。

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
SHELL

Node.js用IronPDFは、基盤となるChromiumベースのレンダリングを処理するIronPDF Engineバイナリに依存しています。 エンジンは最初の実行時に自動的にダウンロードされますが、ランタイムダウンロードを回避するためにプラットフォーム固有のパッケージを事前にインストールすることができます。 制限されたネットワーク環境やDockerベースのCIパイプラインでは有用です:

オフラインまたは制限された環境での事前インストール用のIronPDFエンジンプラットフォームパッケージ
プラットフォームパッケージ
Windows x64@ironsoftware/IronPDF-engine-Windows-x64
Linux x64@ironsoftware/ironpdf-engine-linux-x64
macOS x64@ironsoftware/IronPDF-engine-macos-x64
macOS ARM@ironsoftware/IronPDF-engine-macos-arm64

ご注意有効なライセンスキーが生成されたPDFから透かしを除去します。 PdfDocument を最初に呼び出す前に、IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" }) を設定して適用してください。 完全なライセンスキー設定手順をフォローしてください。)}]

IronPDFのシステム要件は何ですか?

Node.js用IronPDFは、Windows、Linux、macOS、およびDocker環境でNode.js 12.0以降で動作します。 ライブラリはx64およびARM64アーキテクチャの両方をサポートしており、ローカル開発とコンテナ化されたデプロイメントに適しています。 クラウド環境において、IronPDFは<よりリモートIronPDFエンジンに接続することもサポートしています。ローカルでエンジンを実行する代わりに。


どのようにしてNode.jsでHTMLからPDFを作成しますか?

HTML文字列からPDFを生成するには、PdfDocument.fromHtml()を使用してください。 このメソッドは、インラインの <style> ブロック、CDN 経由で読み込まれた外部フォント、CSS Grid や Flexbox などのレイアウトシステムを含め、有効な HTML をすべて受け付けます。 ChromiumレンダラーはPDFを生成する前にすべてのリソースを解決します。

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-string-to-pdf.js
import { PdfDocument } from "@ironsoftware/ironpdf";

const htmlContent = `
  <!DOCTYPE html>
  <html>
  <head>
    <style>
      body { font-family: Arial, sans-serif; margin: 0; padding: 0; }
      .header { background: #2b4c8c; color: white; padding: 24px 32px; }
      .header h1 { margin: 0; font-size: 22px; }
      .body { padding: 32px; }
      table { width: 100%; border-collapse: collapse; margin-top: 16px; }
      th { background: #f0f4fb; text-align: left; padding: 8px 12px; }
      td { padding: 8px 12px; border-bottom: 1px solid #e0e0e0; }
    </style>
  </head>
  <body>
    <div class="header"><h1>Invoice #INV-2025-0042</h1></div>
    <div class="body">
      <p>Date: ${new Date().toLocaleDateString()}</p>
      <table>
        <tr><th>Item</th><th>Qty</th><th>Unit Price</th><th>Total</th></tr>
        <tr><td>IronPDF Enterprise License</td><td>1</td><td>$499.00</td><td>$499.00</td></tr>
        <tr><td>Priority Support (1 year)</td><td>1</td><td>$199.00</td><td>$199.00</td></tr>
      </table>
      <p style="text-align:right; margin-top:16px;"><strong>Total: $698.00</strong></p>
    </div>
  </body>
  </html>`;

// Generate the PDF from the HTML string
const pdf = await PdfDocument.fromHtml(htmlContent);
await pdf.saveAs("invoice.pdf");

PdfDocument.fromHtml()PdfDocument インスタンスを返します。 ファイルの書き込みには、希望の出力パスを指定して saveAs() を呼び出してください。このメソッドは非同期であるため、await を使用するか、.then() ハンドラーをチェーンしてください。 Chromiumエンジンは、出力をキャプチャする前にフォントのロード、外部スタイルシート、アセットの解決を処理します。 HTML文字列のPDF例をご覧ください。

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

.html を使用して、ディスクから既存の PdfDocument.fromFile() ファイルを読み込みます。 このアプローチは、HTMLがアプリケーションロジックとは別に管理されるテンプレート文書に適しています。

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-file-to-pdf.js
import { PdfDocument } from "@ironsoftware/ironpdf";

// Load an HTML file and render it as a PDF
const pdf = await PdfDocument.fromFile("./templates/report-template.html");
await pdf.saveAs("./output/report.pdf");

レンダラーはHTMLファイルのディレクトリから相対的なアセットパスを解決するため、ローカルCSSと画像参照が追加の設定なしで動作します。 アセット解決のためのベースURLをオーバーライドする方法を含む追加オプションとして、HTMLファイルからPDFの例をご覧ください。

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

PdfDocument.fromUrl() を使用すると、ライブWebページをPDFとしてレンダリングできます。 レンダラーは完全なブラウザーセッションとしてページをロードし、JavaScriptを実行し、CSSを適用し、出力をキャプチャする前に動的コンテンツを待ちます。

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/url-to-pdf.js
import { PdfDocument } from "@ironsoftware/ironpdf";

// Render a live webpage to PDF
const pdf = await PdfDocument.fromUrl("https://ironpdf.com/nodejs/");
await pdf.saveAs("ironpdf-homepage.pdf");

JavaScript 経由でコンテンツを非同期に読み込むページについては、キャプチャ前に追加の時間を確保するため、renderDelay オプション(ミリ秒単位)と組み合わせて使用してください。 URLからPDFの例は、遅延構成と認証ヘッダーを示しています。


PDF出力設定を構成するにはどうすればいいですか?

PdfDocument.fromUrl()の2番目の引数として、構成オブジェクトを渡してください。 構成オブジェクトは、用紙サイズ、余白、向き、およびレンダリングオプションを受け入れます。

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/pdf-settings.js
import { PdfDocument, PdfPaperSize } from "@ironsoftware/ironpdf";

const config = {
    paperSize: PdfPaperSize.A4,
    marginTop: 25,
    marginBottom: 25,
    marginLeft: 20,
    marginRight: 20,
    landscape: false,
    printBackground: true,
};

const pdf = await PdfDocument.fromHtml("<h1>Configured PDF</h1>", config);
await pdf.saveAs("configured-output.pdf");

主要な構成オプションには次のものがあります:

  • paperSize: PdfPaperSize の列挙型値(A4、Letter、Legal、およびカスタムサイズ)を受け付けます
  • landscape: 横向きページレイアウトの場合は true を設定してください
  • printBackground: CSSの背景色や画像を含める
  • marginTop/Bottom/Left/Right: ページの余白(ミリメートル単位)
  • renderDelay: JavaScriptが多用されているページでキャプチャを行う前に待機するミリ秒数

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

設定オブジェクトに htmlHeader および htmlFooter プロパティを指定することで、ヘッダーとフッターを追加できます。 どちらもページ番号、日付、動的なテキストを含むスタイル付きコンテンツを可能にする完全なHTML文字列を受け入れます。

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/headers-footers.js
import { PdfDocument } from "@ironsoftware/ironpdf";

const config = {
    htmlHeader: {
        htmlFragment: "<div style='text-align:center; font-size:12px; color:#666;'>Quarterly Report - Confidential</div>",
        dividerLine: true,
    },
    htmlFooter: {
        htmlFragment: "<div style='text-align:right; font-size:10px;'>Page {page} of {total-pages}</div>",
        dividerLine: true,
    },
};

const pdf = await PdfDocument.fromHtml("<h1>Q3 Financial Summary</h1><p>See attached tables.</p>", config);
await pdf.saveAs("report-with-headers.pdf");

フッターのHTMLでは、{page} および {total-pages} トークンを使用してください。 IronPDFはレンダリング時に正しい値と置き換えます。ヘッダーとフッターの詳細なパターンとHTMLヘッダーとフッター高度なヘッダーテクニックを含む例をリンクされた例でご覧ください。


PDFにセキュリティとメタデータを追加するにはどうすればいいですか?

PdfDocument のセキュリティ手法を使用して、生成された PDF にパスワード保護と暗号化を適用してください。 ライブラリは、印刷、コピー、編集のための細かい権限制御を備えた所有者およびユーザーパスワードの両方をサポートしています。

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/security.js
import { PdfDocument } from "@ironsoftware/ironpdf";

const pdf = await PdfDocument.fromHtml("<h1>Confidential Document</h1>");

// Apply password protection with granular permissions
await pdf.securePdf({
    userPassword: "view-password",
    ownerPassword: "admin-password",
    allowUserAnnotations: false,
    allowUserPrinting: true,
    allowUserCopyPasteContent: false,
});

await pdf.saveAs("secured-document.pdf");

暗号化と復号化は、パスワードが適用されるとデフォルトでAES 256ビット暗号化を使用します。 文書の認証ワークフローのために、IronPDFはX.509証明書を使用してデジタル署名もサポートしています。

ヒント長期保存のコンプライアンス要件を満たす必要がある文書については、PdfDocument.fromHtml() の後に PDF/A 変換方法を指定してください。 IronPDFはPDF/A準拠PDF/UAアクセシビリティ基準をサポートしています。


既存のPDFをマージおよび操作するにはどうすればいいですか?

PdfDocument は、既存の PDF ファイルの結合、分割、および変更を行うメソッドを提供します。 PdfDocument.fromFile() を使用して既存の PDF を読み込み、操作メソッドを使ってページの追加や削除、コンテンツへのスタンプの押印、テキストの置換を行ってください。

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/merge-pdfs.js
import { PdfDocument } from "@ironsoftware/ironpdf";

// Merge two PDF files into one
const merged = await PdfDocument.mergePdf([
    await PdfDocument.fromFile("./report-part1.pdf"),
    await PdfDocument.fromFile("./report-part2.pdf"),
]);

await merged.saveAs("./complete-report.pdf");

PdfDocument.mergePdf()PdfDocument インスタンスの配列を受け取り、1つの結合されたドキュメントを返します。 ページ順序は配列の順序に従うため、出力は入力ファイルの順序を保持します。

その他の一般的な操作には次のものがあります:

大規模なシナリオの場合、マルチスレッドPDF生成を使用して複数の文書を並行して処理することができます。 PDF圧縮は、ストレージと送信用のファイルサイズを削減します。


チャートやAngularページのような複雑なコンテンツのためのPDFを生成するにはどうすればいいですか?

IronPDFはChromiumのフルブラウザセッションを使用してページをレンダリングします。これにより、JavaScriptチャートライブラリを含むチャート、グラフ、データビジュアライゼーション for JavaScriptライブラリが正しくレンダリングされます。 Angularのようなフレームワークで構築されたシングルページアプリケーションもAngularからPDFへの例を使用してきれいに変換されます。

Unicodeが多用されている文書や多言語出力の場合、IronPDFは追加の構成なしでUnicodeと国際文字セットを処理します。 Google Fonts統合の例は、レンダリングされたHTMLにウェブフォントをロードして、出力PDFで一貫したタイポグラフィを実現する方法を示しています。

ご注意IronPDFのChromiumレンダラーはPDFをキャプチャする前にJavaScriptを実行します。 チャートライブラリやSPAで、DOMの読み込み後にデータのレンダリングに追加の時間が必要な場合は、renderDelayをミリ秒単位で設定し、ページが完全にレンダリングされるまでの時間を確保してください。)}]


Node.jsでPDFを作成する次のステップは何ですか?

このガイドは、IronPDFのコアワークフローをカバーしました:ライブラリのインストール、HTML文字列、ファイル、およびURLからのPDF生成、出力設定の構成、ヘッダーとフッターの追加、セキュリティの適用、および既存のPDFの操作。

さらに詳しく知りたい場合は、レンダリングオプションについて詳しく解説した"HTMLからPDFへの変換"チュートリアルを最後までご覧いただくか、PdfDocumentメソッドおよび設定プロパティの完全なリストについては、APIリファレンスをご覧ください。

無料トライアルを開始して透かしなしでPDFを生成するか、生産展開のためのライセンスオプションを表示します。

よくある質問

Node.jsでPDFファイルを作成する最も簡単な方法は何ですか?

IronPDFをインストールしnpm install @ironsoftware/ironpdfPdfDocument.fromHtml()でHTML文字列を呼び出し、saveAs()で結果を保存します。ライブラリがすべてのレンダリングを自動で処理します。

IronPDF for Node.jsのインストール方法は?

プロジェクトディレクトリでnpm install @ironsoftware/ironpdfを実行します。IronPDFエンジンバイナリが初回使用時に自動でダウンロードされます。オフラインまたはCI環境の場合、@ironsoftware/ironpdf-engine-linux-x64のようなプラットフォーム固有のエンジンパッケージを別途インストールします。

CSSスタイルやフォーマットを保持したまま、HTMLをPDFに変換できますか?

はい。IronPDFはChromiumベースのレンダリングエンジンを使用し、HTMLをPDFに変換する際にすべてのCSSスタイル、外部フォント、およびJavaScriptの実行を保持します。出力はChromeの印刷プレビューの動作に一致します。

HTMLの基本変換以外にどのようなPDF機能が利用可能ですか?

IronPDFはデジタル署名、AES 256-bit暗号化、詳細な権限を持つパスワード保護、ページ番号トークン付きカスタムヘッダーとフッター、PDFマージ、ページ削除、HTMLスタンプ、テキスト抽出、PDF/A対応、マルチスレッド生成をサポートしています。

ディスク上のHTMLファイルからPDFを作成するにはどうすればよいですか?

PdfDocument.fromFile('./path/to/template.html')を使用します。レンダラーはHTMLファイルのディレクトリから相対アセットパスを解決するため、追加の設定なしでローカルCSSと画像リファレンスが機能します。

既存のPDFファイルからテキストを抽出することがIronPDFで可能ですか?

はい。既存のPDFをPdfDocument.fromFile()でロードし、テキスト抽出メソッドを使用して任意のページからコンテンツを読み取ります。IronPDFは新しいPDFの作成と既存ドキュメントの処理の両方をサポートしています。

IronPDFはHTMLレンダリング時にJavaScriptの実行をサポートしていますか?

はい。ChromiumレンダラーはPDFをキャプチャする前にJavaScriptを実行します。非同期的にコンテンツが読み込まれるページの場合、キャプチャ前にページに追加の時間を与えるためにrenderDelayオプションを設定します。

Darrius Serrant
フルスタックソフトウェアエンジニア(WebOps)

Darrius Serrantは、マイアミ大学でコンピュータサイエンスの学士号を取得し、Iron SoftwareでフルスタックWebOpsマーケティングエンジニアとして働いています。若い頃からコーディングに惹かれ、コンピューティングを神秘的かつアクセス可能なものとし、創造性と問題解決のための完璧な媒体と考えていました。

Iron Softwareでは、新しいものを創造することと、複雑なコンセプトをより理解しやすくすることを楽しんでいます。Resident Developerの一人として、次世代に専門知識を共有するために、学生を教えることにも志願しました。

Darriusにとって、その仕事は価値があり、実際の影響があるため、満足感があります。

準備はできましたか?
バージョン: 2026.5 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか?
サンプルを実行するHTML が PDF に変換されるのを確認します。