フッターコンテンツにスキップ
IRONPDFの使用

html2pdfページブレイクをC#で修正(開発者向けチュートリアル)

現代の企業では、デジタルドキュメントが情報共有とビジュアルプレゼンテーションの典型的な場所です。 しかし、情報が1ページ内で乱雑になりすぎて、情報過多を引き起こし、どのコンテンツがトピックに関連しているのか理解しにくくなることがあります。 そのため、一般的な戦術は、プレゼンターが情報を明確に伝え、読者がドキュメント間の明確に定義されたセクションを見ることができるようにページブレークを構造化することです。

ページブレークはドキュメントにおいて一般的ですが、手動で調整するのは面倒でスケーラブルではありません。 数千のドキュメントが作成される企業では、ページブレークを自動的に追加する方がはるかに効率的で理想的です。 これは、開発者が選択したドキュメントに形式をカスタマイズして適用できるようにします。

In this article, we'll discuss adding page breaks using a C# PDF library called IronPDF. IronPDFの直感的な使い方により、開発者は複数の形式のコンテンツにすばやくページブレークを設定できます。 また、ページブレークを使用して視覚的に魅力的なドキュメントを作成するためのライブラリの使用方法、そのカスタマイズおよび柔軟性についても説明します。

IronPDF: The C# PDF Library

C#でのhtml2pdfページブレーク修正(開発者チュートリアル): 図1

IronPDFは柔軟で使いやすく、高度にカスタマイズ可能なC# PDFライブラリであり、開発者、初心者、またはベテランがPDFを完全に操作して編集することを可能にします。 HTML、RTF、画像などの異なる形式をPDFに変換し、PDFに変換するときのレンダリング方法をさらに編集するための多くの方法を提供します。 さらに、IronPDFはChromeレンダリングエンジンを使用しているため、HTML文字列のレンダリングに非常に優れており、CSSスタイリングをさらに使用してHTMLドキュメントをカスタマイズでき、他にはないカスタマイズとビジュアルプレゼンテーションの面で開発者に優位性を与えます。

ライブラリがChromeレンダリングエンジンを使用しているため、HTMLのレンダリング時には見たままの結果が得られ、このためテンプレートの不一致を避けるためにページブレーク用のテンプレートを作成するなどの操作に理想的です。 PDFに変換するときには、正確にデザインしたテンプレートになります。

Adding Page Break on PDF

ライブラリの柔軟性と使いやすさを示すために、プログラムでページブレークを追加する方法を示したコード例を使用します。

このシナリオでは、入力としてテーブルベースのPDFを使用し、視覚的な明確さを得るためにページブレークを即座に追加する前後の違いを見ます。

ライセンスキー

始める前に、IronPDFが操作にはライセンスキーを必要とすることを覚えておいてください。 このリンクから無料トライアルの一部としてキーを取得できます。

// Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
$vbLabelText   $csharpLabel

試用キーを受け取った後、この変数をプロジェクトに設定し、準備完了です。

Input PDF

次のPDFは、例の入力として使用されます。 それは、別々の情報とともにクラスター化されたデータを持つ単純なテーブルであり、コンテンツの終了箇所を区別するのが難しいです。

C#でのhtml2pdfページブレーク修正(開発者チュートリアル): 図2

Code example usage

using IronPdf; // Import the IronPdf library

// Define the HTML content, including a table and an image
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> <!-- Ensures a page break after the table -->
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";

// Create an instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// Render the HTML content into a PDF
var pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF as "Page_Break.pdf"
pdf.SaveAs("Page_Break.pdf");
using IronPdf; // Import the IronPdf library

// Define the HTML content, including a table and an image
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> <!-- Ensures a page break after the table -->
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";

// Create an instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// Render the HTML content into a PDF
var pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF as "Page_Break.pdf"
pdf.SaveAs("Page_Break.pdf");
Imports IronPdf ' Import the IronPdf library

' Define the HTML content, including a table and an image
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> <!-- Ensures a page break after the table -->
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>"

' Create an instance of ChromePdfRenderer
Private renderer = New ChromePdfRenderer()

' Render the HTML content into a PDF
Private pdf = renderer.RenderHtmlAsPdf(html)

' Save the PDF as "Page_Break.pdf"
pdf.SaveAs("Page_Break.pdf")
$vbLabelText   $csharpLabel
  1. まず、IronPdfモジュールをインポートします。
  2. 上記のHTML文字列は、PDFに変換するためのコンテンツを表しています。 <div style='page-break-after:> always;'> </div>タグが、テーブルの後にページブレークを確保するために含まれています。
  3. 次に、PDFレンダラーをインスタンス化します。
  4. HTML文字列をRenderHtmlAsPdfメソッドに渡します。
  5. 最後に、ドキュメントをPage_Break.pdfとして保存します。

より一般的な方法は、HTMLのインラインスタイリングではなく、CSSを使用してページブレークを利用することです。

Output PDF

C#でのhtml2pdfページブレーク修正(開発者チュートリアル): 図3

ご覧のように、出力はテーブルの直後にページブレークを導入しています。

Controlling Page Breaks with CSS

IronPDFはChromeレンダリングエンジンを使用しているため、CSSでカスタマイズ可能で、特定の要素にページブレークを追加したり、内部にページブレークを追加したり、その中にページブレークがないよう指定することができます。

例えば、上記の画像ではテーブルの後にページブレークが発生していますが、時にはテーブル内で乱雑に発生することがあります。

それを避けるために、ノードに特定のCSSスタイリングを使用し、内部にページブレークを追加したくないことを指定することができます。

<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

page-break-inside: avoidを追加することで、要素内でのページブレークを防ぎます。 ただし、この操作を行う際には、要素の親divノードにこれを適用することを確認してください。

要素にページブレークビフォアスタイルを追加する場合も、同様の操作を行うことができます。

<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

HTMLを利用することで、JavaScriptのdocument.getElementByIdを使用してIDで要素を選択し、HTMLノードツリーを詳細に指定し、各ノードを完全にカスタマイズできるようにすることができます。

Optimizing Image Quality and File Size

ページブレークの設定は画像の品質にも密接に関連しています。 ページブレークの設定が次のページで画像の質を縮小したりスケーリングしたりしないようにしたいです。

そのため、CSSを使用して、テンプレート全体で画像の品質が一貫していることを確認できるようにします。

<div class="no-break">
    <img src="optimized-image.jpg" alt="Optimized Image" style="width:100%; height:auto;">
</div>
<div class="no-break">
    <img src="optimized-image.jpg" alt="Optimized Image" style="width:100%; height:auto;">
</div>
HTML

上記のCSSスタイリングにより、ページブレーク操作の後でも画像が一貫していることを保証します。 最初にページの幅を100%に設定し、高さはアスペクト比を維持するために自動スケーリングされる可能性があります。

さらに、IronPDFにはHTMLを扱う際に追加のレンダリングオプションがあり、ユーザーの印刷設定に類似したダウンロード可能な印刷可能PDFのプロンプトのリストが含まれています。属性の完全なリストについては、APIドキュメントを参照してください。

Counterpart using JavaScript

IronPDFはChromeレンダリングエンジンを使用する利点があり、さまざまなバックグラウンドを持つ開発者がこの強力なライブラリを活用できるNode.jsバージョンも提供します。

Node.js版では、プロミスベースの使用およびメソッド、デバッグや進捗追跡用のonRejectedプロミスメソッドやその中間関数の使用などにより、ページブレークの追加にさらに微細な制御ができます。

html2pdfjsPDFオブジェクトの出力メソッドのような一般的なライブラリと比較して、IronPDFはより柔軟であり、複数の言語をサポートし、異なる言語の専門知識を持つ開発者が同じプロジェクトで作業できるようにします。

結論

C#でのhtml2pdfページブレーク修正(開発者チュートリアル): 図4

ページブレークの使い方とCSSがHTML全体に与える影響を理解することは、ユーザーにとって見栄えが良く魅力的なドキュメントを作成するために重要です。 読者が情報を過剰に流入して混乱しないように情報を区分けすることができます。 この記事全体を通じて、IronPDFが使用する強力なChromeレンダリングエンジンを活用して、テンプレートや自動化のためのページブレークテンプレートを自動的に作成し、効率性とスケーラビリティを高めると同時に、人為的なエラーのリスクを減らす方法について説明しました。

IronPDFを試してみたい開発者には、ライブラリが$799以上の無料試用を提供しています。

よくある質問

C#でPDFに改ページを追加するにはどうすればよいですか?

IronPDFを使用してCSSを使ってPDFに改ページを追加できます。HTMLをPDFに変換する際に、page-break-after: always;のようなスタイルを使用して改ページの発生箇所を制御します。

CSSはC#でのPDF生成でどのような役割を果たしますか?

CSSはIronPDFを使用してHTMLからPDFを生成する際に、レイアウトや外観を調整するために重要です。開発者はドキュメント全体で一貫したフォーマットと改ページを管理できます。

ChromeレンダリングエンジンはHTMLからPDFへの変換にどのように貢献しますか?

IronPDFはChromeレンダリングエンジンを使用して、PDF出力がHTML入力に近くなるようにします。この一致は意図したデザインとレイアウトを変換プロセスで維持するために重要です。

PDFに手動で改ページを挿入することに関連する課題は何ですか?

特に大規模なドキュメントでは、手動で改ページを挿入することは非効率でエラーが発生しやすいです。IronPDFはこのプロセスを自動化し、開発者がフォーマットの問題ではなくコンテンツに集中できるようにします。

PDFで高画質の画像をどのように確保しますか?

PDF内で画像の品質を維持するために、CSSを使用して画像の寸法を適切に設定します。IronPDFを使用すると、width: 100%;height: auto;などのスタイルを適用して、画像が正しくスケーリングされるようにします。

PDF変換前にHTMLをカスタマイズするためにJavaScriptを利用できますか?

はい、IronPDFはJavaScriptをサポートしており、開発者がPDFに変換する前にHTMLコンテンツを動的に操作することができます。これによりカスタマイズやプレゼンテーションが向上します。

ドキュメント作成において改ページを自動化することの利点は何ですか?

IronPDFで改ページを自動化することにより、効率が上がりエラーが減少します。企業環境で一貫性とプロフェッショナルなドキュメントのプレゼンテーションを実現します。

PDF操作のためのC#ライブラリの使用を始める方法は?

IronPDFを使用し始めるには、公式ウェブサイトで利用可能な無料トライアルを通じてライセンスキーを取得します。このライブラリをC#プロジェクトに統合して、PDFドキュメントの操作を開始します。

ドキュメントプレゼンテーションで改ページ技術を習得することがなぜ重要ですか?

ページ区切りのテクニックを習得すると、ドキュメントが適切に構造化され読みやすくなるため、情報過多を回避し、プレゼンテーション全体の品質を向上させることができます。

.NET バージョンのサポート: IronPDF は、HTML から PDF への変換と改ページ機能に対してどの .NET バージョンをサポートしていますか?

IronPDFは、.NET 10、.NET 9、.NET 8、.NET 7、.NET 6、.NET Core、.NET Frameworkを含むすべての最新.NETバージョンで、HTMLからPDFへの変換とCSS改ページ機能をサポートしています。これらのバージョン間で同じレンダリングエンジンAPIを使用することで、一貫した動作が保証されます。

Curtis Chau
テクニカルライター

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

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