合并PDF并在Java中使用iText添加书签

我将多个PDF合并为一个PDF,并且需要为最终PDF构建书签。例如,我有三个PDF:doc1.pdf,doc2.pdf和doc3.pdf,doc1和doc2属于Group1,doc3属于Group2。我需要合并它们,并且必须为生成的PDF构建嵌套书签,如下所示:

Group1 

doc1

doc2

Group2

doc3

等等

回答:

我已经制作了一个MergeWithOutlines示例,该示例使用PdfCopy(我假设您已经知道该部分)连接了三个现有的PDF

这样做时,我创建了一个outlines像这样的对象:

ArrayList<HashMap<String, Object>> outlines = new ArrayList<HashMap<String, Object>>();

然后向该outlines对象添加元素:

HashMap<String, Object> helloworld = new HashMap<String, Object>();

helloworld.put("Title", "Hello World");

helloworld.put("Action", "GoTo");

helloworld.put("Page", String.format("%d Fit", page));

outlines.add(helloworld);

当我想要一些层次时,我介绍kids

ArrayList<HashMap<String, Object>> kids = new ArrayList<HashMap<String, Object>>();

HashMap<String, Object> link1 = new HashMap<String, Object>();

link1.put("Title", "link1");

link1.put("Action", "GoTo");

link1.put("Page", String.format("%d Fit", page));

kids.add(link1);

helloworld.put("Kids", kids);

如果要输入没有链接的条目,请删除放置Action和的行Page

完成后,将轮廓添加到复制对象:

copy.setOutlines(outlines);

查看生成的PDF,您将在书签面板中看到轮廓。

以上是 合并PDF并在Java中使用iText添加书签 的全部内容, 来源链接: utcz.com/qa/429252.html

回到顶部