iText-フォントの設定

この章では、iTextライブラリを使用してPDFドキュメントのテキストに色とフォントを設定する方法を説明します。

PDFでのテキストのフォントの設定

をインスタンス化することにより、空のPDFドキュメントを作成できます。 Documentクラス。このクラスをインスタンス化するときに、合格する必要があります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を作成する

ザ・ PdfDocumentclassは、iTextでPDFドキュメントを表すクラスです。このクラスはパッケージに属していますcom.itextpdf.kernel.pdf。このクラスを(書き込みモードで)インスタンス化するには、クラスのオブジェクトを渡す必要がありますPdfWriter そのコンストラクタに。

以下に示すように、PdfWriterオブジェクトをコンストラクターに渡して、PdfDocumentクラスをインスタンス化します。

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

PdfDocumentオブジェクトが作成されると、そのクラスによって提供されるそれぞれのメソッドを使用して、ページ、フォント、添付ファイル、イベントハンドラーなどのさまざまな要素を追加できます。

ステップ3:Documentクラスを作成する

ザ・ Document パッケージのクラス com.itextpdf.layoutは、自給自足のPDFを作成する際のルート要素です。このクラスのコンストラクターの1つは、クラスPdfDocumentのオブジェクトを受け入れます。

クラスのオブジェクトを渡すことにより、Documentクラスをインスタンス化します PdfDocument 以下に示すように、前の手順で作成しました。

// Creating a Document   
Document document = new Document(pdfDoc);

ステップ4:テキストを作成する

インスタンス化してテキストを作成します Text パッケージのクラス com.itextpdf.layout.element 以下に示すように。

// Creating text object 
Text text = new Text("Tutorialspoint");

ステップ5:フォントと色をテキストに設定する

を作成します PdfFont を使用するオブジェクト createFont() クラスのメソッド PdfFontFactory パッケージの com.itextpdf.kernel.font 以下に示すように

// Setting font of the text PdfFont 
font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);

次に、を使用してフォントをテキストに設定します setFont() の方法 Textこのメソッドのクラス。合格PdfFont 以下に示すように、パラメータとしてのオブジェクト。

text1.setFont(font);

テキストに色を設定するには、 setFontColor() 以下に示すように、Textクラスのメソッド。

// 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:ドキュメントに段落を追加する

を使用して段落をドキュメントに追加します add() の方法 Document 以下に示すように、クラス。

doc.add(paragraph1)

ステップ8:ドキュメントを閉じる

を使用してドキュメントを閉じます close() の方法 Document 以下に示すように、クラス。

// Closing the document 
document.close();

次のJavaプログラムは、iTextライブラリを使用してPDFのテキストに色とフォントを設定する方法を示しています。名前の付いたPDFドキュメントを作成しますfonts.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("Tutorialspoint");              
   
      // 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ドキュメントを見つけることができます。