Node.jsでPDFファイルを作成する方法 Copy for LLMsCopy for LLMs Copy page as Markdown for LLMs
# Node.jsでPDFファイルを作成する方法
Node.jsでプログラム的にPDFファイルを作成するには、HTMLレンダリングを正確に処理し、最新のCSSをサポートし、Nodeの非同期パターンとクリーンに統合されるライブラリが必要です。 [IronPDF](https://ironpdf.com/nodejs/docs/)は、Chromiumに基づいたレンダリングエンジンを使用し、HTMLコンテンツをChromeの印刷出力と一致するPDFに変換し、フルCSS、インラインJavaScript、およびレスポンシブレイアウトを標準でサポートしています。
このガイドは完全なワークフローをカバーしています:インストールからHTML文字列、HTMLファイル、URLからのPDF生成、出力オプションの設定、およびヘッダー、フッター、デジタル署名、暗号化のようなエンタープライズ機能の適用。
*as-heading:2(Quickstart: Node.jsでPDFを作成)*
1. npmを介してIronPDFをインストールする: `npm install @ironsoftware/ironpdf`
2. `@ironsoftware/ironpdf`からインポートする
3. HTMLコンテンツと共に`PdfDocument.fromHtml()`を呼び出します
4. `.saveAs()`を呼び出してPDFファイルをディスクに書き込みます
```nodejs
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セットアップガイド](https://ironpdf.com/nodejs/get-started/use-ironpdfengine/)をご覧ください。
<div class="hsg-featured-snippet">
<h3>最小限のワークフロー(5ステップ)</h3>
<ol>
<li>IronPDFをインストールする: <code>npm install @ironsoftware/ironpdf</code></li>
<li>IronPDFから <code>PdfDocument</code> をインポートする: <code>@ironsoftware/ironpdf</code></li>
<li><code>PdfDocument.fromHtml()</code>、<code>PdfDocument.fromFile()</code>、または<code>PdfDocument.fromUrl()</code>を使用してPDFを生成します</li>
<li>オプションの設定を適用: 用紙サイズ、余白、ヘッダー、フッター</li>
<li><code>pdf.saveAs("output.pdf")</code>で出力を保存する</li>
</ol>
</div>
## どのようにIronPDF for Node.jsをインストールしますか?
[npm](https://www.npmjs.com/package/@ironsoftware/ironpdf)を使用して`@ironsoftware/ironpdf`パッケージをインストールします。 [Node.js](https://nodejs.org/) 12.0以上で動作し、ESMとCommonJSモジュール形式の両方をサポートします。
```bash
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
```
Node.js用IronPDFは、基盤となるChromiumベースのレンダリングを処理するIronPDF Engineバイナリに依存しています。 エンジンは最初の実行時に自動的にダウンロードされますが、ランタイムダウンロードを回避するためにプラットフォーム固有のパッケージを事前にインストールすることができます。 制限されたネットワーク環境やDockerベースのCIパイプラインでは有用です:
<table class="content__data-table" data-content-table>
<caption>オフラインまたは制限された環境での事前インストール用のIronPDFエンジンプラットフォームパッケージ</caption>
<thead>
<tr><th>プラットフォーム</th><th>パッケージ</th></tr>
</thead>
<tbody>
<tr><td>Windows x64</td><td><code>@ironsoftware/IronPDF-engine-Windows-x64</code></td></tr>
<tr><td>Linux x64</td><td><code>@ironsoftware/ironpdf-engine-linux-x64</code></td></tr>
<tr><td>macOS x64</td><td><code>@ironsoftware/IronPDF-engine-macos-x64</code></td></tr>
<tr><td>macOS ARM</td><td><code>@ironsoftware/IronPDF-engine-macos-arm64</code></td></tr>
</tbody>
</table>
[[i:(有効なライセンスキーが生成されたPDFから透かしを除去します。 初回の`IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" })`を設定して適用します。 完全な[ライセンスキー設定手順](https://ironpdf.com/nodejs/get-started/license-keys/)をフォローしてください。)]]
### IronPDFのシステム要件は何ですか?
Node.js用IronPDFは、Windows、Linux、macOS、およびDocker環境でNode.js 12.0以降で動作します。 ライブラリはx64およびARM64アーキテクチャの両方をサポートしており、ローカル開発とコンテナ化されたデプロイメントに適しています。 クラウド環境において、IronPDFはローカルでエンジンを実行する代わりに[リモートIronPDFエンジン](https://ironpdf.com/nodejs/get-started/use-ironpdfengine/)に接続することもサポートしています。
<hr />
## どのようにしてNode.jsでHTMLからPDFを作成しますか?
HTML文字列からPDFを生成するために`PdfDocument.fromHtml()`を使用します。 メソッドは、CDNを介して読み込まれる外部フォントやCSSグリッドやフレックスボックスのようなレイアウトシステムを含む、あらゆる有効なHTMLを受け入れます。 ChromiumレンダラーはPDFを生成する前にすべてのリソースを解決します。
```nodejs
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`インスタンスを返します。 出力パスを指定して`.then()`ハンドラーをチェインします。 Chromiumエンジンは、出力をキャプチャする前にフォントのロード、外部スタイルシート、アセットの解決を処理します。 [HTML文字列のPDF例](https://ironpdf.com/nodejs/examples/using-html-to-create-a-pdf/)をご覧ください。
### HTMLファイルからPDFを作成するにはどうすればいいですか?
ディスクから既存の`PdfDocument.fromFile()`を使用して読み込みます。 このアプローチは、HTMLがアプリケーションロジックとは別に管理されるテンプレート文書に適しています。
```nodejs
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の例](https://ironpdf.com/nodejs/examples/file-to-pdf/)をご覧ください。
### URLからPDFを生成するにはどうすればいいですか?
`PdfDocument.fromUrl()`を使用して、ライブのウェブページをPDFとしてレンダリングします。 レンダラーは完全なブラウザーセッションとしてページをロードし、JavaScriptを実行し、CSSを適用し、出力をキャプチャする前に動的コンテンツを待ちます。
```nodejs
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の例](https://ironpdf.com/nodejs/examples/converting-a-url-to-a-pdf/)は、遅延構成と認証ヘッダーを示しています。
<hr />
## PDF出力設定を構成するにはどうすればいいですか?
`PdfDocument.fromUrl()`の第二引数として設定オブジェクトを渡します。 構成オブジェクトは、用紙サイズ、余白、向き、およびレンダリングオプションを受け入れます。
```nodejs
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、レター、リーガル、および[カスタムサイズ](https://ironpdf.com/nodejs/examples/custom-pdf-paper-size/))を受け入れます
- `landscape`: ランドスケープ[ページの向き](https://ironpdf.com/nodejs/examples/pdf-page-orientation/)のために`true`を設定します
- `printBackground`: CSSの背景色と画像を含めます
- `marginTop/Bottom/Left/Right`: ページの余白をミリメートルで
- `renderDelay`: JavaScriptが多く含まれるページのキャプチャ前に待機するミリ秒
### PDFにヘッダーとフッターを追加するにはどうすればいいですか?
設定オブジェクトに`htmlFooter`プロパティを提供することで、ヘッダーとフッターを追加します。 どちらもページ番号、日付、動的なテキストを含むスタイル付きコンテンツを可能にする完全なHTML文字列を受け入れます。
```nodejs
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に`{total-pages}`トークンを使用します。 IronPDFはレンダリング時に正しい値と置き換えます。ヘッダーとフッターの詳細なパターンと[HTMLヘッダーとフッター](https://ironpdf.com/nodejs/examples/html-headers-and-footers/)、[高度なヘッダーテクニック](https://ironpdf.com/nodejs/examples/adding-headers-and-footers-advanced/)を含む例をリンクされた例でご覧ください。
<hr />
## PDFにセキュリティとメタデータを追加するにはどうすればいいですか?
生成されたPDFに[パスワード保護と暗号化](https://ironpdf.com/nodejs/examples/security-and-metadata/)を適用するために、`PdfDocument`セキュリティメソッドを使用します。 ライブラリは、印刷、コピー、編集のための細かい権限制御を備えた所有者およびユーザーパスワードの両方をサポートしています。
```nodejs
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");
```
[暗号化と復号化](https://ironpdf.com/nodejs/examples/encryption-and-decryption/)は、パスワードが適用されるとデフォルトでAES 256ビット暗号化を使用します。 文書の認証ワークフローのために、IronPDFはX.509証明書を使用して[デジタル署名](https://ironpdf.com/nodejs/examples/digitally-sign-a-pdf/)もサポートしています。
[[t:(長期的なアーカイブコンプライアンスを必要とするドキュメントの場合、PDF/A変換メソッドに続いて`PdfDocument.fromHtml()`を使用してください。 IronPDFは[PDF/A準拠](https://ironpdf.com/nodejs/examples/pdfa/)と[PDF/UAアクセシビリティ基準](https://ironpdf.com/nodejs/examples/pdfua/)をサポートしています。)]]
<hr />
## 既存のPDFをマージおよび操作するにはどうすればいいですか?
`PdfDocument`は、既存のPDFファイルのマージ、分割、修正のためのメソッドを提供します。 既存のPDFを`PdfDocument.fromFile()`でロードし、ページの追加や削除、コンテンツのスタンプ、またはテキストの置換を行う操作メソッドを使用してください。
```nodejs
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`インスタンスの配列を受け取り、単一のマージされたドキュメントを返します。 ページ順序は配列の順序に従うため、出力は入力ファイルの順序を保持します。
その他の一般的な操作には次のものがあります:
- [PDFからページを削除する](https://ironpdf.com/nodejs/examples/remove-page-from-pdf/)には`removePages()`を使用します
- 既存の文書にHTMLコンテンツをスタンプする[方法](https://ironpdf.com/nodejs/examples/stamping-new-content/)
- 全ページにわたって[テキストを検索して置き換える](https://ironpdf.com/nodejs/examples/replace-text-in-pdf/)
- インデキシングや処理のためにPDFからテキストを抽出する[方法](https://ironpdf.com/nodejs/examples/reading-pdf-text/)
大規模なシナリオの場合、[マルチスレッドPDF生成](https://ironpdf.com/nodejs/examples/threading/)を使用して複数の文書を並行して処理することができます。 [PDF圧縮](https://ironpdf.com/nodejs/examples/pdf-compression/)は、ストレージと送信用のファイルサイズを削減します。
<hr />
## チャートやAngularページのような複雑なコンテンツのためのPDFを生成するにはどうすればいいですか?
IronPDFはChromiumのフルブラウザセッションを使用してページをレンダリングします。これにより、[JavaScriptチャートライブラリ](https://ironpdf.com/nodejs/examples/js-charts-to-pdf/)を含むチャート、グラフ、データビジュアライゼーション for JavaScriptライブラリが正しくレンダリングされます。 Angularのようなフレームワークで構築されたシングルページアプリケーションも[AngularからPDFへの例](https://ironpdf.com/nodejs/examples/angular-to-pdf/)を使用してきれいに変換されます。
Unicodeが多用されている文書や多言語出力の場合、IronPDFは追加の構成なしで[Unicodeと国際文字セット](https://ironpdf.com/nodejs/examples/unicode/)を処理します。 [Google Fonts統合の例](https://ironpdf.com/nodejs/examples/google-fonts-htmltopdf/)は、レンダリングされたHTMLにウェブフォントをロードして、出力PDFで一貫したタイポグラフィを実現する方法を示しています。
[[i:(IronPDFのChromiumレンダラーはPDFをキャプチャする前にJavaScriptを実行します。 チャートライブラリやSPAがDOMロード後にデータレンダリングに追加時間を必要とする場合、ページが完全にレンダリングされる時間を確保するためにミリ秒単位で`renderDelay`を設定します。
)]]
<hr />
## Node.jsでPDFを作成する次のステップは何ですか?
このガイドは、IronPDFのコアワークフローをカバーしました:ライブラリのインストール、HTML文字列、ファイル、およびURLからのPDF生成、出力設定の構成、ヘッダーとフッターの追加、セキュリティの適用、および既存のPDFの操作。
続行するには、より深くオプションをレンダリングするための [HTMLからPDFへのチュートリアル](https://ironpdf.com/nodejs/tutorials/html-to-pdf/) を試してみるか、[APIリファレンス](https://ironpdf.com/nodejs/object-reference/api/) を参照して`PdfDocument`メソッドおよび設定プロパティの完全なリストをご覧ください。
PDFをウォーターマークなしで生成するために[無料トライアルを開始する](trial-license)か、製品展開用の[ライセンスオプションを表示する](licensing)。
Ask ChatGPT about this page
Ask Gemini about this page
Ask Perplexity about this page
Node.jsでプログラム的にPDFファイルを作成するには、HTMLレンダリングを正確に処理し、最新のCSSをサポートし、Nodeの非同期パターンとクリーンに統合されるライブラリが必要です。 IronPDF は、Chromiumに基づいたレンダリングエンジンを使用し、HTMLコンテンツをChromeの印刷出力と一致するPDFに変換し、フルCSS、インラインJavaScript、およびレスポンシブレイアウトを標準でサポートしています。
このガイドは完全なワークフローをカバーしています:インストールからHTML文字列、HTMLファイル、URLからのPDF生成、出力オプションの設定、およびヘッダー、フッター、デジタル署名、暗号化のようなエンタープライズ機能の適用。
npmを介してIronPDFをインストールする: npm install @ironsoftware/ironpdf
@ironsoftware/ironpdfからインポートする
HTMLコンテンツと共にPdfDocument.fromHtml()を呼び出します
.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" );
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セットアップガイド をご覧ください。
最小限のワークフロー(5ステップ) IronPDFをインストールする: npm install @ironsoftware/ironpdf IronPDFから PdfDocument をインポートする: @ironsoftware/ironpdf PdfDocument.fromHtml()、PdfDocument.fromFile()、またはPdfDocument.fromUrl()を使用してPDFを生成しますオプションの設定を適用: 用紙サイズ、余白、ヘッダー、フッター pdf.saveAs("output.pdf")で出力を保存する
どのように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パイプラインでは有用です:
有効なライセンスキーが生成された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" );
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" );
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" );
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" );
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" );
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" );
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" );
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をウォーターマークなしで生成するために無料トライアルを開始する か、製品展開用のライセンスオプションを表示する 。
よくある質問 IronPDFをインストールしnpm install @ironsoftware/ironpdf、PdfDocument.fromHtml()でHTML文字列を呼び出し、saveAs()で結果を保存します。ライブラリがすべてのレンダリングを自動で処理します。
プロジェクトディレクトリでnpm install @ironsoftware/ironpdfを実行します。IronPDFエンジンバイナリが初回使用時に自動でダウンロードされます。オフラインまたはCI環境の場合、@ironsoftware/ironpdf-engine-linux-x64のようなプラットフォーム固有のエンジンパッケージを別途インストールします。
はい。IronPDFはChromiumベースのレンダリングエンジンを使用し、HTMLをPDFに変換する際にすべてのCSSスタイル、外部フォント、およびJavaScriptの実行を保持します。出力はChromeの印刷プレビューの動作に一致します。
IronPDFはデジタル署名、AES 256-bit暗号化、詳細な権限を持つパスワード保護、ページ番号トークン付きカスタムヘッダーとフッター、PDFマージ、ページ削除、HTMLスタンプ、テキスト抽出、PDF/A対応、マルチスレッド生成をサポートしています。
PdfDocument.fromFile('./path/to/template.html')を使用します。レンダラーはHTMLファイルのディレクトリから相対アセットパスを解決するため、追加の設定なしでローカルCSSと画像リファレンスが機能します。
はい。既存のPDFをPdfDocument.fromFile()でロードし、テキスト抽出メソッドを使用して任意のページからコンテンツを読み取ります。IronPDFは新しいPDFの作成と既存ドキュメントの処理の両方をサポートしています。
はい。ChromiumレンダラーはPDFをキャプチャする前にJavaScriptを実行します。非同期的にコンテンツが読み込まれるページの場合、キャプチャ前にページに追加の時間を与えるためにrenderDelayオプションを設定します。
Yes, IronPDF supports applying digital signatures to PDFs using X.509 certificates. This feature is useful for document authentication and secure workflows.
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.
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は、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。
...
詳しく読む