iText7-如何将canvas对象添加到表中?

时间:2017-01-11 07:15:24

标签: java itext7

现在我使用pdfCanvas来绘制矩形图,代码如下:  PdfPage page = pdf.getFirstPage();

    PdfCanvas canvas = new PdfCanvas(page, true);
    float x = 35;
    float y = 480;
    canvas.rectangle(x, y, 30, 30).stroke();

实际上,我想将矩形添加到表格中

 Table table = new Table(2);
    table.setWidth(261.5f);

iText 5,画布可以设置为图像对象并添加到表格中。但在iText 7中,该功能不起作用。如何在iText7中将图片绘制到表格中?

2 个答案:

答案 0 :(得分:2)

您可以从独立的PdfCanvas创建XObject,将XObject转换为Image,然后将Image添加到Table }:

    Rectangle boundingBox = new Rectangle(20,470,50,50);
    PdfFormXObject xObject = new PdfFormXObject(boundingBox);
    xObject.makeIndirect(pdfDoc);//Make sure the XObject gets added to the document
    PdfCanvas canvas = new PdfCanvas(xObject, pdfDoc);//Create a canvas from the XObject
    canvas.setStrokeColor(Color.BLUE).setLineWidth(3f).rectangle(35, 480, 30, 30).stroke();
    Image rect = new Image(xObject);
    table.addCell(rect);

答案 1 :(得分:0)

iText网站的开发者角落有一个全面的教程,通过各种示例解释如何将图像添加到表格中。 查看http://developers.itextpdf.com/examples/tables/clone-adding-images-table