我正在使用XMLWorker 5.5.3和itextpdf 5.5.3将html转换为pdf。 我的html包含带有conatin图像的单元格的表格。 即我的代码的一部分:
我的问题是有些单元格添加填充> 0所以包含图像的td比它应该大。 有没有办法为图像定义样式,所以不会有填充和边距? 我正在查看css Demo of Itextpdf而没有找到解决方案,任何帮助/技巧/想法都会有所帮助。 谢谢 塔米
答案 0 :(得分:0)
我找到了一个解决方案: 当我创建表时,我定义了列宽:
PdfPTable table = new PdfPTable(vColWidth.length);
table.setWidthPercentage(100);
table.setWidths(vColWidth);
创建我定义的Image对象时:
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);
此解决方案适用于o.k.如果表没有colSpan,rowSpan那么大或复杂。 在复杂的情况下,我建议人们将图片表转换为Canvas,而不是使用表格。只需将每个图像放在文档中的特定位置即可。 (性能要快得多。