pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilad Denneboom <gilad.denneb...@gmail.com>
Subject Duplicating an existing link annotation
Date Sun, 11 Mar 2012 21:32:15 GMT
Hi all,

I'm trying to duplicate an existing link annotation (PDAnnotationLink) from
one page to others. I'm using this code:

    private static PDAnnotationLink duplicateLink(PDAnnotationLink link,
PDPage page) {
        PDAnnotationLink newLink = new PDAnnotationLink();
        newLink.setAction(link.getAction());
        newLink.setColour(link.getColour());
        newLink.setRectangle(link.getRectangle());
        newLink.setAppearance(link.getAppearance());
        newLink.setAppearanceStream(link.getAppearanceStream());
        newLink.setHighlightMode(link.getHighlightMode());
        newLink.setAnnotationFlags(link.getAnnotationFlags());
        newLink.setBorderStyle(link.getBorderStyle());
        newLink.setPage(page);
        return newLink;
    }

This works when I run the tool on a file I've created and added some links
to. HOWEVER, if I then run the result file through the same code, the
following Exception is thrown:
Exception in thread "main" java.lang.ClassCastException:
org.apache.pdfbox.cos.COSObject cannot be cast to
org.apache.pdfbox.cos.COSDictionary
    at
org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationLink.getBorderStyle(PDAnnotationLink.java:131)

Since this is a RunTimeException I can't even catch it and my application
fails... Any help with this will be appreciated.
Am I creating the new link in an incorrect way?

Thanks in advance, Gilad.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message