C#でHTMLからPDFへのページ分割を処理する方法

Add or Avoid Page Breaks in HTML PDFs

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

IronPDFはPDFドキュメント内での改ページをサポートします。 PDFドキュメントとHTMLの主な違いは、HTMLドキュメントはスクロールする傾向があるのに対し、PDFは複数ページで印刷可能である点です。

クイックスタート: HTMLからPDFへの変換での改ページの実装

IronPDFを使用して改ページ付きのHTMLをPDFに簡単に変換します。 この例では、特定のHTMLコンテンツの後に改ページを挿入して、適切にページネーションをする方法を示します。 page-break-after: always;スタイルを追加することで、開発者は改ページが発生する場所を制御でき、結果として得られるPDFドキュメントの読みやすさと組織を向上させます。 HTMLコンテンツから迅速で効率的なPDF生成が必要な人に最適です。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    new IronPdf.ChromePdfRenderer()
      .RenderHtmlAsPdf("<html><body><h1>Hello World!</h1><div style='page-break-after: always;'></div></body></html>")
      .SaveAs("pageWithBreaks.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小ワークフロー (5ステップ)

HTML PDFでの改ページの使用方法
  1. C# ライブラリをダウンロードしてPDFでの改ページを使用する
  2. 改ページをHTML文字列に適用し、PDFに変換する
  3. 画像内での改ページを避けるためにpage-break-inside属性にavoidを設定する
  4. テーブルでも同じことを行い、テーブル内での改ページを避ける
  5. CSSレベルでスタイルを設定する


改ページを追加する

HTMLで改ページを作成するには、以下のHTMLコードを使用できます:

<div style="page-break-after: always;"></div>
<div style="page-break-after: always;"></div>
HTML

改ページの作成デモ

この例では、HTML内に次のテーブルと画像があり、テーブルの後に改ページを追加することで、それらが2つの別々のページにあるようにしたいと考えています。

テーブル

<table style="border: 1px solid #000000">
  <tr>
    <th>Company</th>
    <th>Product</th>
  </tr>
  <tr>
    <td>Iron Software</td>
    <td>IronPDF</td>
  </tr>
  <tr>
    <td>Iron Software</td>
    <td>IronOCR</td>
  </tr>
</table>
<table style="border: 1px solid #000000">
  <tr>
    <th>Company</th>
    <th>Product</th>
  </tr>
  <tr>
    <td>Iron Software</td>
    <td>IronPDF</td>
  </tr>
  <tr>
    <td>Iron Software</td>
    <td>IronOCR</td>
  </tr>
</table>
HTML

画像

<img src="/static-assets/pdf/how-to/html-to-pdf-page-breaks/ironpdf-logo-text-dotnet.svg" style="border:5px solid #000000; padding:3px; margin:5px" />
<img src="/static-assets/pdf/how-to/html-to-pdf-page-breaks/ironpdf-logo-text-dotnet.svg" style="border:5px solid #000000; padding:3px; margin:5px" />
HTML
:path=/static-assets/pdf/content-code-examples/how-to/html-to-pdf-page-breaks-page-break.cs
using IronPdf;

const string html = @"
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>

  <div style='page-break-after: always;'> </div>

  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";

var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("Page_Break.pdf");
Imports IronPdf

Private Const html As String = "
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>

  <div style='page-break-after: always;'> </div>

  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>"

Private renderer = New ChromePdfRenderer()

Private pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("Page_Break.pdf")
$vbLabelText   $csharpLabel

そして、上記のコードにより、以下のPDFが生成されます。これは2ページあり、最初のページにテーブル、2番目のページに画像があります:

画像内での改ページの回避

画像またはテーブル内で改ページを避けるには、ラッピングDIV要素に適用されるCSS page-break-inside属性を使用することができます。

<div style="page-break-inside: avoid">
    <img src="no-break-me.png" />
</div>
<div style="page-break-inside: avoid">
    <img src="no-break-me.png" />
</div>
HTML

テーブル内での改ページの回避

上記のように、テーブル内での改ページはCSS page-break-inside: avoidを使用することで回避できます。 これはスタイルをブロックレベルのHTMLノードに適用するため、テーブル本体よりもラッピングDIVに適用した方がよいです。

大規模なHTMLテーブルが複数のPDFページにまたがる場合に、各ページごとにテーブルヘッダーとフッターを複製するには、テーブル内で<thead>グループを使用できます:

<thead>
    <tr>
        <th>C Sharp</th><th>VB</th>
    </tr>
</thead>
<thead>
    <tr>
        <th>C Sharp</th><th>VB</th>
    </tr>
</thead>
HTML

高度なCSS3設定

より詳細な制御をするために、theadグループに加えてCSS3を使用することをお勧めします:

<style type="text/css">
    table { page-break-inside:auto }
    tr { page-break-inside:avoid; page-break-after:auto }
    thead { display:table-header-group }
    tfoot { display:table-footer-group }
</style>
<style type="text/css">
    table { page-break-inside:auto }
    tr { page-break-inside:avoid; page-break-after:auto }
    thead { display:table-header-group }
    tfoot { display:table-footer-group }
</style>
HTML

よくある質問

HTMLをPDFに変換する際に改ページを追加する方法は?

HTMLをPDFに変換するときに改ページを追加するには、HTMLコードに<div style='page-break-after: always;'></div>を挿入することができます。これにより、Divの後の内容がIronPDFを使用して新しいページから始まるようになります。

PDF変換中に画像内で改ページを防ぐにはどうすれば良いですか?

PDF変換中に画像内で改ページを防ぐには、画像を<div style='page-break-inside: avoid'>で囲むことをお勧めします。このCSSスタイルにより、画像がページをまたぐことなく一緒に保持されます。

PDF生成時にHTMLテーブル内で改ページを避ける最良の方法は?

PDF生成時にHTMLテーブル内で改ページを避けるには、ラップ用の<div>要素にCSSpage-break-inside: avoidを適用します。これにより、IronPDFを使用してテーブルがページ上で一体に保持されます。

PDFでテーブルヘッダーを各ページに繰り返すようにするには?

PDFの各ページにテーブルヘッダーを繰り返すためには、HTMLテーブルで<thead>要素を使用します。これにより、IronPDFが複数のページにわたってヘッダーを重複させることができます。

PDF文書の改ページを制御するためのCSS設定は?

PDFの改ページを制御するための高度なCSS設定には、テーブルにはpage-break-inside: autoを使用し、行にはpage-break-inside: avoid; page-break-after: autoを設定し、<thead>にはdisplay: table-header-group<tfoot>にはdisplay: table-footer-groupを使用することが含まれます。

HTMLとPDFのページレイアウトの違いは?

HTML文書は通常連続してスクロールされますが、PDFはマルチページ文書として構造化され、適切なページ分割が必要です。これを効果的に管理するにはIronPDFが使用されます。

C#を介してPDFに改ページを追加するのを助けるライブラリはどれですか?

IronPDFは、HTMLをPDFに変換する際の改ページを管理するために使用できるC#ライブラリです。ページ区切りを効果的に管理するためのさまざまな設定が提供されています。

IronPDF のページ区切り CSS は .NET 10 プロジェクトで完全にサポートされていますか?

はい。IronPDFは.NET 10と完全に互換性があり、HTMLからPDFへの改ページ機能( page-break-after: alwayspage-break-inside: avoidなど)は.NET 10環境ですぐに使用できます。NuGet経由でライブラリを.NET 10プロジェクトにインストールすれば、CSSベースの改ページルールをそのまま使用できます。

Curtis Chau
テクニカルライター

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

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はいいですか?
Nuget ダウンロード 16,154,058 | バージョン: 2025.11 ただ今リリースされました