【问题标题】:iText7- How to add a canvas object to table?iText7-如何将画布对象添加到表格中?
【发布时间】:2017-01-11 07:15:23
【问题描述】:

现在我使用 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 中将图片绘制到表格中?

【问题讨论】:

  • 可能是this 会帮助你。

标签: java itext7


【解决方案1】:

您可以从独立的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);

【讨论】:

  • 如果它的效果让您满意,您能否点赞并接受我的回答,以便其他有相同问题的人更容易找到它?
【解决方案2】:

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

【讨论】:

  • 感谢您的回复!有没有办法将 pdfCanvas 设置为图像?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 2022-11-20
相关资源
最近更新 更多