据我所知,iText 中还没有用于创建脚注的高级机制(截至 5.5.8 版)。
这方面的情况很可能仍然像 2008 年一样,当时@BrunoLowagie在 iText 支持邮件列表上写了这个答案:
回复:[iText 问题] 脚注
Bruno Lowagie 2008 年 2 月 22 日星期五 10:49:20 -0800
Markos Fragkakis 写道:
Markos Fragkakis 写道:
大家好,
我需要在同一页面中的某些单词上创建脚注。有没有办法做到这一点?
马科斯
我是否需要使用上标在我的单词上绘制 1,然后使用 onEndPage 事件来完成其余的工作?有没有更优雅的解决方案?
没有提供脚注的内置机制。
您建议的方法很接近,但您可能会遇到页面底部没有足够空间来显示脚注的问题。我担心使用 2 个 ColumnText 对象(一个用于内容,一个用于脚注)的更不优雅的解决方案将是唯一的解决方案:您使用后一列跟踪脚注的必要高度并将内容添加到前一列,只要两列的高度之和适合页面。
此致,
布鲁诺
因此,看起来您必须切换到这种中级机制,创建两个ColumnText
实例,一个用于当前页面的常规内容,一个用于那里的脚注。
有人可能想知道为什么 iText 中没有高级脚注机制。然而,考虑到我发现的点击量很少,谷歌搜索 iText 和脚注,似乎几乎没有任何对该功能的请求,至少在开放网络中是这样。
如果尾注是您的替代选择,它们应该更容易实现,特别是您可以使用高级方法来实现。
脚注是页面底部的注释,而尾注则收集在章节、卷或整部作品末尾的单独标题下。与脚注不同,尾注的优点是不影响正文的排版,但可能会给不得不在正文和尾注之间来回移动的读者带来不便。
(维基百科中的注释(排版) )
在这里你只需要收集一些列表中的笔记,当你到达章节/卷/作品的结尾时,你添加一个标题,然后将所有笔记作为正常内容。