读书人

itext汉语本的绝对位置放置

发布时间: 2012-12-22 12:05:06 作者: rapoo

itext中文本的绝对位置放置
itext中表格可以使用

table.writeSelectedRows(0, -1, x, y, writer.getDirectContent());

来实现绝对位置放置。那文本段落呢...

当我们不需要itext对每个单词、句子、段落实现自动格式的时候,或是想使用特殊布局,就可以使用PdfContentByte来实现绝对位置放置。
PdfContentByte的初始化:
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("test.pdf"));PdfContentByte cb = writer.DirectContent;

将文本写入ContentByte中时,必须使用方法beginText()和endText,同时也必须设置字体和尺寸。有两种方法来写入和放置文本。
方法一:
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);  cb.beginText();cb.setFontAndSize(bf, 12);cb.showTextAligned(PdfContentByte.ALIGN_CENTER, text + "This text is centered", 250, 700, 0);cb.endText();


方法二:
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);cb.beginText();cb.setFontAndSize(bf, 12);cb.setTextMatrix(100, 400);cb.showText("Text at position 100,400.");cb.endText();

读书人网 >编程

热点推荐