pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michel Onwordi" <monwo...@polytechnic.edu.na>
Subject Re: Duplicating an existing link annotation
Date Mon, 19 Mar 2012 07:45:29 GMT
Please stop sending me mail
On Wed, 14 Mar 2012 17:55:07 -0400
  "Sheila M. Morrissey" <Sheila.Morrissey@ithaka.org> wrote:
> I wonder if the PDBorderStyleDictionary didn't end up serialized as 
>an indirect object --
> Maybe something like the following would work:
> PDBorderStyleDictionary bsd = null;
> COSObjectable cob = newLink.getBorderStyle();
> if (cob instanceof COSObject){
> 	COSObject cos = (COSObject)cob;
> 	COSBase base = cos.getObject();
> 	if (base instanceof PDBorderStyleDictionary){
> 		bsd = (PDBorderStyleDictionary) base;
> 	}
> }
> else if (cob instanceof PDBorderStyleDictionary){
> 	bsd = PDBorderStyleDictionary cob;
> }
> If (bsd != null){
>  // off you go
> }
> else {
>  // hmmm.. what happened to my dictionary?
> }
> Sheila
> -----Original Message-----
>From: Gilad Denneboom [mailto:gilad.denneboom@gmail.com] 
> Sent: Sunday, March 11, 2012 5:32 PM
> To: users@pdfbox.apache.org
> Subject: Duplicating an existing link annotation
> 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 
> 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 
> to. HOWEVER, if I then run the result file through the same code, 
> 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 
> fails... Any help with this will be appreciated.
> Am I creating the new link in an incorrect way?
> Thanks in advance, Gilad.
Everything in this email and its attachments relating to the official business of the Polytechnic
of Namibia is proprietary to the Polytechnic of Namibia. If the email is used other than for
official business of the Polytechnic of Namibia or the views and opinions expressed in the
email are not authorised by the Polytechnic of Namibia, the views and opinions expressed are
those of the individual sending the email.

The content of this email is confidential, legally privileged and protected by law. The person
addressed in the email is the sole authorised recipient. Please notify the sender immediately
if this email and its attachments have unintentionally reached you; do not read, copy, disseminate
or use the content in any way and delete the email and any copies of it.

Whilst all reasonable precautions are taken to ensure the accuracy and integrity of the information,
and that this email and its attachments are free from any virus, the Polytechnic of Namibia
accepts no liability however arising or responsibility whatsoever in this regard, and in keeping
with good computing practice, the scanning of files and attachments is advised. 

View raw message