itextpdf:PdfPTable不占用高度

时间:2015-09-29 15:33:20

标签: java pdf itext itextpdf

我将我的发布商核心从itext-2 ....迁移到了itextpdf-5.5.6

在itext-2中,我将一张图像放入一张PdfPTable的单元格中,我的桌子上的图像尺寸与图像相同。 现在,在itextpdf-5.5.6中,图像的大小就像那个单元格一样。

例如我使用

table.setTotalWidth(450);

并且在核心itextpdf中它也计算高度:

//ITEXTPDF
calculateWidths();
calculateHeights();

calculateHeight调用getRowHeight

getRowHeight(k, true);

并且它与itext-2中的方法不同:

  • itext返回400
  • itextpdf返回23

我为itextpdf重新编写,发现在pdfLine.getMaxSize(..)中有以下代码:

if (chunk.isImage()) {
  Image img = chunk.getImage();
  if (chunk.changeLeading()) {
    float height = chunk.getImageHeight() + chunk.getImageOffsetY() + img.getSpacingBefore();
    image_leading = Math.max(height, image_leading);
    }
  }

在itext的情况下我没有这样的条件:

if (chunk.changeLeading()){......}

是否有解决它的平均值?

1 个答案:

答案 0 :(得分:0)

我发现问题出在哪里:

Paragraph para = new Paragraph(new Chunk((Image) element, 0, 0, Boolean.FALSE));

块的最后一个参数是changeLeading,它只需要更改为Boolean.TRUE

感谢大家的回复