我需要在 iText PDF 表格中添加图像,但单元格的位置(由图像组成)将取决于用户给出的索引(行号和列号)。如果没有给出任何图像的索引,则该表之间也可能有空单元格。
如何在随机位置在itext pdf中添加一个单元格?
我在各种论坛上寻找过这个,但没有成功。我真的很感激帮助。
iText 的Table
类中没有用于将单元格添加到任意位置的 API。做出这样决定的原因在于 iText 的Table
架构:如果尚未构建表格(即不知道是否会有某些单元格的 rowpan 和/或 colpan 大于 1),iText 无法知道是否它可以在某个自定义位置放置一个单元格。
不过,好消息是所有布局相关的代码只有在表格添加到文档后才会触发。因此,始终可以执行以下操作:
Cell
对象填充它Cell
对象在上面的片段中,我将展示,在将单元格添加到表格后,将一些对角线内容添加到表格中。图像可以采用相同的方法。
int numberOfRows = 3;
int numberOfColumns = 3;
Table table = new Table(numberOfColumns);
List<List<Cell>> cells = new ArrayList<>();
for (int i = 0; i < numberOfRows; i++) {
List<Cell> row = new ArrayList<>();
for (int j = 0; j < numberOfColumns; j++) {
Cell cell = new Cell();
row.add(cell);
table.addCell(cell);
}
cells.add(row);
}
// Add some text diagonally
cells.get(0).get(0).add(new Paragraph("Hello"));
cells.get(1).get(1).add(new Paragraph("diagonal"));
cells.get(2).get(2).add(new Paragraph("world!"));