C# iTextSharpで日本語のPDFファイルを出力

C#

PDFファイルを出力するライブラリにiTextSharpがあります。
JAVAライブラリだったiTextを.net用に移植されたものです。(ありがたい!)

iTextSharpを使って、日本語でPDFファイルを出力します。

iTextSharpの準備

まずは、VisualStudioの設定ですが、手軽にnuGetでいきます。

NuGetパッケージマネージャの起動

iTextSharpで検索すればすぐ見つかりますので、インストール。
iTextSharpで検索

OKをクリック。
1607100003

あとは、同意→閉じる で準備完了。

コーディング

まず、以下のサンプルを試す場合は、
using System.IO;
using iTextSharp.text.pdf;
using iTextSharp.text;
を入れておいてください。

テキストを描画する方法はたくさんあるのですが、一番シンプルな方法は次のようにします。ただし、この方法では描画する位置は自由に指定できませんし、日本語を出力できません。(多分)

 

ShowTextでテキスト描画

今度は、任意の場所にテキストを配置する場合。
上と違って、PdfContentByte オブジェクトを先に用意して、MoveText(50, 50) で描画位置を指定しています。ちなみに、左下が(0,0)です。
pdfDocument.Add()で描画すると、左上から始まるくせに、左下が(0,0)とはなんぞ。という感じですが。

SimpleColumnを使って、任意の枠内にテキスト描画

ColumnTextのSetSimpleColumnメソッドを使えば、指定した枠内にテキストを描画できます。
フォントの指定方法を上の例ではFontBaseを使っていますが、以下ではFontFactoryでpdf.Fontを取得して指定しています。フォントはファイル名ではなくフォント名を指定します。

 

タイトルとURLをコピーしました