使用itext在pdf单元格中设置图像上方的文本

时间:2014-05-02 09:18:33

标签: android pdf itext

我使用iText创建了pdf。在那里,如何将背景图像设置为特定的PdfCell并将文本放在同一个单元格中。

我通过以下方式将背景图像设置为该单元格:

    cell.addElement(image_green_left);

如果同时显示文字和图片,则仅显示图片并隐藏文字。

    cell.addElement(image_green_left);
    cell.addElement(new Paragraph("Test 3"));
    table.addCell(cell);

如何同时显示文字和图片?任何的想法。 提前谢谢。

1 个答案:

答案 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);
    }
}

现在cellPdfPCell的{​​{1}}文字,bgImage是图片的路径,请执行以下操作:

Image image = Image.getInstance(bgImage);
cell.setCellEvent(new ImageBackground(image));

现在,您将拥有一个充当单元格背景的图像。