我正在使用 XMLWorker 5.5.3 和 itextpdf 5.5.3 将 html 转换为 pdf。我的 html 包含包含包含图像的单元格的表格。即我的代码的一部分:
我的问题是某些单元格添加了填充> 0,因此包含图像的 td 比它应该的大。有没有办法为图像定义样式,所以不会有填充和边距?我正在查看Itextpdf 的 css Demo并没有找到解决方案,任何帮助/技巧/ideas 都会有所帮助。谢谢塔米
我正在使用 XMLWorker 5.5.3 和 itextpdf 5.5.3 将 html 转换为 pdf。我的 html 包含包含包含图像的单元格的表格。即我的代码的一部分:
我的问题是某些单元格添加了填充> 0,因此包含图像的 td 比它应该的大。有没有办法为图像定义样式,所以不会有填充和边距?我正在查看Itextpdf 的 css Demo并没有找到解决方案,任何帮助/技巧/ideas 都会有所帮助。谢谢塔米
我找到了一个解决方案:当我创建表格时,我定义了列宽:
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 ,而不是使用表格。只需将每个图像放在文档中的特定位置即可。(性能要快得多。