本示例说明如何自定义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>