透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
「Portable Document Format」、またはPDFは、Adobeによって作成されたファイル形式です。 PDFは、文書や写真の形式を整える必要がある論文を提示するときに便利です。 現在の世界では、PDFファイルは必需品となっており、あらゆる企業分野で文書の作成や請求書発行に利用されています。 PDFライブラリが多数市場に出ているおかげで、PDFの作成はほぼ直感的になりました。プロジェクトで使用する前に、それぞれの利点と特徴を比較し、適切なPDFライブラリを選ぶことが重要です。
この記事では、iTextSharp C#を使用してPDFにページ番号を追加する方法を紹介します。 また、iTextSharpとIronPDFを比較します。
任意のIDEを使用して、新しいC#プロジェクトを作成します。
新しいPDFオブジェクトを作成します。
HTMLフッターにページ番号を追加します。
HTML素材からPDFを作成します。
IronPDFは、開発者が簡単にPDFを生成、表示、および編集できる堅牢なPDF .NETフレームワークです。 IronPDFは、内部でクロムエンジンを使用して稼働する高度なツールです。 HTML5、JavaScript、CSS、および画像ファイルをPDFに変換し、カスタムヘッダーおよびフッターを追加し、ブラウザで表示される通りにPDFを正確に生成できます。 IronPDFは、多くのオンラインおよびネットフォーマット(HTML、ASPX、Razor View、MVCなど)をサポートしています。
多数のPDFドキュメントのページを簡単に分離および結合する能力。
IronPDFのドキュメントについて詳しく知りたい場合は、こちらを参照してください。
Visual Studio ツール内で、NuGet パッケージ マネージャーを選択し、ツールの下にある Visual コマンドライン インターフェイスを見つけることができます。 以下のコマンドをパッケージ管理ターミナルタブに入力してください。
Install-Package IronPdf
または、パッケージマネージャーの方法を使用することもできます。 パッケージを直接ソリューションにインストールするには、Visual StudioのNuGetパッケージマネージャーオプションを使用できます。 NuGetサイト上でパッケージを検索するための検索ボックスが利用可能です。以下のスクリーンショットに示されているように、パッケージマネージャで「IronPDF」を検索するだけで済みます。
上記の画像には関連する検索結果の一覧が表示されています。 パッケージをシステムにインストールするために、必要な選択を行ってください。
パッケージのダウンロードとインストールが完了したので、現在のプロジェクトで利用できます。
iTextSharpは、C#でPDFドキュメントを作成および修正するための柔軟なライブラリです。 それは暗号化、PDF結合、テキストおよび画像の抽出など、いくつかの機能を提供します。 iTextSharpは、PDFにページ番号を追加するなど、さまざまなタスクに効率的に対応できるツールです。
NuGetパッケージマネージャーを使用してiTextを探します。 iText7およびiText.pdfhtmlは、iTextの機能が多くのパッケージに分かれているため、インストールが必要です。
ビジュアルコマンドラインインターフェースを選択する場合、以下のパッケージをインストールする必要があります:
Install-Package iTextSharp
最新バージョンであるiText 7を、私たちのソリューションで使用しています。
PDFファイルにページ番号を追加することは、IronPDFの包括的なライブラリを使用することで簡単になります。 例として、以下のコードをご覧ください。
using IronPdf;
static void main(string [] args)
{
var renderer = new IronPdf.HtmlToPdf();
private string header = "<h1>Hello Ironpdf!<h1>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(header);
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};
// Add footer
pdf.AddHtmlFooters(htmlFooter);
pdf.SaveAs("output.pdf");
}
using IronPdf;
static void main(string [] args)
{
var renderer = new IronPdf.HtmlToPdf();
private string header = "<h1>Hello Ironpdf!<h1>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(header);
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};
// Add footer
pdf.AddHtmlFooters(htmlFooter);
pdf.SaveAs("output.pdf");
}
Imports IronPdf
Shared Sub main(ByVal args() As String)
Dim renderer = New IronPdf.HtmlToPdf()
private String header = "<h1>Hello Ironpdf!<h1>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(header)
Dim htmlFooter As New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}
' Add footer
pdf.AddHtmlFooters(htmlFooter)
pdf.SaveAs("output.pdf")
End Sub
まず、PDFに変換する必要があるHTMLテキストを定義します。 このHTMLコンテンツは、単一のHTML段落または全体のHTMLページで構成される場合があります。 次に、HTML を PDF に変換する機能であるRenderHtmlAsPdfを提供するHTMLToPdfクラスのインスタンスを作成します。
HTML コンテンツは RenderHtmlAsPdf 関数の引数として渡されます。 PDFに変換する必要があるHTML素材を指定します。 ページ番号は、プレースホルダーとして、またはこのHTMLテキストのフッター部分にある{page} of {total-pages}として表されます。
作成されたPDFドキュメントは、このメソッドによってPdfDocumentオブジェクトとして返されます。 SaveAs メソッドを使用して、PDFドキュメントを「output.pdf」という名前のファイルに保存します。 または、OpenInDefaultPDFViewer 関数を使用して、作成したPDFドキュメントをシステムのデフォルトPDFリーダーで開くことができます。 また、上記の方法を使用して既存のPDFファイルにページ番号を追加することもできます。
IronPDFのコードについて詳しく知るには、こちらを参照してください。
まず、iTextSharpを使用して新しい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 doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));
doc.Open();
doc.Add(new Paragraph("Hello, world!"));
// Attach page number event to PDF writer
writer.PageEvent = new PageNumberEventHandler();
// Close the document
doc.Close();
}
}
public class PageNumberEventHandler : PdfPageEventHelper
{
public override void OnOpenDocument(PdfWriter writer, Document document)
{
base.OnOpenDocument(writer, document);
}
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
PdfPTable table = new PdfPTable(1);
table.TotalWidth = 300f;
table.HorizontalAlignment = Element.ALIGN_CENTER;
PdfPCell cell = new PdfPCell(new Phrase($"Page {writer.PageNumber}"));
cell.Border = 0;
table.AddCell(cell);
table.WriteSelectedRows(0, -1, 150, document.Bottom, writer.DirectContent);
}
public override void OnCloseDocument(PdfWriter writer, Document document)
{
base.OnCloseDocument(writer, document);
}
}
}
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 doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));
doc.Open();
doc.Add(new Paragraph("Hello, world!"));
// Attach page number event to PDF writer
writer.PageEvent = new PageNumberEventHandler();
// Close the document
doc.Close();
}
}
public class PageNumberEventHandler : PdfPageEventHelper
{
public override void OnOpenDocument(PdfWriter writer, Document document)
{
base.OnOpenDocument(writer, document);
}
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
PdfPTable table = new PdfPTable(1);
table.TotalWidth = 300f;
table.HorizontalAlignment = Element.ALIGN_CENTER;
PdfPCell cell = new PdfPCell(new Phrase($"Page {writer.PageNumber}"));
cell.Border = 0;
table.AddCell(cell);
table.WriteSelectedRows(0, -1, 150, document.Bottom, writer.DirectContent);
}
public override void OnCloseDocument(PdfWriter writer, Document document)
{
base.OnCloseDocument(writer, document);
}
}
}
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 doc As New Document()
Dim writer As PdfWriter = PdfWriter.GetInstance(document, New FileStream("output.pdf", FileMode.Create))
doc.Open()
doc.Add(New Paragraph("Hello, world!"))
' Attach page number event to PDF writer
writer.PageEvent = New PageNumberEventHandler()
' Close the document
doc.Close()
End Sub
End Class
Public Class PageNumberEventHandler
Inherits PdfPageEventHelper
Public Overrides Sub OnOpenDocument(ByVal writer As PdfWriter, ByVal document As Document)
MyBase.OnOpenDocument(writer, document)
End Sub
Public Overrides Sub OnEndPage(ByVal writer As PdfWriter, ByVal document As Document)
MyBase.OnEndPage(writer, document)
Dim table As New PdfPTable(1)
table.TotalWidth = 300F
table.HorizontalAlignment = Element.ALIGN_CENTER
Dim cell As New PdfPCell(New Phrase($"Page {writer.PageNumber}"))
cell.Border = 0
table.AddCell(cell)
table.WriteSelectedRows(0, -1, 150, document.Bottom, writer.DirectContent)
End Sub
Public Overrides Sub OnCloseDocument(ByVal writer As PdfWriter, ByVal document As Document)
MyBase.OnCloseDocument(writer, document)
End Sub
End Class
End Namespace
まず、新しいDocumentおよびPdfWriterオブジェクトを作成して、空のPDFファイルを作成します。PDFドキュメントには、テキスト、写真、テーブル、その他の種類のコンテンツを含めることができます。 新しい段落を使用して、デモンストレーションのためのサンプルテキストを追加しましょう。 重要なステップは、PDFドキュメントにページ番号を追加することです。 iTextSharpのページイベントを使用してこれを行います。 PDF生成プロセス中に特定のイベントが発生したときに呼び出されるメソッドをオーバーライドできるようにするために、まずPdfPageEventHelperクラスを継承するクラスを構築しましょう。
このクラスでは OnEndPage 関数がオーバーライドされており、現在のページ番号を含む1つのセルを持つテーブルを追加します。 最後に、ドキュメントを閉じる前に、PageNumberEventHandler クラスのインスタンスを PdfWriter オブジェクトに接続する必要があります。 この設定により、PageNumberEventHandlerクラスのOnEndPage関数は、新しいページがPDFドキュメントに追加されるたびに呼び出され、各ページの下部にページ番号が追加されます。 既存のPDFドキュメントを使用してページ番号を追加することもできます。
要約すると、IronPDFの専門性、使いやすさ、そして.NET環境とのシームレスな統合により、HTMLからPDFへの変換および関連機能を必要とするシナリオにおいて最適な選択肢として位置付けられていますが、iTextSharpもまだC# PDF操作ライブラリの分野で強力な競争相手です。 IronPDFを使用すると、最新の開発環境で成功するために必要な容易さ、効果的な操作、そして柔軟性を持って、HTMLコンテンツから請求書、レポート、動的に生成された文書を作成することができます。
IronPDF の $749 Lite エディションには、永久ライセンス、アップグレードオプション、および1年間のソフトウェアメンテナンスがすべて含まれています。 透かし入りの試用期間により、ユーザーは実際の環境で製品を評価することができます。 ライセンスページにアクセスしてください。 このウェブサイトにアクセスして、Iron Software についての詳細を学んでください。