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>