我假設你的意思是iText版本5.5.x(特別是因爲任務在iText 7.x中變得微不足道)。
此外,我假設您的意思是添加一小段文字而不需要換行。
在這種情況下,看看iText示例FoobarFilmFestival。樞轉碼:
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
document.open();
String foobar = "Foobar Film Festival";
...
Font times = new Font(bf_times, 12);
...
PdfContentByte canvas = writer.getDirectContent();
...
Phrase phrase = new Phrase(foobar, times);
ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase, 200, 572, 0);
ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, phrase, 200, 536, 0);
ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase, 200, 500, 0);
ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase, 200, 464, 30);
ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase, 200, 428, -30);
document.close();
ColumnText.showTextAligned
允許用戶在給定的對準和角度的給定位置自由地定位文本行。
相反,如果你的意思是增加的需要斷行的較長一段文字,看iText的例子MovieCalendar。樞轉碼:
Rectangle rect = getPosition(screening);
ColumnText column = new ColumnText(directcontent);
column.setSimpleColumn(new Phrase(screening.getMovie().getMovieTitle()),
rect.getLeft(), rect.getBottom(),
rect.getRight(), rect.getTop(), 18, Element.ALIGN_CENTER);
column.go();
此代碼繪製在矩形rect
施加換行符必要的Phrase
其中。