我正在使用iText来生成PDF。我创建了一个自定义的PdfPageEventHelper,为每个页面添加一个页眉(和页脚)。如何在iText生成的PDF中将图像添加到我的标题中?
我的问题是我不知道如何添加图像,以便它显示在“标题框”中。我只知道如何将图像添加到文档内容本身(如果有意义的话)。
下面是一些代码片段...
public static void main(String[] args) {
Rectangle headerBox = new Rectangle(36, 54, 559, 788);
/* ... */
Document document = new Document(PageSize.A4, 36, 36, 154, 54);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(FILENAME));
HeaderFooter event = new HeaderFooter();
writer.setBoxSize("headerBox", headerBox);
writer.setPageEvent(event);
document.open();
addContent();
document.close();
}
static class HeaderFooter extends PdfPageEventHelper {
public void onEndPage(PdfWriter writer, Document document) {
Rectangle rect = writer.getBoxSize("headerBox");
// add header text
ColumnText.showTextAligned(writer.getDirectContent(),
Element.ALIGN_RIGHT, new Phrase("Hello", fontHeader1),
rect.getLeft(), rect.getTop(), 0);
// add header image
try {
Image img = Image.getInstance("c:/mylogo.PNG");
img.scaleToFit(100,100);
document.add(img);
} catch (Exception x) {
x.printStackTrace();
}
}
}
到图像添加到标题中的适当的方式任何建议都非常感谢!
罗布
应该'writer'在'onEndPage'与'pdfWriter'交换? –
@denisk这是一个错字,抱歉 - 但感谢您的好眼睛。 –