gpt4 book ai didi

java - iText 文档垂直对齐

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:00:50 26 4
gpt4 key购买 nike

我正在尝试将文档中的表格与页面底部垂直对齐。

我已将表格的垂直对齐方式设置为底部,但这只会使单元格与表格本身的底部对齐。

如何使文档本身与底部垂直对齐?

谢谢

最佳答案

经过多天的搜索……我的解决方案是将我的表格包裹在一个只有 1 个单元格的外部表格中。将单元格设置为页面高度减去两个边距并将垂直对齐方式设置为底部。将您希望底部对齐的所有内容添加到此表。

完整示例,为简洁起见省略了错误代码

public void run() {
try {
Document document = new Document(PageSize.LETTER, 10.0f, 10.0f, 36.0f, 36.0f);
PdfWriter pdfWriter = PdfWriter.getInstance(document, new FileOutputStream("test.pdf"));
document.open();

PdfPTable outerTable = new PdfPTable(1);
outerTable.setWidthPercentage(100.0f);

PdfPCell cell = new PdfPCell();
cell.setMinimumHeight(document.getPageSize().getHeight() - 36.0f - 36.0f);
cell.setVerticalAlignment(Element.ALIGN_BOTTOM);
cell.addElement(createTable());

outerTable.addCell(cell);
document.add(outerTable);
document.newPage();
document.close();
} catch (Exception e) {
e.printStackTrace();
}

}

public PdfPTable leftTable() {
PdfPTable table = new PdfPTable(1);
for (int i = 0; i < 50; i++) {
table.addCell("Cell: " + i);
}
return table;
}

public PdfPTable middleTable() {
PdfPTable table = new PdfPTable(1);
for (int i = 0; i < 10; i++) {
table.addCell("Cell: " + i);
}
return table;
}

public PdfPTable rightTable() {
PdfPTable table = new PdfPTable(1);
for (int i = 0; i < 100; i++) {
table.addCell("Cell: " + i);
}
return table;
}

public PdfPTable createTable() {
PdfPTable table = new PdfPTable(3);

table.getDefaultCell().setVerticalAlignment(Element.ALIGN_BOTTOM);
table.addCell(leftTable());
table.addCell(middleTable());
table.addCell(rightTable());

return table;
}

关于java - iText 文档垂直对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7568803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com