如何使用 Flying Saucer 项目创建 TOC 或索引?
我使用飞碟项目将 HTML 文件转换为 PDF 格式。这些文档包含重复信息 - 场所及其地址,我们将其称为元素。在文档的末尾,我需要创建一个索引。每个索引条目应该有一个页码,引用添加元素的页面。一页上可以容纳的元素数量会有所不同。
如何创建文档索引?或者当库向 PDF 文档添加某种类型的 HTML 元素时我如何收到通知?
I convert HTML files to PDF format using The Flying Saucer Project. This are documents containing repetitive information - premises and their addresses, let's call them elements. At the end of a document I need to create an index. Each index entry should have a page number referring to the page where element was added. The number of elements that can fit on one page will vary.
How can I create a document index? Or how can I get notified while library adds certain type of HTML element to the PDF document?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个:
在 CSS 中
在 HTML 中
Try this:
In CSS
In HTML
我找到了可能的答案。您必须开始使用 org.xhtmlrenderer.render.BlockBox 类。方法
public void layout(LayoutContext c, int contentStart)
用于在PDF文档中正确放置任何HTML元素。此方法会迭代一个元素几次。最后一次迭代后,将设置有效的页码。如果您标记要索引的元素(例如使用类属性),则可以使用以下代码获取页码:
I found possible answer. You have to start playing with
org.xhtmlrenderer.render.BlockBox
class. A methodpublic void layout(LayoutContext c, int contentStart)
is used to place properly any HTML element in the PDF document. This method iterates through an element a few times. After the last iteration a valid page number is set.If you mark an element you want to index, by for example using a class attribute, then you can get a page number using following code: