Itext-setting-font
iText-フォントの設定
この章では、iTextライブラリを使用してPDFドキュメント内のテキストに色とフォントを設定する方法を説明します。
PDFのテキストのフォントの設定
*Document* クラスをインスタンス化することにより、空のPDFドキュメントを作成できます。 このクラスをインスタンス化する際、コンストラクターにパラメーターとして *PdfDocument* オブジェクトを渡す必要があります。
文書に段落を追加するには、 Paragraph クラスをインスタンス化し、* add()メソッドを使用してこのオブジェクトを文書に追加する必要があります。 それぞれ setFontColor()および setFont()*メソッドを使用して、テキストに色とフォントを設定できます。
以下は、PDFドキュメントのテキストに色とフォントを設定する手順です。
ステップ1:PdfWriterオブジェクトの作成
*PdfWriter* クラスは、PDFのDocWriterを表します。 このクラスは、パッケージ *com.itextpdf.kernel.pdf* に属します。 このクラスのコンストラクターは、PDFが作成されるファイルのパスを表す文字列を受け入れます。
以下に示すように、文字列値(PDFを作成する必要があるパスを表す)をコンストラクターに渡すことにより、PdfWriterクラスをインスタンス化します。
//Creating a PdfWriter
String dest = "C:/itextExamples/fonts.pdf";
PdfWriter writer = new PdfWriter(dest);
このタイプのオブジェクトがPdfDocument(クラス)に渡されると、このドキュメントに追加されたすべての要素が指定されたファイルに書き込まれます。
ステップ2:PdfDocumentの作成
*PdfDocument* クラスは、iTextでPDFドキュメントを表すクラスです。 このクラスは、パッケージ *com.itextpdf.kernel.pdf* に属します。 (書き込みモードで)このクラスをインスタンス化するには、クラス *PdfWriter* のオブジェクトをコンストラクターに渡す必要があります。
以下に示すように、PdfWriterオブジェクトをコンストラクターに渡すことにより、PdfDocumentクラスをインスタンス化します。
//Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
PdfDocumentオブジェクトを作成したら、そのクラスが提供するそれぞれのメソッドを使用して、ページ、フォント、添付ファイル、イベントハンドラーなどのさまざまな要素を追加できます。
ステップ3:Documentクラスを作成する
パッケージ com.itextpdf.layout の Document クラスは、自給自足のPDFを作成する際のルート要素です。 このクラスのコンストラクターの1つは、クラスPdfDocumentのオブジェクトを受け入れます。
以下に示すように、前の手順で作成した PdfDocument クラスのオブジェクトを渡すことにより、Documentクラスをインスタンス化します。
//Creating a Document
Document document = new Document(pdfDoc);
ステップ4:テキストの作成
以下に示すように、パッケージ com.itextpdf.layout.element の Text クラスをインスタンス化して、テキストを作成します。
//Creating text object
Text text = new Text("finddevguides");
ステップ5:テキストにフォントと色を設定する
以下に示すように、パッケージ com.itextpdf.kernel.font のクラス PdfFontFactory の* createFont()メソッドを使用して、 *PdfFont オブジェクトを作成します。
//Setting font of the text PdfFont
font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);
次に、このメソッドに Text クラスの* setFont()メソッドを使用して、フォントをテキストに設定します。 以下に示すように、パラメータとして *PdfFont オブジェクトを渡します。
text1.setFont(font);
テキストに色を設定するには、次に示すように、Textクラスの* setFontColor()*メソッドを呼び出します。
//Setting font color
text.setFontColor(Color.GREEN);
ステップ6:段落にテキストを追加する
*Paragraph* クラスオブジェクトを作成し、以下に示すように、* add()*メソッドを使用して上記で作成したテキストを追加します。
//Creating Paragraph
Paragraph paragraph = new Paragraph();
//Adding text to the paragraph
paragraph.add(text);
ステップ7:文書に段落を追加する
以下に示すように、 Document クラスの* add()*メソッドを使用して、文書に段落を追加します。
doc.add(paragraph1)
ステップ8:ドキュメントを閉じる
以下に示すように、 Document クラスの* close()*メソッドを使用してドキュメントを閉じます。
//Closing the document
document.close();
例
次のJavaプログラムは、iTextライブラリを使用してPDFのテキストに色とフォントを設定する方法を示しています。 fonts.pdf という名前のPDFドキュメントを作成し、テキストをフォーマットし、パス C:/itextExamples/ に保存します
このコードを FormatingTheText.java という名前のファイルに保存します。
import com.itextpdf.io.font.FontConstants;
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Text;
public class FormatingTheText {
public static void main(String args[]) throws Exception {
//Creating a PdfWriter object
String dest = "C:/itextExamples/fonts.pdf";
PdfWriter writer = new PdfWriter(dest);
//Creating a PdfDocument object
PdfDocument pdf = new PdfDocument(writer);
//Creating a Document object
Document doc = new Document(pdf);
//Creating text object
Text text1 = new Text("finddevguides");
//Setting font of the text
PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);
text1.setFont(font);
//Setting font color
text1.setFontColor(Color.GREEN);
//Creating text object
Text text2 = new Text("Simply Easy Learning");
text2.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA));
//Setting font color
text2.setFontColor(Color.BLUE);
//Creating Paragraph
Paragraph paragraph1 = new Paragraph();
//Adding text1 to the paragraph
paragraph1.add(text1);
paragraph1.add(text2);
//Adding paragraphs to the document
doc.add(paragraph1);
doc.close();
System.out.println("Text added to pdf ..");
}
}
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します-
javac FormatingTheText.java
java FormatingTheText
実行時に、上記のプログラムは、次のメッセージを表示するPDFドキュメントを作成します。
Text added to pdf ..
指定したパスを確認すると、以下に示すように、作成されたPDFドキュメントを見つけることができます。