フッターコンテンツにスキップ
PDF ツール

ExcelからPDFへのコンバータ(無料オンラインツールのリスト)

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.

View Full Comparison

"ポータブルドキュメントフォーマット"、またはPDFは、Adobeによって作成されたファイル形式です。 PDF は、テキストと画像のフォーマットを一貫して保つ必要があるドキュメントを提示する際に便利です。 現在の世界では、PDFファイルは重要であり、すべての企業部門で文書作成や請求書作成に利用されています。 現在市場に出回っているいくつかのPDFライブラリのおかげで、PDFの作成はほぼ直感的になりました。プロジェクトでPDFライブラリを利用する前に、それぞれの利点や特徴を比較することが重要です。

この記事では、iText C#を使用してPDFにページ番号を追加する方法を見ていきます。 また、iTextIronPDF を比較します。

iText C#を使用してPDFにページ番号を追加する方法

  1. 任意のIDEを使用して新しいC#プロジェクトを作成します。
  2. 新しいPDFオブジェクトを作成します。
  3. HTMLフッターにページ番号を追加します。
  4. HTML コンテンツから PDF を作成します。
  5. PDF ファイルをコンピューターに保存します。

IronPDFとは

IronPDF は、開発者が簡単に PDF を作成、表示、および編集するために使用する強力な .NET Frameworkです。 IronPDFは、内部でChromiumエンジンを実行する高度なツールです。 HTML5、JavaScript、CSS、および画像ファイルを PDF に変換し、カスタムヘッダーおよびフッターを追加し、ブラウザーで表示されるとおりに正確に PDF を生成できます。 多くのオンラインおよびネットフォーマット、HTML、ASPX、Razor View、MVCを含む、IronPDFに対応しています。

IronPDFの機能

  • .NET C# コードを使用して PDF ファイルを作成、読み取り、簡単に編集できます。
  • HTML ログイン フォームを使用したログインを可能にするために、ユーザー エージェント、プロキシ、クッキー、HTTP ヘッダー、およびフォーム変数を管理しながら、Web サイトの URL リンクから PDF を作成します。
  • 既存の PDF ファイルから画像を抽出します。
  • PDF 内に要素を含める: テーブル、テキスト、画像、ブックマーク、透かし、ヘッダー、フッターなど。
  • 複数の PDF ドキュメントからページを簡単に分割および結合できます。

IronPDF ドキュメントの詳細については、こちらをご参照ください。

IronPDFのインストール

Visual Studio ツール内で、NuGet パッケージ マネージャーを選択すると、ツールの下に Visual コマンド ライン インターフェイスを見つけることができます。 パッケージ管理ターミナルタブに以下のコマンドを入力してください。

Install-Package IronPdf

あるいは、パッケージマネージャメソッドを使用できます。 Visual StudioのNuGetパッケージマネージャオプションを使用して、ソリューションにパッケージをインストールすることができます。 NuGetウェブサイトでパッケージを見つけるための検索ボックスがあります。パッケージマネージャで"IronPDF"を検索するだけで、以下のスクリーンショットのようになります。

iTextを使用してC#でPDFにページ番号を追加する方法:図1 - パッケージマネージャからIronPDFをインストールする

上記の画像は関連する検索結果のリストを示しています。 システムにパッケージをインストールするには、必要な選択を行ってください。

パッケージがダウンロードされインストールされたので、現在のプロジェクトで利用することができます。

iTextとは何か

iTextは、C#でPDFドキュメントを生成および修正するための柔軟なライブラリです。 暗号化、PDF の結合、テキストおよび画像の抽出など、いくつかの機能を提供します。 iTextは、PDFにページ番号を追加するなど、多数のタスクに効率的なツールです。

iTextの特徴

  • PDFドキュメントを生成するためのAPIがiTextライブラリを通じて提供されます。
  • iTextプログラムを使用して、HTMLおよびXML文字列をPDFファイルにパースすることができます。
  • iText ライブラリを使用して PDF ドキュメントにブックマーク、ページ番号、およびマーカーを追加できます。
  • iText ライブラリを使用して、PDF ドキュメントを複数の PDF に分割したり、複数の PDF ドキュメントを単一の PDF に結合したりできます。
  • iTextを使用して、PDFフォームを修正できます。

iTextをインストールする

NuGet パッケージ マネージャーを使用して iText を検索します。 iTextの機能は多くのパッケージに分かれているため、iTextとiText.pdfhtmlのインストールが必要です。

Visualコマンドラインインターフェイスを選択した場合、以下のパッケージをインストールする必要があります。

Install-Package iText7
Install-Package itext7.pdfhtml
Install-Package iText7
Install-Package itext7.pdfhtml
SHELL

iTextは最新バージョンであり、私たちのソリューションで使用しているものです。

IronPDFを使用したページ番号の追加

PDFファイルへのページ番号の追加は、IronPDFの包括的なライブラリを通じて簡単に行われます。 例を示すコードを以下にご覧ください。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Initialize the IronPdf renderer
        var renderer = new IronPdf.HtmlToPdf();

        // HTML content to convert to PDF
        string header = "<h1>Hello Ironpdf!</h1>";

        // Render the HTML content to PDF
        PdfDocument pdf = renderer.RenderHtmlAsPdf(header);

        // Define the footer with page number placeholders
        HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
        {
            HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
        };

        // Add footer to the PDF
        pdf.AddHtmlFooters(htmlFooter);

        // Save the output PDF file
        pdf.SaveAs("output.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Initialize the IronPdf renderer
        var renderer = new IronPdf.HtmlToPdf();

        // HTML content to convert to PDF
        string header = "<h1>Hello Ironpdf!</h1>";

        // Render the HTML content to PDF
        PdfDocument pdf = renderer.RenderHtmlAsPdf(header);

        // Define the footer with page number placeholders
        HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
        {
            HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
        };

        // Add footer to the PDF
        pdf.AddHtmlFooters(htmlFooter);

        // Save the output PDF file
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Initialize the IronPdf renderer
		Dim renderer = New IronPdf.HtmlToPdf()

		' HTML content to convert to PDF
		Dim header As String = "<h1>Hello Ironpdf!</h1>"

		' Render the HTML content to PDF
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(header)

		' Define the footer with page number placeholders
		Dim htmlFooter As New HtmlHeaderFooter With {.HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"}

		' Add footer to the PDF
		pdf.AddHtmlFooters(htmlFooter)

		' Save the output PDF file
		pdf.SaveAs("output.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

説明

  1. レンダラーの初期化: HTMLからPDFへの変換機能を提供するHtmlToPdfのインスタンスを作成します。
  2. HTML コンテンツの定義: PDF に変換する必要のある HTML コンテンツを指定します。
  3. HTMLコンテンツのレンダリング: HTMLをPDFドキュメントに変換するためにRenderHtmlAsPdf関数が使用されます。
  4. フッターの定義: ページ番号は HTML フッターテキスト内のプレースホルダーとして表されます。
  5. フッターを追加して PDF を保存: ドキュメントにフッターを適用し、PDF ファイルとして保存します。

iTextを使用してC#でPDFにページ番号を追加する方法: 図2 - IronPDF: ページ番号付きの出力PDF

IronPDF コードの詳細については、こちらをご参照ください。

iTextを使用してページ番号を追加する

まず、iTextを使用して新しいPDFドキュメントを生成します。 ページ番号付きの新しい PDF ドキュメントを作成する方法の基本的な例をご覧ください。

using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create a new PDF document
            Document document = new Document();
            PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));

            // Open the document to add content
            document.Open();
            document.Add(new Paragraph("Hello, world!"));

            // Attach page number event to PDF writer
            writer.PageEvent = new PageNumberEventHandler();

            // Close the document
            document.Close();
        }
    }

    public class PageNumberEventHandler : PdfPageEventHelper
    {
        public override void OnEndPage(PdfWriter writer, Document document)
        {
            base.OnEndPage(writer, document);

            // Create a table for the page number
            PdfPTable table = new PdfPTable(1);
            table.TotalWidth = 300f;
            table.HorizontalAlignment = Element.ALIGN_CENTER;

            // Add page number to the table cell
            PdfPCell cell = new PdfPCell(new Phrase($"Page {writer.PageNumber}"));
            cell.Border = 0;
            table.AddCell(cell);

            // Write the table at the bottom of the page
            table.WriteSelectedRows(0, -1, 150, document.Bottom, writer.DirectContent);
        }
    }
}
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create a new PDF document
            Document document = new Document();
            PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));

            // Open the document to add content
            document.Open();
            document.Add(new Paragraph("Hello, world!"));

            // Attach page number event to PDF writer
            writer.PageEvent = new PageNumberEventHandler();

            // Close the document
            document.Close();
        }
    }

    public class PageNumberEventHandler : PdfPageEventHelper
    {
        public override void OnEndPage(PdfWriter writer, Document document)
        {
            base.OnEndPage(writer, document);

            // Create a table for the page number
            PdfPTable table = new PdfPTable(1);
            table.TotalWidth = 300f;
            table.HorizontalAlignment = Element.ALIGN_CENTER;

            // Add page number to the table cell
            PdfPCell cell = new PdfPCell(new Phrase($"Page {writer.PageNumber}"));
            cell.Border = 0;
            table.AddCell(cell);

            // Write the table at the bottom of the page
            table.WriteSelectedRows(0, -1, 150, document.Bottom, writer.DirectContent);
        }
    }
}
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf

Namespace ConsoleApp1
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Create a new PDF document
			Dim document As New Document()
			Dim writer As PdfWriter = PdfWriter.GetInstance(document, New FileStream("output.pdf", FileMode.Create))

			' Open the document to add content
			document.Open()
			document.Add(New Paragraph("Hello, world!"))

			' Attach page number event to PDF writer
			writer.PageEvent = New PageNumberEventHandler()

			' Close the document
			document.Close()
		End Sub
	End Class

	Public Class PageNumberEventHandler
		Inherits PdfPageEventHelper

		Public Overrides Sub OnEndPage(ByVal writer As PdfWriter, ByVal document As Document)
			MyBase.OnEndPage(writer, document)

			' Create a table for the page number
			Dim table As New PdfPTable(1)
			table.TotalWidth = 300F
			table.HorizontalAlignment = Element.ALIGN_CENTER

			' Add page number to the table cell
			Dim cell As New PdfPCell(New Phrase($"Page {writer.PageNumber}"))
			cell.Border = 0
			table.AddCell(cell)

			' Write the table at the bottom of the page
			table.WriteSelectedRows(0, -1, 150, document.Bottom, writer.DirectContent)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

説明

  1. PDFドキュメントの作成: PdfWriterを初期化し、空のPDFファイルを生成します。
  2. コンテンツの追加: ドキュメントに段落などの基本コンテンツを追加します。
  3. ページ番号付け: ページ番号を含めるためにiTextのイベント処理を利用します。 PdfPageEventHelperを継承したカスタムクラスを作成します。
  4. OnEndPageをオーバーライド: カスタムクラス内でOnEndPageメソッドをオーバーライドし、各ページの下部にページ番号を追加します。
  5. ドキュメントのクローズ: ドキュメントを閉じて完成させます。

iTextを使用してC#でPDFにページ番号を追加する方法: 図3 - iText: ページ番号付きの出力PDF

結論

要するに、IronPDFの特化性、使いやすさ、および.NET環境とのシームレスな統合は、HTMLからPDFへの変換と関連機能を必要とするシナリオに最適な選択肢として位置づけていますが、iTextもまだC# PDF操作ライブラリの風景の中で強力な競争者です。 IronPDF を使用すれば、最新の開発環境で成功するために必要な簡便さ、効果性、および適応性で、HTML コンテンツから請求書、レポート、および動的に生成されたドキュメントを作成できます。

IronPDF の Lite エディションには、永久ライセンス、アップグレード オプション、および 1 年間のソフトウェア メンテナンスが含まれています。 ウォーターマークのある試用期間は、実際の設定で製品を評価できるようにユーザーに提供されます。 詳細はライセンスページをご覧ください。 Ironソフトウェアに関する詳細は、こちらのウェブサイトをご覧ください。

[[i: (iTextはその所有者の登録商標です。 このサイトは、iTextと提携しておらず、承認されてもおらず、後援されてもいません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。)]]

よくある質問

iTextSharp を使用して C# で PDF にページ番号を追加するにはどうすればよいですか?

C# で iTextSharp を使用してページ番号を追加するには、PdfPageEventHelper を継承するカスタムクラスを作成します。OnEndPage メソッドをオーバーライドしてページ番号を挿入し、このイベントを PdfWriter インスタンスに添付します。

なぜPDFはさまざまな分野で重要なのでしょうか?

PDF は、企業セクター全体での文書作成や請求書発行に必要なテキストと画像の一貫した形式を維持します。文書をプロフェッショナルな方法で提示するために信頼できます。

IronPDFをPDF操作に利用する利点は何ですか?

IronPDF は .NET 環境内で PDF の作成、表示、編集のための強力な機能を提供します。HTML、JavaScript、画像を PDF に変換することに優れ、カスタムヘッダー、フッター、透かしをサポートしています。

IronPDF は JavaScript サポート付きの HTML から PDF への変換に対応していますか?

はい、IronPDF は JavaScript を含む HTML コンテンツを、Web ブラウザに表示されるレイアウトや機能を維持しながら PDF に変換できます。

C# プロジェクトに IronPDF をインストールする方法は?

Visual Studio の NuGet パッケージ マネージャを使用して IronPDF をインストールできます。'IronPDF' を検索してプロジェクトに追加し、機能を利用し始めます。

IronPDF が提供する試用期間の重要性は何ですか?

IronPDF の試用期間により、開発者は実際のアプリケーションでその機能を探索し、ライセンスを購入する前にその適合性を評価するのに役立ちます。

ページ番号を追加する場合、iTextSharp と IronPDF はどのように比較されますか?

iTextSharp はイベントハンドリングを使用してページ番号を追加しますが、IronPDF はヘッダーとフッターのための HTML テンプレートを使用したより簡単なアプローチを提供し、使いやすさを求める .NET 開発者にとって理想的です。

C# プロジェクト用の PDF ライブラリを選択する際に考慮すべき点は何ですか?

各ライブラリが提供する機能を考慮してください。たとえば、IronPDF は HTML から PDF への変換に特化しており .NET Frameworkとよく統合されますが、iTextSharp は強力な暗号化とテキスト抽出機能を提供します。

iTextSharp はページ番号を追加するために .NET 10 と互換性がありますか、それとも iText 7 を使用する必要がありますか?

iTextSharp(バージョン5.x)は正式に非推奨となり、メンテナンスモードとなっています。セキュリティ修正のみが提供されますが、新機能のアップデートはありません。.NET 10を直接ターゲットとしていないため、最新 for .NETリリースで使用すると互換性の制限が発生する可能性があります。新規プロジェクトや.NET 10へのアップグレードを計画しているプロジェクトには、最新のフレームワークをサポートし、iTextSharpよりも改良されたiText 7(またはiText Core)を強くお勧めします。([itextpdf.com](https://itextpdf.com/products/itextsharp?utm_source=openai))

Curtis Chau
テクニカルライター

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

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

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね