-1

我正在使用 XMLWorker 5.5.3 和 itextpdf 5.5.3 将 html 转换为 pdf。我的 html 包含包含包含图像的单元格的表格。即我的代码的一部分:

在此处输入图像描述

我的问题是某些单元格添加了填充> 0,因此包含图像的 td 比它应该的大。有没有办法为图像定义样式,所以不会有填充和边距?我正在查看Itextpdf 的 css Demo并没有找到解决方案,任何帮助/技巧/ideas 都会有所帮助。谢谢塔米

4

1 回答 1

0

我找到了一个解决方案:当我创建表格时,我定义了列宽:

 PdfPTable table = new PdfPTable(vColWidth.length);
 table.setWidthPercentage(100);
 table.setWidths(vColWidth);

创建我定义的图像对象时:

RegularImg = Image.getInstance(imgsrc); 
RegularImg.setSpacingAfter(0);
RegularImg.setSpacingBefore(0);

定义 td 时:

cell = new PdfPCell(RegularImg);
if(colSpan!="") 
    cell.setColspan(Integer.parseInt(colSpan));
if(rowSpan!= "") 
    cell.setRowspan(Integer.parseInt(rowSpan));
if(cellHight!="") 
    cell.setFixedHeight(Float.parseFloat(cellHight));

table.addCell(cell);

如果表不是很大或 colSpan 和 rowSpan 不太复杂,则此解决方案可以正常工作。在复杂的情况下,我建议人们将图片表格转换为 Canvas ,而不是使用表格。只需将每个图像放在文档中的特定位置即可。(性能要快得多。

于 2014-11-12T05:15:54.747 回答