java - 书签未被复制

标签 java pdf pdf-generation itext bookmarks

在你问之前,是的,我已经阅读了另一篇 SO 文章,以及 iText 的创建者 Bruno Lowagie 的一篇关于如何做到这一点的文章。事实仍然是我无法让它发挥作用。通过 Eclipse 跟踪执行情况使其看起来好像正在工作,但实际上没有使用此代码复制任何书签。

我可能错过了一些非常愚蠢的东西,请有人给我指出正确的方法:

void resize (String pdfIn, String pdfOut, float x, float y, float scale) {
PdfReader reader = new PdfReader(pdfIn);
List <HashMap <String, Object>> bookmarks = SimpleBookmark.getBookmark ( reader ) ;
// landscape letter:
Document doc = new Document(new RectangleReadOnly(792, 612), 0, 0, 0, 0);
PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(pdfOut));
doc.open();
PdfContentByte cb = writer.getDirectContent();
for(int i=1; i<=reader.getNumberOfPages(); i++){
    doc.newPage();
    PdfImportedPage page = writer.getImportedPage(reader, i);
    // page rescaling, mandatory:
    cb.addTemplate(page, scale, 0, 0, scale, x, y);
}
writer.setOutlines ( bookmarks ) ;
doc.close();

有什么线索吗?

最佳答案

我对此不太确定,但是

写下这一行

List <HashMap <String, Object>> bookmarks = SimpleBookmark.getBookmark ( reader ) ;

之后

doc.open();

关于java - 书签未被复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21117284/

相关文章:

javascript - 从 URL AngularJS 加载 HTML 内容

java - 如何将java中的电话号码格式化为Android

jquery - 以 HTML 格式生成 PDF 文件的缩略图

java - PDF 到图像转换时出现 NullPointerException

javascript - Google 文档查看器显示 "No Preview Available"

pdf - Perl 可以使用 CSS 将图像打印成 PDF 吗?

java - 如何获取maven元数据?

java - 如何在Java中获取二维列表的元素?例如,列表<列表<整数>>

java - 返回 null 和抛出异常有什么区别?

java - 使用相同的 API 编写 Word 和 PDF 文档