HTMLをPDFに変換する方法

HTMLからPDFへの変換ガイドと印刷CSSビルダー

HTMLをPDFに変換する方法:印刷用CSS、window.print() | We.Inc

HTMLをきれいなPDFにする方法:印刷ダイアログから保存する、@pageとbreak-insideで印刷用CSSを書く、window.print()を呼ぶ、サーバーでレンダリングする。印刷CSSビルダー付きです。

WebページをPDFにする一番早い方法は、ブラウザー自体の印刷ダイアログです。ダイアログを開き、保存先にPDFを選んで保存します。PDFの見た目を調整するには、@media printと、用紙サイズや余白を決める@pageを使った印刷用CSSを追加します。PDFを自動で作成するなら、PuppeteerやPlaywrightなどのヘッドレスブラウザーでページをレンダリングします。

HTMLからPDFを作る方法

このページで紹介する方法はどれも、最終的にはブラウザーのエンジンにページを紙の上へレイアウトさせるものなので、良い印刷用CSSはすべての方法に効きます。下で印刷用スタイルシートのたたき台を作り、ボタンを押すのが誰か(人、あなたのページ、サーバー)に合わせて変換方法を選びましょう。

よくある質問

ツールを使わずにWebページをPDFとして保存するには?

ブラウザーのメニューかキーボードショートカットで印刷ダイアログを開き、保存先またはプリンターの一覧からPDFの項目を選びます。正確な名前はブラウザーとOSによって異なります。

ページに「PDFをダウンロード」ボタンを付けるには?

最もシンプルで誠実な方法は、window.print()を呼ぶボタンです。同じ印刷ダイアログが開き、訪問者はそこでPDFとして保存できます。ライブラリは不要で、テキストも選択でき、あなたの印刷用CSSが使われます。

表が2ページに分かれないようにするには?

表にbreak-inside: avoidを追加します。長い表なら行に追加します。古いpage-break-inside: avoidは別名として扱われるので、古いスタイルシートでも引き続き動作します。

CSSで用紙サイズを指定できますか?

できます。@page { size: A4 portrait; margin: 15mm; }でページボックスのサイズと余白を指定します。PuppeteerはpreferCSSPageSizeがtrueのときだけこれを使い、それ以外では独自のformatオプション(デフォルトはLetter)で決まります。

html2pdf.jsのPDFがぼやけたり巨大になったりするのはなぜですか?

READMEにある通り、内容を画像にレンダリングしてその画像をPDFに配置するため、テキストは選択も検索もできず、ファイルも大きくなります。テキストが重要なら、印刷かヘッドレスブラウザーを使いましょう。

印刷用CSSが土台になる

サーバーでレンダリングすべきとき

印刷用CSSリファレンス

印刷ページを形作るルールとプロパティ

コピーして使える印刷の例

印刷またはPDF保存のボタン

window.print()は印刷ダイアログを開き、閉じるまでページをブロックします。クラスによってボタン自体は紙に印刷されません。

請求書ごとに新しいページから始めるレイアウト

各請求書の後にbreak-after: pageを付けると、まとめて印刷したときに1枚に1通の請求書になります。

印刷の直前にページを準備する

beforeprintとafterprintはダイアログの前後で発生するので、折りたたまれたセクションを展開するのに便利です。

Puppeteerによるサーバー側のPDF作成

preferCSSPageSizeを指定すると@pageのサイズがformatオプションより優先され、printBackgroundで背景が残ります。

印刷CSSビルダー

用紙サイズ

向き

縦

横

余白:{n} mm

ナビゲーション、フッター、サイドバーを隠す

表、図、コードを1ページに収める

リンクの後にリンク先のアドレスを印刷する

背景色を残す

CSSをコピー

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る