我需要使用 iText 创建 PDF 文件。在第一页,页面顶部应该有一个标题,然后在剩余页面区域(水平和垂直)的中心正好有一个文档标题。
谷歌了很多,我发现最好的解决方案是创建一个表格并使用它的单元格对齐方法。问题是:要正确使用垂直对齐,我需要设置单元格的最小高度(cell.setMinimumHeight(...);) 但我不知道还剩多少高度!使用带有一些硬编码偏移量的 document.getPageSize ().getHeight () 看起来不是一个好选择——我不想在更改字体大小等时更改此硬编码。
这是页面顶部“标题”的代码,如果它很重要:
Paragraph preface = new Paragraph();
Paragraph o = new Paragraph("test", headerFont);
o.add(new LineSeparator(1, 100, Color.BLACK, Element.ALIGN_CENTER, -5));
preface.add(o);
o.add(new Paragraph(" "));
document.add(preface);