Java如何在iText中自定义短语对象?

本示例说明如何自定义iTextPhrase对象。我们可以Phrase通过传递float参数来更改对象的默认行距。我们也可以使用该setLeading()方法。

我们还可以设置的默认字体,Phrase以便每个Chunk添加到该对象的字体都具有相同的字体。如果您希望块具有不同的字体,则可以在它自己的块对象中进行设置。

让我们看下面的例子:

package org.nhooo.example.itextpdf;

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfWriter;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class PhraseCustomizeDemo {
    public static void main(String[] args) {
        Document document = new Document();

        try {
            PdfWriter.getInstance(document,
                    new FileOutputStream("PhraseCustomizeDemo.pdf"));
            document.open();

            // 创建一个短语对象,将其设置为32
            // 添加一些块。
            Phrase phrase1 = new Phrase(20);

            // 设置短语对象的主要字体信息。
            phrase1.setFont(FontFactory.getFont(FontFactory.COURIER, 12,
                    Font.BOLD, new BaseColor(0, 0, 255)));

            for (int i = 0; i < 50; i++) {
                phrase1.add(new Chunk("Hello "));
            }

            // 在短语中添加块并替换字体信息
            // 对于这个块。
            phrase1.add(new Chunk("Hello",
                    FontFactory.getFont(FontFactory.HELVETICA)));
            document.add(phrase1);

            // 通过定义开头和字符串来创建短语。
            Phrase phrase2 = new Phrase(40, "Hello World!!!");
            document.add(phrase2);

            // 通过定义开头创建短语并添加一个块
            //这句话。该块具有自己的字体,字体
            // 样式和颜色。
            Phrase phrase3 = new Phrase(50,
                    new Chunk("Hello I am BIG", FontFactory.getFont(
                            FontFactory.HELVETICA, 40,
                            Font.ITALIC, new BaseColor(255, 0, 0))));
            document.add(phrase3);
        } catch (DocumentException | FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            document.close();
        }
    }
}

Maven依赖

<!-- http://repo1.maven.org/maven2/com/itextpdf/itextpdf/5.5.10/itextpdf-5.5.10.jar -->
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.10</version>
</dependency>