使用itextpdf和XMLWorker将html转换为pdf时的图像填充

时间:2014-11-03 10:58:13

标签: itextpdf xmlworker

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

enter image description here

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

1 个答案:

答案 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,而不是使用表格。只需将每个图像放在文档中的特定位置即可。 (性能要快得多。