IRONSOFTWAREHOME

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

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

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. @ironsoftware/ironpdfからインポートする
  3. HTMLコンテンツと共にPdfDocument.fromHtml()を呼び出します
  4. .saveAs()を呼び出してPDFファイルをディスクに書き込みます
import { PdfDocument } from "@ironsoftware/ironpdf";

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

本番で実行する前に、プラットフォーム用に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
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から透かしを除去します。 初回の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()を使用します。 メソッドは、CDNを介して読み込まれる外部フォントやCSSグリッドやフレックスボックスのようなレイアウトシステムを含む、あらゆる有効なHTMLを受け入れます。 ChromiumレンダラーはPDFを生成する前にすべてのリソースを解決します。

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");
JavaScript

PdfDocumentインスタンスを返します。 出力パスを指定して.then()ハンドラーをチェインします。 Chromiumエンジンは、出力をキャプチャする前にフォントのロード、外部スタイルシート、アセットの解決を処理します。 HTML文字列のPDF例をご覧ください。

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

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

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");
JavaScript

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

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

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

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

JavaScriptを介して非同期にコンテンツを読み込むページの場合、キャプチャ前に追加の時間を許可するミリ秒単位のrenderDelayオプションとこれをペアにします。 URLからPDFの例は、遅延構成と認証ヘッダーを示しています。


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

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

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");
JavaScript

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

  • paperSize: PdfPaperSize列挙値(A4、レター、リーガル、およびカスタムサイズ)を受け入れます
  • landscape: ランドスケープページの向きのためにtrueを設定します
  • printBackground: CSSの背景色と画像を含めます
  • marginTop/Bottom/Left/Right: ページの余白をミリメートルで
  • renderDelay: JavaScriptが多く含まれるページのキャプチャ前に待機するミリ秒

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

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

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");
JavaScript

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


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

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

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");
JavaScript

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

ヒント: 長期的なアーカイブコンプライアンスを必要とするドキュメントの場合、PDF/A変換メソッドに続いてPdfDocument.fromHtml()を使用してください。 IronPDFはPDF/A準拠とPDF/UAアクセシビリティ基準をサポートしています。

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

PdfDocumentは、既存のPDFファイルのマージ、分割、修正のためのメソッドを提供します。 既存のPDFをPdfDocument.fromFile()でロードし、ページの追加や削除、コンテンツのスタンプ、またはテキストの置換を行う操作メソッドを使用してください。

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");
JavaScript

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

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

大規模なシナリオの場合、マルチスレッド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へのチュートリアル を試してみるか、APIリファレンス を参照してPdfDocumentメソッドおよび設定プロパティの完全なリストをご覧ください。

PDFをウォーターマークなしで生成するために無料トライアルを開始するか、製品展開用のライセンスオプションを表示する。

よくある質問

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

IronPDFをインストールしnpm install @ironsoftware/ironpdf、PdfDocument.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オプションを設定します。

Is it possible to apply digital signatures to PDFs with IronPDF?

Yes, IronPDF supports applying digital signatures to PDFs using X.509 certificates. This feature is useful for document authentication and secure workflows.

How does IronPDF handle complex content like charts in PDFs?

IronPDF uses a full Chromium browser session to render pages, which means JavaScript chart libraries and frameworks like Angular are fully supported. This allows charts, graphs, and other complex visualizations to render correctly in the output PDFs.

What are the system requirements for using IronPDF on Node.js?

IronPDF requires Node.js 12.0 or higher and runs on Windows, Linux, macOS, and Docker environments. It supports both x64 and ARM64 architectures, making it suitable for various deployment scenarios including local development and cloud environments.

Curtis Chau
テクニカルライター

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

...
詳しく読む

準備はできましたか?

バージョン:2026.6リリースされたばかり

あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
Node.js モジュールダウンロード for PDF
npmでインストール

バージョン: 2026.6

  1. ダウンロードしてNode.js 12+をインストール。
  2. 上記のコマンドをターミナルで実行します。

ライセンスは$999から

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
Node.js モジュールダウンロード for PDF
npmでインストール

バージョン: 2026.6

  1. ダウンロードしてNode.js 12+をインストール。
  2. 上記のコマンドをターミナルで実行します。

ライセンスは$999から