0

我需要将 XML 文件转换为 PDF。我选择 iText 和 XML Worker 来处理这个。

xml 包含我想在最终文档中用作脚注的标签。我读到了我已经用来设置页眉和页脚的 PdfPageEventHelper ,但这不适合脚注,考虑到内容是动态的(脚注的可变列表,如果有的话)。

我无法修复所有页面的页边距:有些页面没有脚注,我不想在每页底部保留一个大的空白区域。

有没有办法告诉 iText 延迟特定标签的处理或要求它在文档的不同表格/单元格/...中呈现它?

任何帮助/想法将不胜感激!

4

1 回答 1

0

据我所知,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 和脚注,似乎几乎没有任何对该功能的请求,至少在开放网络中是这样。


如果尾注是您的替代选择,它们应该更容易实现,特别是您可以使用高级方法来实现。

脚注是页面底部的注释,而尾注则收集在章节、卷或整部作品末尾的单独标题下。与脚注不同,尾注的优点是不影响正文的排版,但可能会给不得不在正文和尾注之间来回移动的读者带来不便。

(维基百科中的注释(排版) )

在这里你只需要收集一些列表中的笔记,当你到达章节/卷/作品的结尾时,你添加一个标题,然后将所有笔记作为正常内容。

于 2016-02-02T08:32:55.687 回答