iText7- 如何将 canvas 对象添加到 table?
iText7- How to add a canvas object to table?
现在我用pdfCanvas画了一个矩形,代码如下:
PdfPage 页面 = pdf.getFirstPage();
PdfCanvas canvas = new PdfCanvas(page, true);
float x = 35;
float y = 480;
canvas.rectangle(x, y, 30, 30).stroke();
其实我想把矩形加成table
Table table = new Table(2);
table.setWidth(261.5f);
iText 5,可以将canvas设置为图像对象并添加到table。但在 iText 7 中,该功能不起作用。如何在 iText7 中将图片绘制到 table?
在 iText 网站的开发者专区有一个综合教程,解释(通过各种示例)如何将图像添加到 table。
查看 http://developers.itextpdf.com/examples/tables/clone-adding-images-table
您可以从独立 XObject
创建 PdfCanvas
,将 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);
现在我用pdfCanvas画了一个矩形,代码如下: PdfPage 页面 = pdf.getFirstPage();
PdfCanvas canvas = new PdfCanvas(page, true);
float x = 35;
float y = 480;
canvas.rectangle(x, y, 30, 30).stroke();
其实我想把矩形加成table
Table table = new Table(2);
table.setWidth(261.5f);
iText 5,可以将canvas设置为图像对象并添加到table。但在 iText 7 中,该功能不起作用。如何在 iText7 中将图片绘制到 table?
在 iText 网站的开发者专区有一个综合教程,解释(通过各种示例)如何将图像添加到 table。 查看 http://developers.itextpdf.com/examples/tables/clone-adding-images-table
您可以从独立 XObject
创建 PdfCanvas
,将 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);