我使用iText创建了pdf。在那里,如何将背景图像设置为特定的PdfCell并将文本放在同一个单元格中。
我通过以下方式将背景图像设置为该单元格:
cell.addElement(image_green_left);
如果同时显示文字和图片,则仅显示图片并隐藏文字。
cell.addElement(image_green_left);
cell.addElement(new Paragraph("Test 3"));
table.addCell(cell);
如何同时显示文字和图片?任何的想法。 提前谢谢。
答案 0 :(得分:1)
创建自己的PdfPCellEvent
实现,例如:
class ImageBackground implements PdfPCellEvent {
protected Image image;
public ImageBackground(Image image) {
this.image = image;
}
public void cellLayout(PdfPCell cell, Rectangle position, PdfContentByte[] canvases) {
PdfContentByte cb = canvases[PdfPTable.BACKGROUNDCANVAS];
Image.scaleToFit(position.getWidth() , position.getHeight());
Image.setAbsolutePosition(position.getBottom(), position.getLeft());
cb.addImage(image);
}
}
现在cell
是PdfPCell
的{{1}}文字,bgImage
是图片的路径,请执行以下操作:
Image image = Image.getInstance(bgImage);
cell.setCellEvent(new ImageBackground(image));
现在,您将拥有一个充当单元格背景的图像。