You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@pdfbox.apache.org by Kai Keggenhoff <Ka...@thinkproject.com> on 2023/08/01 08:15:16 UTC

Adding annotations to PDFs - "expected a name object"

Hello everyone,

we're using PDFBox to import annotations from XFDF files and add them to existing PDF files.

First we create a FDFDocument from the XFDF, then we fetch the list of FDFAnnotations from it via
< FDFDocument>.getCatalog().getFDF().getAnnotations()

Then we iterate over this list, create PDAnnotations from the COS objects of the FDFAnnotation with PDAnnotation.createAnnotation()
and add the PDAnnotation to the list of page annotations we got from PDPage.getAnnotations()

For most PDFs and most XFDF files, this works without any issues.
However, some PDF files with merged annotations, when opened in Adobe Reader, produce a huge number of popups with the message

"Expected a name object" / "Namensobjekt wurde erwartet"

before the PDF is fully rendered, while the original file does not show such a behaviour.
When such PDF files are opened in Foxit PDF Reader or PDFDebugger, they are rendered just fine without errors.

We saw this happen every now and then over the years, with all PDFBox V2 versions, including 2.0.29,
but it appears to have become more frequent recently, so user complaints are becoming more frequent too.

As I'm unable to share sample PDFs/XFDFs due to compliance reasons, I just have the question if anyone happens to have some hints
what I could look for in an affected PDF (preferably using PDFDebugger) to find out what Adobe Reader doesn't like ?

Ideally, I then can try to compare it with the original and find the part of the process which "breaks" the result.

Thanks in advance,

Kai

[cid:image001.png@01D9C45C.B9E94C50]<https://thinkproject.com/de/>
Kai Keggenhoff / Senior Software Developer

thinkproject.com <https://thinkproject.com/de>
[cid:image002.png@01D9C45C.B9E94C50]<https://www.linkedin.com/company/thinkproject-dach/posts/?feedView=all>[cid:image003.png@01D9C45C.B9E94C50]<https://twitter.com/thinkproject_>
Read our legal information (imprint) here<https://thinkproject.com/de/impressum/>.


AW: Adding annotations to PDFs - "expected a name object"

Posted by Kai Keggenhoff <Ka...@thinkproject.com>.
Hi Tilman,

I've tested removing CP as suggested with

PDAnnotation annot = PDAnnotation.createAnnotation(dict);
if ("Line".equalsIgnoreCase(annot.getSubtype())
        && annot.getCOSObject().containsKey(COSName.CP)
        && !annot.getCOSObject().containsKey(COSName.CAP))
{
        annot.getCOSObject().removeItem(COSName.CP);
}

("dict" is the COSDictionary of the FDFAnnotation)

This appears to work for all the cases I've found with a given "caption-style" but no other caption related attributes.
So for the time being, I'll use this and revisit this once 2.0.30 is released.

Thanks again for the fixes and suggestions !

All the best,
Kai

-----Ursprüngliche Nachricht-----
Von: Tilman Hausherr <TH...@t-online.de>
Gesendet: Donnerstag, 3. August 2023 19:37
An: users@pdfbox.apache.org
Betreff: Re: Adding annotations to PDFs - "expected a name object"

CAUTION - External Sender


I've fixed the issues I mentioned and a few more, I'm not sure if this
will help you or not.

https://issues.apache.org/jira/browse/PDFBOX-5644

https://repository.apache.org/content/groups/snapshots/org/apache/pdfbox/pdfbox-app/2.0.30-SNAPSHOT/

Tilman


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


Re: Adding annotations to PDFs - "expected a name object"

Posted by Tilman Hausherr <TH...@t-online.de>.
I've fixed the issues I mentioned and a few more, I'm not sure if this 
will help you or not.

https://issues.apache.org/jira/browse/PDFBOX-5644

https://repository.apache.org/content/groups/snapshots/org/apache/pdfbox/pdfbox-app/2.0.30-SNAPSHOT/

Tilman


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


Re: Adding annotations to PDFs - "expected a name object"

Posted by Tilman Hausherr <TH...@t-online.de>.
A possible problem is that CP is set, but CAP doesn't exist. The 
specification mentions that CP is valid only if CAP is true.

So I wonder what happens if you remove CP ("inline" is the default anyway).

Also, IT is empty, should be a name, LineArray or LineDimension, so 
maybe this code isn't good:


         String intent = element.getAttribute("intent");
         if (intent.isEmpty())
         {
             // not conforming to spec, but qoppa produces it and Adobe 
accepts it
             intent = element.getAttribute("IT");
         }
         setIntent(intent);

Tilman


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


Re: Adding annotations to PDFs - "expected a name object"

Posted by "sahyoun@fileaffairs.de" <sa...@fileaffairs.de>.
Hi Kai,

so you have an approach you can follow. If there are further issues let
us know.

caption-style is likely using rich text settings which PDFBox doesn't
support.

Maybe you can submit a snippet of the XFDF containing that attribute so
that we can take a look if time permits.

BR
Maruan

Am Mittwoch, dem 02.08.2023 um 09:54 +0000 schrieb Kai Keggenhoff:
> Hi Maruan,
> 
> the process was mentioned in the original mail and is as follows:
> 
> XFDF is parsed to DOM
> DOM is used to create a FDFDocument
> FDFAnnotation(s) are read from
> FDFDocument.getCatalog().getFDF().getAnnotations()
> For each FDFAnnotation, a PDAnnotation is created from the
> FDFAnnotation's.getCOSObject()
> Then the PDAnnotation is added to the list of annotations on the page
> - PDPage.getAnnotations().add(...)
> 
> But I just found that if I remove the "caption-style" attribute from
> the original XFDF and replace it with caption="no" like in the XFDF
> created by Foxit, there are suddenly no more popups about "expected a
> name object" in Adobe Reader.
> 
> I think this might be due to the Adobe Reader versions our customers
> use.
> In the original, complete XFDF from Adobe Reader, which was produced
> by multiple people with different Adobe Readers, there are "freetext"
> annotation stating
> 
> xfa:APIVersion="Acrobat:10.1.5"
> 
> I think that version is like ten years old.
> The freetext annotation isn't a problem at all, I just used that as
> an indicator to the Reader version.
> 
> I guess I will start to look for this "caption-style" attribute and
> replace it as a workaround.
> 
> Thank you for all the pointers !
> 
> Kai
> 
> -----Ursprüngliche Nachricht-----
> Von: sahyoun@fileaffairs.de <sa...@fileaffairs.de>
> Gesendet: Mittwoch, 2. August 2023 11:34
> An: users@pdfbox.apache.org
> Betreff: Re: Adding annotations to PDFs - "expected a name object"
> 
> CAUTION - External Sender
> 
> 
> Hello Kai,
> 
> Am Mittwoch, dem 02.08.2023 um 09:24 +0000 schrieb Kai Keggenhoff:
> > Hi Maruan,
> > 
> > we let Adobe Reader submit a form with flags set for XFDF, include
> > annotations and "ExclNonUserAnnots" (table 237 in the PDF 32000-
> > 1:2008 spec)
> > The XFDF is sent to a server address specific for the document and
> > then processed.
> > 
> 
> how does the annottaion created by adobe Reader look in PDF Debugger?
> 
> You also mentioned that it doesn't work for merged PDFs - does it
> work
> for the original PDF wo merging? How is the merging done?
> 
> BR
> Maruan
> 
> 
> > Usually, when sent by Adobe Reader, the full XFDF contains
> > additional
> > "f", "fields" and "id" nodes which I omitted for brevity.
> > Here, I also reformatted it to make it easier to read.
> > As we only read the children of "annots" when we process the XFDF
> > to
> > create annotation objects to add to the PDPage, I don't think these
> > elements are relevant.
> > 
> > For some time now, we also offer our users the option to use Foxit
> > Web SDK to annotate PDFs and upload them to our system.
> > A line annotation exported from Foxit looks like this
> > 
> > <?xml version="1.0" encoding="UTF-8"?>
> > <xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
> >         <annots>
> >                 <line page="0" color="#58D3D3"
> > date="D:20230802111256+02'00'" flags="print"
> >                         name="af1a7071-8b53-4219-953b-9ed2fe3e32d4"
> > rect="125.326691,718.888428,206.180573,803.442627"
> >                         title="PKM ServicePoint (conclude GmbH)"
> > creationdate="D:20230802111256+02'00'"
> >                         opacity="1" subject="Linie" style="solid"
> > width="2.000000"
> >                         head="None" tail="None"
> > start="129.076691,799.692627" end="202.430573,722.638428"
> > caption="no">
> >                         <popup page="0" color="#58D3D3"
> > date="D:20230802111256+02'00'" flags="print"
> >                                 name="7133e39c-0ade-4a9e-aabf-
> > b4a0e1bcce06" rect="129.076691,722.638428,202.430573,799.692627"
> > open="no"/>
> >                 </line>
> >         </annots>
> >         <ids original="88E08BC8B4D62452C697BC93996CC7CE"
> > modified="A3D15A58D538804D652927671920C3A1"/>
> > </xfdf>
> > 
> > Strangely, when this is imported into the same PDF as the XFDF from
> > Adobe Reader (it's a different line of course), the resulting PDF
> > is
> > fine.
> > I think I need to compare these two in detail.
> > 
> > Meanwhile, here's how the imported annotation from Adobe Reader
> > looks
> > in PDFDebugger
> > https://cde-dev.conclude.com/img/line-annot.png
> > 
> > Thank you very much for the input,
> > 
> > Kai
> > 
> > -----Ursprüngliche Nachricht-----
> > Von: sahyoun@fileaffairs.de <sa...@fileaffairs.de>
> > Gesendet: Mittwoch, 2. August 2023 10:22
> > An: users@pdfbox.apache.org
> > Betreff: Re: Adding annotations to PDFs - "expected a name object"
> > 
> > CAUTION - External Sender
> > 
> > 
> > Hello Kai,
> > 
> > Am Mittwoch, dem 02.08.2023 um 07:56 +0000 schrieb Kai Keggenhoff:
> > > 
> > > 
> > > 
> > > Hi Tilman,
> > > 
> > > thank you for the suggestion. Turns out, it's "Line" annotations.
> > > When I import
> > > 
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
> > >                 <annots>
> > >                                <line width="3" color="#FF0000"
> > > caption-style="Inline"
> > > 
> > > creationdate="D:20230526112815+02'00'" flags="print"
> > > 
> > > start="1770.007568,1614.721436" end="1791.373535,1658.575195"
> > > 
> > > date="D:20230526112815+
> > > 02'00'" page="0"
> > > 
> > > rect="1764.007568,1608.721436,1797.373535,1664.575195"
> > >                                               subject="Linie"
> > > title="John Doe">
> > >                                                <popup
> > > flags="print,nozoom,norotate" open="no"
> > > 
> > > page="0" rect="1780.690552,-92.000000,1964.690552,0.000000"/>
> > >                                </line>
> > >                 </annots>
> > > </xfdf>
> > > 
> > 
> > how was the xfdf generated. Can you compare to an xfdf generated
> > when
> > exporting using Adobe Acrobat?
> > 
> > BR
> > Maruan
> > 
> > 
> > > 
> > > into either its original source or just a fresh, DIN A4 PDF with
> > > a
> > > single line of text created with PDFBox, Adobe Reader will
> > > complain.
> > > At this point, I switched from 2.0.29 to 3.0.0beta1 and the
> > > result
> > > was the same.
> > > 
> > > In the resulting PDF, PDFDebugger shows what is in the attachment
> > > -
> > > an empty "NM" entry.
> > > I then tried to set either "Name" or "NM" (and ultimately both)
> > > in
> > > dictionary of the PDAnnotation to "Line" with
> > > 
> > > PDAnnotation a =
> > > PDAnnotation.createAnnotation(xfdfAnnotation.getCOSObject());
> > > a.getCOSObject().setItem(COSName.NM, new COSString("Line"));
> > > a.getCOSObject().setItem(COSName.NAME, new COSString("Line"));
> > > 
> > > but while these values show up fine in PDFDebugger,
> > > Adobe Reader will still complain.
> > > 
> > > Would you happen to have more suggestions how I could work around
> > > this please ?
> > > 
> > > Thanks in advance,
> > > 
> > > Kai
> > > 
> > > -----Ursprüngliche Nachricht-----
> > > Von: Tilman Hausherr <TH...@t-online.de>
> > > Gesendet: Dienstag, 1. August 2023 19:41
> > > An: users@pdfbox.apache.org
> > > Betreff: Re: Adding annotations to PDFs - "expected a name
> > > object"
> > > 
> > > CAUTION - External Sender
> > > 
> > > 
> > > Try to edit the xfdf file so that it has less annotations until
> > > you
> > > know
> > > which one is the culprit. Then tell what names were in the xfdf
> > > file.
> > > Or
> > > make a screenshot in PDFDebugger of that annotation, without the
> > > text
> > > content.
> > > 
> > > Tilman
> > > 
> > > On 01.08.2023 10:15, Kai Keggenhoff wrote:
> > > > 
> > > > Hello everyone,
> > > > 
> > > > we're using PDFBox to import annotations from XFDF files and
> > > > add
> > > > them
> > > > to existing PDF files.
> > > > 
> > > > First we create a FDFDocument from the XFDF, then we fetch the
> > > > list
> > > > of
> > > > FDFAnnotations from it via
> > > > 
> > > > < FDFDocument>.getCatalog().getFDF().getAnnotations()
> > > > 
> > > > Then we iterate over this list, create PDAnnotations from the
> > > > COS
> > > > objects of the FDFAnnotation with
> > > > PDAnnotation.createAnnotation()
> > > > 
> > > > and add the PDAnnotation to the list of page annotations we got
> > > > from
> > > > PDPage.getAnnotations()
> > > > 
> > > > For most PDFs and most XFDF files, this works without any
> > > > issues.
> > > > 
> > > > However, some PDF files with merged annotations, when opened in
> > > > Adobe
> > > > Reader, produce a huge number of popups with the message
> > > > 
> > > > "Expected a name object" / "Namensobjekt wurde erwartet"
> > > > 
> > > > before the PDF is fully rendered, while the original file does
> > > > not
> > > > show such a behaviour.
> > > > 
> > > > When such PDF files are opened in Foxit PDF Reader or
> > > > PDFDebugger,
> > > > they are rendered just fine without errors.
> > > > 
> > > > We saw this happen every now and then over the years, with all
> > > > PDFBox
> > > > V2 versions, including 2.0.29,
> > > > 
> > > > but it appears to have become more frequent recently, so user
> > > > complaints are becoming more frequent too.
> > > > 
> > > > As I'm unable to share sample PDFs/XFDFs due to compliance
> > > > reasons,
> > > > I
> > > > just have the question if anyone happens to have some hints
> > > > 
> > > > what I could look for in an affected PDF (preferably using
> > > > PDFDebugger) to find out what Adobe Reader doesn't like ?
> > > > 
> > > > Ideally, I then can try to compare it with the original and
> > > > find
> > > > the
> > > > part of the process which "breaks" the result.
> > > > 
> > > > Thanks in advance,
> > > > 
> > > > Kai
> > > > 
> > > > <
> > > > https://th/
> > > > inkproject.com%2Fde%2F&data=05%7C01%7CKai.Keggenhoff%40thinkpro
> > > > je
> > > > ct
> > > > .com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a41
> > > > 5c
> > > > 5c
> > > > 8979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8ey
> > > > JW
> > > > Ij
> > > > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C
> > > > 30
> > > > 00
> > > > %7C%7C%7C&sdata=F%2FQ4yYRr1Rv%2BwLcEM5cmp%2FW0uhVDtG8c9Xez%2FbX
> > > > bB
> > > > mo
> > > > %3D&reserved=0>
> > > > 
> > > > *Kai Keggenhoff* / Senior Software Developer
> > > > 
> > > > *thinkproject.com***
> > > > <
> > > > https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > > thinkproject.com%2Fde&data=05%7C01%7CKai.Keggenhoff%40thinkproj
> > > > ec
> > > > t.
> > > > com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415
> > > > c5
> > > > c8
> > > > 979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJ
> > > > WI
> > > > jo
> > > > iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3
> > > > 00
> > > > 0%
> > > > 7C%7C%7C&sdata=S%2BJ3yc8r9jXgFmH0tJ5zdielpbhIBkWXoL25FeyKhhU%3D
> > > > &r
> > > > es
> > > > erved=0>
> > > > 
> > > > <
> > > > https://www.linkedin.com/company/thinkproject-dach/posts/?feedVie
> > > > w%3Dall&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7
> > > > a4
> > > > 8b
> > > > 704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0
> > > > %7
> > > > C0
> > > > %7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwM
> > > > DA
> > > > iL
> > > > CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&s
> > > > da
> > > > ta
> > > > =x%2F1HZ%2BHA4n9ftlBokoUWzEa5ubanynP%2B1CLSd4MlDUU%3D&reserved=
> > > > 0>
> > > > <h
> > > > ttps://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%
> > > > 2F
> > > > tw
> > > > itter.com%2Fthinkproject_&data=05%7C01%7CKai.Keggenhoff%40think
> > > > pr
> > > > oj
> > > > ect.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093
> > > > a4
> > > > 15
> > > > c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbGZsb3d
> > > > 8e
> > > > yJ
> > > > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D
> > > > %7
> > > > C3
> > > > 000%7C%7C%7C&sdata=w%2B4rE4F0udUxARyFQUa4EKbbjv7g%2F%2BK4IAubAm
> > > > cB
> > > > Qz
> > > > k%3D&reserved=0>
> > > > 
> > > > Read our legal information (imprint) here
> > > > <
> > > > https://th/
> > > > inkproject.com%2Fde%2Fimpressum%2F&data=05%7C01%7CKai.Keggenhof
> > > > f%
> > > > 40
> > > > thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe
> > > > 2e
> > > > 64
> > > > 8f093a415c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTW
> > > > Fp
> > > > bG
> > > > Zsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXV
> > > > CI
> > > > 6M
> > > > n0%3D%7C3000%7C%7C%7C&sdata=ZkWeKQuBmYmR1pRBcPIpdc5bo%2B8NWU9u8
> > > > Ul
> > > > BW
> > > > O26nao%3D&reserved=0>.
> > > > 
> > > 
> > > -----------------------------------------------------------------
> > > --
> > > --
> > > To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> > > For additional commands, e-mail: users-help@pdfbox.apache.org
> > 
> > 
> > -------------------------------------------------------------------
> > --
> > To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> > For additional commands, e-mail: users-help@pdfbox.apache.org
> > 
> > 
> > -------------------------------------------------------------------
> > --
> > To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> > For additional commands, e-mail: users-help@pdfbox.apache.org
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> For additional commands, e-mail: users-help@pdfbox.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> For additional commands, e-mail: users-help@pdfbox.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


AW: Adding annotations to PDFs - "expected a name object"

Posted by Kai Keggenhoff <Ka...@thinkproject.com>.
Hi Maruan,

the process was mentioned in the original mail and is as follows:

XFDF is parsed to DOM
DOM is used to create a FDFDocument
FDFAnnotation(s) are read from FDFDocument.getCatalog().getFDF().getAnnotations()
For each FDFAnnotation, a PDAnnotation is created from the FDFAnnotation's.getCOSObject()
Then the PDAnnotation is added to the list of annotations on the page - PDPage.getAnnotations().add(...)

But I just found that if I remove the "caption-style" attribute from the original XFDF and replace it with caption="no" like in the XFDF created by Foxit, there are suddenly no more popups about "expected a name object" in Adobe Reader.

I think this might be due to the Adobe Reader versions our customers use.
In the original, complete XFDF from Adobe Reader, which was produced by multiple people with different Adobe Readers, there are "freetext" annotation stating

xfa:APIVersion="Acrobat:10.1.5"

I think that version is like ten years old.
The freetext annotation isn't a problem at all, I just used that as an indicator to the Reader version.

I guess I will start to look for this "caption-style" attribute and replace it as a workaround.

Thank you for all the pointers !

Kai

-----Ursprüngliche Nachricht-----
Von: sahyoun@fileaffairs.de <sa...@fileaffairs.de>
Gesendet: Mittwoch, 2. August 2023 11:34
An: users@pdfbox.apache.org
Betreff: Re: Adding annotations to PDFs - "expected a name object"

CAUTION - External Sender


Hello Kai,

Am Mittwoch, dem 02.08.2023 um 09:24 +0000 schrieb Kai Keggenhoff:
> Hi Maruan,
>
> we let Adobe Reader submit a form with flags set for XFDF, include
> annotations and "ExclNonUserAnnots" (table 237 in the PDF 32000-
> 1:2008 spec)
> The XFDF is sent to a server address specific for the document and
> then processed.
>

how does the annottaion created by adobe Reader look in PDF Debugger?

You also mentioned that it doesn't work for merged PDFs - does it work
for the original PDF wo merging? How is the merging done?

BR
Maruan


> Usually, when sent by Adobe Reader, the full XFDF contains additional
> "f", "fields" and "id" nodes which I omitted for brevity.
> Here, I also reformatted it to make it easier to read.
> As we only read the children of "annots" when we process the XFDF to
> create annotation objects to add to the PDPage, I don't think these
> elements are relevant.
>
> For some time now, we also offer our users the option to use Foxit
> Web SDK to annotate PDFs and upload them to our system.
> A line annotation exported from Foxit looks like this
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
>         <annots>
>                 <line page="0" color="#58D3D3"
> date="D:20230802111256+02'00'" flags="print"
>                         name="af1a7071-8b53-4219-953b-9ed2fe3e32d4"
> rect="125.326691,718.888428,206.180573,803.442627"
>                         title="PKM ServicePoint (conclude GmbH)"
> creationdate="D:20230802111256+02'00'"
>                         opacity="1" subject="Linie" style="solid"
> width="2.000000"
>                         head="None" tail="None"
> start="129.076691,799.692627" end="202.430573,722.638428"
> caption="no">
>                         <popup page="0" color="#58D3D3"
> date="D:20230802111256+02'00'" flags="print"
>                                 name="7133e39c-0ade-4a9e-aabf-
> b4a0e1bcce06" rect="129.076691,722.638428,202.430573,799.692627"
> open="no"/>
>                 </line>
>         </annots>
>         <ids original="88E08BC8B4D62452C697BC93996CC7CE"
> modified="A3D15A58D538804D652927671920C3A1"/>
> </xfdf>
>
> Strangely, when this is imported into the same PDF as the XFDF from
> Adobe Reader (it's a different line of course), the resulting PDF is
> fine.
> I think I need to compare these two in detail.
>
> Meanwhile, here's how the imported annotation from Adobe Reader looks
> in PDFDebugger
> https://cde-dev.conclude.com/img/line-annot.png
>
> Thank you very much for the input,
>
> Kai
>
> -----Ursprüngliche Nachricht-----
> Von: sahyoun@fileaffairs.de <sa...@fileaffairs.de>
> Gesendet: Mittwoch, 2. August 2023 10:22
> An: users@pdfbox.apache.org
> Betreff: Re: Adding annotations to PDFs - "expected a name object"
>
> CAUTION - External Sender
>
>
> Hello Kai,
>
> Am Mittwoch, dem 02.08.2023 um 07:56 +0000 schrieb Kai Keggenhoff:
> >
> >
> >
> > Hi Tilman,
> >
> > thank you for the suggestion. Turns out, it's "Line" annotations.
> > When I import
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
> >                 <annots>
> >                                <line width="3" color="#FF0000"
> > caption-style="Inline"
> >
> > creationdate="D:20230526112815+02'00'" flags="print"
> >
> > start="1770.007568,1614.721436" end="1791.373535,1658.575195"
> >
> > date="D:20230526112815+
> > 02'00'" page="0"
> >
> > rect="1764.007568,1608.721436,1797.373535,1664.575195"
> >                                               subject="Linie"
> > title="John Doe">
> >                                                <popup
> > flags="print,nozoom,norotate" open="no"
> >
> > page="0" rect="1780.690552,-92.000000,1964.690552,0.000000"/>
> >                                </line>
> >                 </annots>
> > </xfdf>
> >
>
> how was the xfdf generated. Can you compare to an xfdf generated when
> exporting using Adobe Acrobat?
>
> BR
> Maruan
>
>
> >
> > into either its original source or just a fresh, DIN A4 PDF with a
> > single line of text created with PDFBox, Adobe Reader will
> > complain.
> > At this point, I switched from 2.0.29 to 3.0.0beta1 and the result
> > was the same.
> >
> > In the resulting PDF, PDFDebugger shows what is in the attachment -
> > an empty "NM" entry.
> > I then tried to set either "Name" or "NM" (and ultimately both) in
> > dictionary of the PDAnnotation to "Line" with
> >
> > PDAnnotation a =
> > PDAnnotation.createAnnotation(xfdfAnnotation.getCOSObject());
> > a.getCOSObject().setItem(COSName.NM, new COSString("Line"));
> > a.getCOSObject().setItem(COSName.NAME, new COSString("Line"));
> >
> > but while these values show up fine in PDFDebugger,
> > Adobe Reader will still complain.
> >
> > Would you happen to have more suggestions how I could work around
> > this please ?
> >
> > Thanks in advance,
> >
> > Kai
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Tilman Hausherr <TH...@t-online.de>
> > Gesendet: Dienstag, 1. August 2023 19:41
> > An: users@pdfbox.apache.org
> > Betreff: Re: Adding annotations to PDFs - "expected a name object"
> >
> > CAUTION - External Sender
> >
> >
> > Try to edit the xfdf file so that it has less annotations until you
> > know
> > which one is the culprit. Then tell what names were in the xfdf
> > file.
> > Or
> > make a screenshot in PDFDebugger of that annotation, without the
> > text
> > content.
> >
> > Tilman
> >
> > On 01.08.2023 10:15, Kai Keggenhoff wrote:
> > >
> > > Hello everyone,
> > >
> > > we're using PDFBox to import annotations from XFDF files and add
> > > them
> > > to existing PDF files.
> > >
> > > First we create a FDFDocument from the XFDF, then we fetch the
> > > list
> > > of
> > > FDFAnnotations from it via
> > >
> > > < FDFDocument>.getCatalog().getFDF().getAnnotations()
> > >
> > > Then we iterate over this list, create PDAnnotations from the COS
> > > objects of the FDFAnnotation with PDAnnotation.createAnnotation()
> > >
> > > and add the PDAnnotation to the list of page annotations we got
> > > from
> > > PDPage.getAnnotations()
> > >
> > > For most PDFs and most XFDF files, this works without any issues.
> > >
> > > However, some PDF files with merged annotations, when opened in
> > > Adobe
> > > Reader, produce a huge number of popups with the message
> > >
> > > "Expected a name object" / "Namensobjekt wurde erwartet"
> > >
> > > before the PDF is fully rendered, while the original file does
> > > not
> > > show such a behaviour.
> > >
> > > When such PDF files are opened in Foxit PDF Reader or
> > > PDFDebugger,
> > > they are rendered just fine without errors.
> > >
> > > We saw this happen every now and then over the years, with all
> > > PDFBox
> > > V2 versions, including 2.0.29,
> > >
> > > but it appears to have become more frequent recently, so user
> > > complaints are becoming more frequent too.
> > >
> > > As I'm unable to share sample PDFs/XFDFs due to compliance
> > > reasons,
> > > I
> > > just have the question if anyone happens to have some hints
> > >
> > > what I could look for in an affected PDF (preferably using
> > > PDFDebugger) to find out what Adobe Reader doesn't like ?
> > >
> > > Ideally, I then can try to compare it with the original and find
> > > the
> > > part of the process which "breaks" the result.
> > >
> > > Thanks in advance,
> > >
> > > Kai
> > >
> > > <
> > > https://th/
> > > inkproject.com%2Fde%2F&data=05%7C01%7CKai.Keggenhoff%40thinkproje
> > > ct
> > > .com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c
> > > 5c
> > > 8979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJW
> > > Ij
> > > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C30
> > > 00
> > > %7C%7C%7C&sdata=F%2FQ4yYRr1Rv%2BwLcEM5cmp%2FW0uhVDtG8c9Xez%2FbXbB
> > > mo
> > > %3D&reserved=0>
> > >
> > > *Kai Keggenhoff* / Senior Software Developer
> > >
> > > *thinkproject.com***
> > > <
> > > https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > thinkproject.com%2Fde&data=05%7C01%7CKai.Keggenhoff%40thinkprojec
> > > t.
> > > com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5
> > > c8
> > > 979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJWI
> > > jo
> > > iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C300
> > > 0%
> > > 7C%7C%7C&sdata=S%2BJ3yc8r9jXgFmH0tJ5zdielpbhIBkWXoL25FeyKhhU%3D&r
> > > es
> > > erved=0>
> > >
> > > <
> > > https://www.linkedin.com/company/thinkproject-dach/posts/?feedVie
> > > w%3Dall&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a4
> > > 8b
> > > 704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7
> > > C0
> > > %7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDA
> > > iL
> > > CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sda
> > > ta
> > > =x%2F1HZ%2BHA4n9ftlBokoUWzEa5ubanynP%2B1CLSd4MlDUU%3D&reserved=0>
> > > <h
> > > ttps://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > tw
> > > itter.com%2Fthinkproject_&data=05%7C01%7CKai.Keggenhoff%40thinkpr
> > > oj
> > > ect.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a4
> > > 15
> > > c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8e
> > > yJ
> > > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> > > C3
> > > 000%7C%7C%7C&sdata=w%2B4rE4F0udUxARyFQUa4EKbbjv7g%2F%2BK4IAubAmcB
> > > Qz
> > > k%3D&reserved=0>
> > >
> > > Read our legal information (imprint) here
> > > <
> > > https://th/
> > > inkproject.com%2Fde%2Fimpressum%2F&data=05%7C01%7CKai.Keggenhoff%
> > > 40
> > > thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e
> > > 64
> > > 8f093a415c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFp
> > > bG
> > > Zsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI
> > > 6M
> > > n0%3D%7C3000%7C%7C%7C&sdata=ZkWeKQuBmYmR1pRBcPIpdc5bo%2B8NWU9u8Ul
> > > BW
> > > O26nao%3D&reserved=0>.
> > >
> >
> > -------------------------------------------------------------------
> > --
> > To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> > For additional commands, e-mail: users-help@pdfbox.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> For additional commands, e-mail: users-help@pdfbox.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> For additional commands, e-mail: users-help@pdfbox.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


Re: Adding annotations to PDFs - "expected a name object"

Posted by "sahyoun@fileaffairs.de" <sa...@fileaffairs.de>.
Hello Kai,

Am Mittwoch, dem 02.08.2023 um 09:24 +0000 schrieb Kai Keggenhoff:
> Hi Maruan,
> 
> we let Adobe Reader submit a form with flags set for XFDF, include
> annotations and "ExclNonUserAnnots" (table 237 in the PDF 32000-
> 1:2008 spec)
> The XFDF is sent to a server address specific for the document and
> then processed.
> 

how does the annottaion created by adobe Reader look in PDF Debugger?

You also mentioned that it doesn't work for merged PDFs - does it work
for the original PDF wo merging? How is the merging done?

BR
Maruan


> Usually, when sent by Adobe Reader, the full XFDF contains additional
> "f", "fields" and "id" nodes which I omitted for brevity.
> Here, I also reformatted it to make it easier to read.
> As we only read the children of "annots" when we process the XFDF to
> create annotation objects to add to the PDPage, I don't think these
> elements are relevant.
> 
> For some time now, we also offer our users the option to use Foxit
> Web SDK to annotate PDFs and upload them to our system.
> A line annotation exported from Foxit looks like this
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
>         <annots>
>                 <line page="0" color="#58D3D3"
> date="D:20230802111256+02'00'" flags="print"
>                         name="af1a7071-8b53-4219-953b-9ed2fe3e32d4"
> rect="125.326691,718.888428,206.180573,803.442627"
>                         title="PKM ServicePoint (conclude GmbH)"
> creationdate="D:20230802111256+02'00'"
>                         opacity="1" subject="Linie" style="solid"
> width="2.000000"
>                         head="None" tail="None"
> start="129.076691,799.692627" end="202.430573,722.638428"
> caption="no">
>                         <popup page="0" color="#58D3D3"
> date="D:20230802111256+02'00'" flags="print"
>                                 name="7133e39c-0ade-4a9e-aabf-
> b4a0e1bcce06" rect="129.076691,722.638428,202.430573,799.692627"
> open="no"/>
>                 </line>
>         </annots>
>         <ids original="88E08BC8B4D62452C697BC93996CC7CE"
> modified="A3D15A58D538804D652927671920C3A1"/>
> </xfdf>
> 
> Strangely, when this is imported into the same PDF as the XFDF from
> Adobe Reader (it's a different line of course), the resulting PDF is
> fine.
> I think I need to compare these two in detail.
> 
> Meanwhile, here's how the imported annotation from Adobe Reader looks
> in PDFDebugger
> https://cde-dev.conclude.com/img/line-annot.png
> 
> Thank you very much for the input,
> 
> Kai
> 
> -----Ursprüngliche Nachricht-----
> Von: sahyoun@fileaffairs.de <sa...@fileaffairs.de>
> Gesendet: Mittwoch, 2. August 2023 10:22
> An: users@pdfbox.apache.org
> Betreff: Re: Adding annotations to PDFs - "expected a name object"
> 
> CAUTION - External Sender
> 
> 
> Hello Kai,
> 
> Am Mittwoch, dem 02.08.2023 um 07:56 +0000 schrieb Kai Keggenhoff:
> > 
> > 
> > 
> > Hi Tilman,
> > 
> > thank you for the suggestion. Turns out, it's "Line" annotations.
> > When I import
> > 
> > <?xml version="1.0" encoding="UTF-8"?>
> > <xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
> >                 <annots>
> >                                <line width="3" color="#FF0000"
> > caption-style="Inline"
> > 
> > creationdate="D:20230526112815+02'00'" flags="print"
> > 
> > start="1770.007568,1614.721436" end="1791.373535,1658.575195"
> >                                              
> > date="D:20230526112815+
> > 02'00'" page="0"
> > 
> > rect="1764.007568,1608.721436,1797.373535,1664.575195"
> >                                               subject="Linie"
> > title="John Doe">
> >                                                <popup
> > flags="print,nozoom,norotate" open="no"
> > 
> > page="0" rect="1780.690552,-92.000000,1964.690552,0.000000"/>
> >                                </line>
> >                 </annots>
> > </xfdf>
> > 
> 
> how was the xfdf generated. Can you compare to an xfdf generated when
> exporting using Adobe Acrobat?
> 
> BR
> Maruan
> 
> 
> > 
> > into either its original source or just a fresh, DIN A4 PDF with a
> > single line of text created with PDFBox, Adobe Reader will
> > complain.
> > At this point, I switched from 2.0.29 to 3.0.0beta1 and the result
> > was the same.
> > 
> > In the resulting PDF, PDFDebugger shows what is in the attachment -
> > an empty "NM" entry.
> > I then tried to set either "Name" or "NM" (and ultimately both) in
> > dictionary of the PDAnnotation to "Line" with
> > 
> > PDAnnotation a =
> > PDAnnotation.createAnnotation(xfdfAnnotation.getCOSObject());
> > a.getCOSObject().setItem(COSName.NM, new COSString("Line"));
> > a.getCOSObject().setItem(COSName.NAME, new COSString("Line"));
> > 
> > but while these values show up fine in PDFDebugger,
> > Adobe Reader will still complain.
> > 
> > Would you happen to have more suggestions how I could work around
> > this please ?
> > 
> > Thanks in advance,
> > 
> > Kai
> > 
> > -----Ursprüngliche Nachricht-----
> > Von: Tilman Hausherr <TH...@t-online.de>
> > Gesendet: Dienstag, 1. August 2023 19:41
> > An: users@pdfbox.apache.org
> > Betreff: Re: Adding annotations to PDFs - "expected a name object"
> > 
> > CAUTION - External Sender
> > 
> > 
> > Try to edit the xfdf file so that it has less annotations until you
> > know
> > which one is the culprit. Then tell what names were in the xfdf
> > file.
> > Or
> > make a screenshot in PDFDebugger of that annotation, without the
> > text
> > content.
> > 
> > Tilman
> > 
> > On 01.08.2023 10:15, Kai Keggenhoff wrote:
> > > 
> > > Hello everyone,
> > > 
> > > we're using PDFBox to import annotations from XFDF files and add
> > > them
> > > to existing PDF files.
> > > 
> > > First we create a FDFDocument from the XFDF, then we fetch the
> > > list
> > > of
> > > FDFAnnotations from it via
> > > 
> > > < FDFDocument>.getCatalog().getFDF().getAnnotations()
> > > 
> > > Then we iterate over this list, create PDAnnotations from the COS
> > > objects of the FDFAnnotation with PDAnnotation.createAnnotation()
> > > 
> > > and add the PDAnnotation to the list of page annotations we got
> > > from
> > > PDPage.getAnnotations()
> > > 
> > > For most PDFs and most XFDF files, this works without any issues.
> > > 
> > > However, some PDF files with merged annotations, when opened in
> > > Adobe
> > > Reader, produce a huge number of popups with the message
> > > 
> > > "Expected a name object" / "Namensobjekt wurde erwartet"
> > > 
> > > before the PDF is fully rendered, while the original file does
> > > not
> > > show such a behaviour.
> > > 
> > > When such PDF files are opened in Foxit PDF Reader or
> > > PDFDebugger,
> > > they are rendered just fine without errors.
> > > 
> > > We saw this happen every now and then over the years, with all
> > > PDFBox
> > > V2 versions, including 2.0.29,
> > > 
> > > but it appears to have become more frequent recently, so user
> > > complaints are becoming more frequent too.
> > > 
> > > As I'm unable to share sample PDFs/XFDFs due to compliance
> > > reasons,
> > > I
> > > just have the question if anyone happens to have some hints
> > > 
> > > what I could look for in an affected PDF (preferably using
> > > PDFDebugger) to find out what Adobe Reader doesn't like ?
> > > 
> > > Ideally, I then can try to compare it with the original and find
> > > the
> > > part of the process which "breaks" the result.
> > > 
> > > Thanks in advance,
> > > 
> > > Kai
> > > 
> > > <
> > > https://th/
> > > inkproject.com%2Fde%2F&data=05%7C01%7CKai.Keggenhoff%40thinkproje
> > > ct
> > > .com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c
> > > 5c
> > > 8979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJW
> > > Ij
> > > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C30
> > > 00
> > > %7C%7C%7C&sdata=F%2FQ4yYRr1Rv%2BwLcEM5cmp%2FW0uhVDtG8c9Xez%2FbXbB
> > > mo
> > > %3D&reserved=0>
> > > 
> > > *Kai Keggenhoff* / Senior Software Developer
> > > 
> > > *thinkproject.com***
> > > <
> > > https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > thinkproject.com%2Fde&data=05%7C01%7CKai.Keggenhoff%40thinkprojec
> > > t.
> > > com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5
> > > c8
> > > 979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJWI
> > > jo
> > > iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C300
> > > 0%
> > > 7C%7C%7C&sdata=S%2BJ3yc8r9jXgFmH0tJ5zdielpbhIBkWXoL25FeyKhhU%3D&r
> > > es
> > > erved=0>
> > > 
> > > <
> > > https://www.linkedin.com/company/thinkproject-dach/posts/?feedVie
> > > w%3Dall&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a4
> > > 8b
> > > 704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7
> > > C0
> > > %7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDA
> > > iL
> > > CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sda
> > > ta
> > > =x%2F1HZ%2BHA4n9ftlBokoUWzEa5ubanynP%2B1CLSd4MlDUU%3D&reserved=0>
> > > <h
> > > ttps://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > tw
> > > itter.com%2Fthinkproject_&data=05%7C01%7CKai.Keggenhoff%40thinkpr
> > > oj
> > > ect.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a4
> > > 15
> > > c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8e
> > > yJ
> > > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> > > C3
> > > 000%7C%7C%7C&sdata=w%2B4rE4F0udUxARyFQUa4EKbbjv7g%2F%2BK4IAubAmcB
> > > Qz
> > > k%3D&reserved=0>
> > > 
> > > Read our legal information (imprint) here
> > > <
> > > https://th/
> > > inkproject.com%2Fde%2Fimpressum%2F&data=05%7C01%7CKai.Keggenhoff%
> > > 40
> > > thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e
> > > 64
> > > 8f093a415c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFp
> > > bG
> > > Zsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI
> > > 6M
> > > n0%3D%7C3000%7C%7C%7C&sdata=ZkWeKQuBmYmR1pRBcPIpdc5bo%2B8NWU9u8Ul
> > > BW
> > > O26nao%3D&reserved=0>.
> > > 
> > 
> > -------------------------------------------------------------------
> > --
> > To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> > For additional commands, e-mail: users-help@pdfbox.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> For additional commands, e-mail: users-help@pdfbox.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> For additional commands, e-mail: users-help@pdfbox.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


AW: Adding annotations to PDFs - "expected a name object"

Posted by Kai Keggenhoff <Ka...@thinkproject.com>.
Hi Maruan,

we let Adobe Reader submit a form with flags set for XFDF, include annotations and "ExclNonUserAnnots" (table 237 in the PDF 32000-1:2008 spec)
The XFDF is sent to a server address specific for the document and then processed.

Usually, when sent by Adobe Reader, the full XFDF contains additional "f", "fields" and "id" nodes which I omitted for brevity.
Here, I also reformatted it to make it easier to read.
As we only read the children of "annots" when we process the XFDF to create annotation objects to add to the PDPage, I don't think these elements are relevant.

For some time now, we also offer our users the option to use Foxit Web SDK to annotate PDFs and upload them to our system.
A line annotation exported from Foxit looks like this

<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
        <annots>
                <line page="0" color="#58D3D3" date="D:20230802111256+02'00'" flags="print"
                        name="af1a7071-8b53-4219-953b-9ed2fe3e32d4" rect="125.326691,718.888428,206.180573,803.442627"
                        title="PKM ServicePoint (conclude GmbH)" creationdate="D:20230802111256+02'00'"
                        opacity="1" subject="Linie" style="solid" width="2.000000"
                        head="None" tail="None" start="129.076691,799.692627" end="202.430573,722.638428" caption="no">
                        <popup page="0" color="#58D3D3" date="D:20230802111256+02'00'" flags="print"
                                name="7133e39c-0ade-4a9e-aabf-b4a0e1bcce06" rect="129.076691,722.638428,202.430573,799.692627" open="no"/>
                </line>
        </annots>
        <ids original="88E08BC8B4D62452C697BC93996CC7CE" modified="A3D15A58D538804D652927671920C3A1"/>
</xfdf>

Strangely, when this is imported into the same PDF as the XFDF from Adobe Reader (it's a different line of course), the resulting PDF is fine.
I think I need to compare these two in detail.

Meanwhile, here's how the imported annotation from Adobe Reader looks in PDFDebugger
https://cde-dev.conclude.com/img/line-annot.png

Thank you very much for the input,

Kai

-----Ursprüngliche Nachricht-----
Von: sahyoun@fileaffairs.de <sa...@fileaffairs.de>
Gesendet: Mittwoch, 2. August 2023 10:22
An: users@pdfbox.apache.org
Betreff: Re: Adding annotations to PDFs - "expected a name object"

CAUTION - External Sender


Hello Kai,

Am Mittwoch, dem 02.08.2023 um 07:56 +0000 schrieb Kai Keggenhoff:
>
>
>
> Hi Tilman,
>
> thank you for the suggestion. Turns out, it's "Line" annotations.
> When I import
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
>                 <annots>
>                                <line width="3" color="#FF0000"
> caption-style="Inline"
>
> creationdate="D:20230526112815+02'00'" flags="print"
>
> start="1770.007568,1614.721436" end="1791.373535,1658.575195"
>                                               date="D:20230526112815+
> 02'00'" page="0"
>
> rect="1764.007568,1608.721436,1797.373535,1664.575195"
>                                               subject="Linie"
> title="John Doe">
>                                                <popup
> flags="print,nozoom,norotate" open="no"
>
> page="0" rect="1780.690552,-92.000000,1964.690552,0.000000"/>
>                                </line>
>                 </annots>
> </xfdf>
>

how was the xfdf generated. Can you compare to an xfdf generated when
exporting using Adobe Acrobat?

BR
Maruan


>
> into either its original source or just a fresh, DIN A4 PDF with a
> single line of text created with PDFBox, Adobe Reader will complain.
> At this point, I switched from 2.0.29 to 3.0.0beta1 and the result
> was the same.
>
> In the resulting PDF, PDFDebugger shows what is in the attachment -
> an empty "NM" entry.
> I then tried to set either "Name" or "NM" (and ultimately both) in
> dictionary of the PDAnnotation to "Line" with
>
> PDAnnotation a =
> PDAnnotation.createAnnotation(xfdfAnnotation.getCOSObject());
> a.getCOSObject().setItem(COSName.NM, new COSString("Line"));
> a.getCOSObject().setItem(COSName.NAME, new COSString("Line"));
>
> but while these values show up fine in PDFDebugger,
> Adobe Reader will still complain.
>
> Would you happen to have more suggestions how I could work around
> this please ?
>
> Thanks in advance,
>
> Kai
>
> -----Ursprüngliche Nachricht-----
> Von: Tilman Hausherr <TH...@t-online.de>
> Gesendet: Dienstag, 1. August 2023 19:41
> An: users@pdfbox.apache.org
> Betreff: Re: Adding annotations to PDFs - "expected a name object"
>
> CAUTION - External Sender
>
>
> Try to edit the xfdf file so that it has less annotations until you
> know
> which one is the culprit. Then tell what names were in the xfdf file.
> Or
> make a screenshot in PDFDebugger of that annotation, without the text
> content.
>
> Tilman
>
> On 01.08.2023 10:15, Kai Keggenhoff wrote:
> >
> > Hello everyone,
> >
> > we're using PDFBox to import annotations from XFDF files and add
> > them
> > to existing PDF files.
> >
> > First we create a FDFDocument from the XFDF, then we fetch the list
> > of
> > FDFAnnotations from it via
> >
> > < FDFDocument>.getCatalog().getFDF().getAnnotations()
> >
> > Then we iterate over this list, create PDAnnotations from the COS
> > objects of the FDFAnnotation with PDAnnotation.createAnnotation()
> >
> > and add the PDAnnotation to the list of page annotations we got
> > from
> > PDPage.getAnnotations()
> >
> > For most PDFs and most XFDF files, this works without any issues.
> >
> > However, some PDF files with merged annotations, when opened in
> > Adobe
> > Reader, produce a huge number of popups with the message
> >
> > "Expected a name object" / "Namensobjekt wurde erwartet"
> >
> > before the PDF is fully rendered, while the original file does not
> > show such a behaviour.
> >
> > When such PDF files are opened in Foxit PDF Reader or PDFDebugger,
> > they are rendered just fine without errors.
> >
> > We saw this happen every now and then over the years, with all
> > PDFBox
> > V2 versions, including 2.0.29,
> >
> > but it appears to have become more frequent recently, so user
> > complaints are becoming more frequent too.
> >
> > As I'm unable to share sample PDFs/XFDFs due to compliance reasons,
> > I
> > just have the question if anyone happens to have some hints
> >
> > what I could look for in an affected PDF (preferably using
> > PDFDebugger) to find out what Adobe Reader doesn't like ?
> >
> > Ideally, I then can try to compare it with the original and find
> > the
> > part of the process which "breaks" the result.
> >
> > Thanks in advance,
> >
> > Kai
> >
> > <
> > https://th/
> > inkproject.com%2Fde%2F&data=05%7C01%7CKai.Keggenhoff%40thinkproject
> > .com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c
> > 8979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJWIj
> > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000
> > %7C%7C%7C&sdata=F%2FQ4yYRr1Rv%2BwLcEM5cmp%2FW0uhVDtG8c9Xez%2FbXbBmo
> > %3D&reserved=0>
> >
> > *Kai Keggenhoff* / Senior Software Developer
> >
> > *thinkproject.com***
> > <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > thinkproject.com%2Fde&data=05%7C01%7CKai.Keggenhoff%40thinkproject.
> > com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8
> > 979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJWIjo
> > iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%
> > 7C%7C%7C&sdata=S%2BJ3yc8r9jXgFmH0tJ5zdielpbhIBkWXoL25FeyKhhU%3D&res
> > erved=0>
> >
> > <
> > https://www.linkedin.com/company/thinkproject-dach/posts/?feedVie
> > w%3Dall&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b
> > 704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0
> > %7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiL
> > CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata
> > =x%2F1HZ%2BHA4n9ftlBokoUWzEa5ubanynP%2B1CLSd4MlDUU%3D&reserved=0><h
> > ttps://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftw
> > itter.com%2Fthinkproject_&data=05%7C01%7CKai.Keggenhoff%40thinkproj
> > ect.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415
> > c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJ
> > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3
> > 000%7C%7C%7C&sdata=w%2B4rE4F0udUxARyFQUa4EKbbjv7g%2F%2BK4IAubAmcBQz
> > k%3D&reserved=0>
> >
> > Read our legal information (imprint) here
> > <
> > https://th/
> > inkproject.com%2Fde%2Fimpressum%2F&data=05%7C01%7CKai.Keggenhoff%40
> > thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e64
> > 8f093a415c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbG
> > Zsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M
> > n0%3D%7C3000%7C%7C%7C&sdata=ZkWeKQuBmYmR1pRBcPIpdc5bo%2B8NWU9u8UlBW
> > O26nao%3D&reserved=0>.
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> For additional commands, e-mail: users-help@pdfbox.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


Re: Adding annotations to PDFs - "expected a name object"

Posted by "sahyoun@fileaffairs.de" <sa...@fileaffairs.de>.
Hello Kai,

Am Mittwoch, dem 02.08.2023 um 07:56 +0000 schrieb Kai Keggenhoff:
> 
> 
> 
> Hi Tilman,
>  
> thank you for the suggestion. Turns out, it's “Line” annotations.
> When I import
>  
> <?xml version="1.0" encoding="UTF-8"?>
> <xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
>                 <annots>
>                                <line width="3" color="#FF0000"
> caption-style="Inline"
>                                               
> creationdate="D:20230526112815+02'00'" flags="print"
>                                               
> start="1770.007568,1614.721436" end="1791.373535,1658.575195"
>                                               date="D:20230526112815+
> 02'00'" page="0"
>                                               
> rect="1764.007568,1608.721436,1797.373535,1664.575195"
>                                               subject="Linie"
> title="John Doe">
>                                                <popup
> flags="print,nozoom,norotate" open="no"
>                                                               
> page="0" rect="1780.690552,-92.000000,1964.690552,0.000000"/>
>                                </line>
>                 </annots>
> </xfdf>
> 

how was the xfdf generated. Can you compare to an xfdf generated when
exporting using Adobe Acrobat?

BR
Maruan


>  
> into either its original source or just a fresh, DIN A4 PDF with a
> single line of text created with PDFBox, Adobe Reader will complain.
> At this point, I switched from 2.0.29 to 3.0.0beta1 and the result
> was the same.
>  
> In the resulting PDF, PDFDebugger shows what is in the attachment –
> an empty “NM” entry.
> I then tried to set either “Name” or “NM” (and ultimately both) in
> dictionary of the PDAnnotation to “Line” with
>  
> PDAnnotation a =
> PDAnnotation.createAnnotation(xfdfAnnotation.getCOSObject());
> a.getCOSObject().setItem(COSName.NM, new COSString("Line"));
> a.getCOSObject().setItem(COSName.NAME, new COSString("Line"));
>  
> but while these values show up fine in PDFDebugger,
> Adobe Reader will still complain.
>  
> Would you happen to have more suggestions how I could work around
> this please ?
>  
> Thanks in advance,
>  
> Kai
>  
> -----Ursprüngliche Nachricht-----
> Von: Tilman Hausherr <TH...@t-online.de>
> Gesendet: Dienstag, 1. August 2023 19:41
> An: users@pdfbox.apache.org
> Betreff: Re: Adding annotations to PDFs - "expected a name object"
>  
> CAUTION - External Sender
>  
>  
> Try to edit the xfdf file so that it has less annotations until you
> know
> which one is the culprit. Then tell what names were in the xfdf file.
> Or
> make a screenshot in PDFDebugger of that annotation, without the text
> content.
>  
> Tilman
>  
> On 01.08.2023 10:15, Kai Keggenhoff wrote:
> >  
> > Hello everyone,
> >  
> > we’re using PDFBox to import annotations from XFDF files and add
> > them
> > to existing PDF files.
> >  
> > First we create a FDFDocument from the XFDF, then we fetch the list
> > of
> > FDFAnnotations from it via
> >  
> > < FDFDocument>.getCatalog().getFDF().getAnnotations()
> >  
> > Then we iterate over this list, create PDAnnotations from the COS
> > objects of the FDFAnnotation with PDAnnotation.createAnnotation()
> >  
> > and add the PDAnnotation to the list of page annotations we got
> > from
> > PDPage.getAnnotations()
> >  
> > For most PDFs and most XFDF files, this works without any issues.
> >  
> > However, some PDF files with merged annotations, when opened in
> > Adobe
> > Reader, produce a huge number of popups with the message
> >  
> > “Expected a name object” / “Namensobjekt wurde erwartet”
> >  
> > before the PDF is fully rendered, while the original file does not
> > show such a behaviour.
> >  
> > When such PDF files are opened in Foxit PDF Reader or PDFDebugger,
> > they are rendered just fine without errors.
> >  
> > We saw this happen every now and then over the years, with all
> > PDFBox
> > V2 versions, including 2.0.29,
> >  
> > but it appears to have become more frequent recently, so user
> > complaints are becoming more frequent too.
> >  
> > As I’m unable to share sample PDFs/XFDFs due to compliance reasons,
> > I
> > just have the question if anyone happens to have some hints
> >  
> > what I could look for in an affected PDF (preferably using
> > PDFDebugger) to find out what Adobe Reader doesn’t like ?
> >  
> > Ideally, I then can try to compare it with the original and find
> > the
> > part of the process which “breaks” the result.
> >  
> > Thanks in advance,
> >  
> > Kai
> >  
> > <
> > https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fth
> > inkproject.com%2Fde%2F&data=05%7C01%7CKai.Keggenhoff%40thinkproject
> > .com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c
> > 8979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJWIj
> > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000
> > %7C%7C%7C&sdata=F%2FQ4yYRr1Rv%2BwLcEM5cmp%2FW0uhVDtG8c9Xez%2FbXbBmo
> > %3D&reserved=0>
> >  
> > *Kai Keggenhoff* / Senior Software Developer
> >  
> > *thinkproject.com***
> > <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > thinkproject.com%2Fde&data=05%7C01%7CKai.Keggenhoff%40thinkproject.
> > com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8
> > 979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJWIjo
> > iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%
> > 7C%7C%7C&sdata=S%2BJ3yc8r9jXgFmH0tJ5zdielpbhIBkWXoL25FeyKhhU%3D&res
> > erved=0>
> >  
> > <
> > https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fthinkproject-dach%2Fposts%2F%3FfeedVie
> > w%3Dall&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b
> > 704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0
> > %7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiL
> > CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata
> > =x%2F1HZ%2BHA4n9ftlBokoUWzEa5ubanynP%2B1CLSd4MlDUU%3D&reserved=0><h
> > ttps://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftw
> > itter.com%2Fthinkproject_&data=05%7C01%7CKai.Keggenhoff%40thinkproj
> > ect.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415
> > c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJ
> > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3
> > 000%7C%7C%7C&sdata=w%2B4rE4F0udUxARyFQUa4EKbbjv7g%2F%2BK4IAubAmcBQz
> > k%3D&reserved=0>
> >  
> > Read our legal information (imprint) here
> > <
> > https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fth
> > inkproject.com%2Fde%2Fimpressum%2F&data=05%7C01%7CKai.Keggenhoff%40
> > thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e64
> > 8f093a415c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbG
> > Zsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M
> > n0%3D%7C3000%7C%7C%7C&sdata=ZkWeKQuBmYmR1pRBcPIpdc5bo%2B8NWU9u8UlBW
> > O26nao%3D&reserved=0>.
> >  
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> For additional commands, e-mail: users-help@pdfbox.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


AW: Adding annotations to PDFs - "expected a name object"

Posted by Kai Keggenhoff <Ka...@thinkproject.com>.
Hi again,

the attachment with the screenshot didn't make it through, let me try an inline image.

[cid:image002.png@01D9C528.2A0E3C40]

Von: Kai Keggenhoff <Ka...@thinkproject.com>
Gesendet: Mittwoch, 2. August 2023 09:57
An: users@pdfbox.apache.org
Betreff: AW: Adding annotations to PDFs - "expected a name object"

CAUTION - External Sender


Hi Tilman,



thank you for the suggestion. Turns out, it's "Line" annotations.

When I import



<?xml version="1.0" encoding="UTF-8"?>

<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">

                <annots>

                               <line width="3" color="#FF0000" caption-style="Inline"

                                               creationdate="D:20230526112815+02'00'" flags="print"

                                               start="1770.007568,1614.721436" end="1791.373535,1658.575195"

                                               date="D:20230526112815+02'00'" page="0"

                                               rect="1764.007568,1608.721436,1797.373535,1664.575195"

                                               subject="Linie" title="John Doe">

                                               <popup flags="print,nozoom,norotate" open="no"

                                                               page="0" rect="1780.690552,-92.000000,1964.690552,0.000000"/>

                               </line>

                </annots>

</xfdf>



into either its original source or just a fresh, DIN A4 PDF with a single line of text created with PDFBox, Adobe Reader will complain.

At this point, I switched from 2.0.29 to 3.0.0beta1 and the result was the same.



In the resulting PDF, PDFDebugger shows what is in the attachment - an empty "NM" entry.

I then tried to set either "Name" or "NM" (and ultimately both) in dictionary of the PDAnnotation to "Line" with



PDAnnotation a = PDAnnotation.createAnnotation(xfdfAnnotation.getCOSObject());

a.getCOSObject().setItem(COSName.NM, new COSString("Line"));

a.getCOSObject().setItem(COSName.NAME, new COSString("Line"));



but while these values show up fine in PDFDebugger,

[cid:image003.png@01D9C528.2A0E3C40]

Adobe Reader will still complain.



Would you happen to have more suggestions how I could work around this please ?



Thanks in advance,



Kai



-----Ursprüngliche Nachricht-----
Von: Tilman Hausherr <TH...@t-online.de>>
Gesendet: Dienstag, 1. August 2023 19:41
An: users@pdfbox.apache.org<ma...@pdfbox.apache.org>
Betreff: Re: Adding annotations to PDFs - "expected a name object"



CAUTION - External Sender





Try to edit the xfdf file so that it has less annotations until you know

which one is the culprit. Then tell what names were in the xfdf file. Or

make a screenshot in PDFDebugger of that annotation, without the text

content.



Tilman



On 01.08.2023 10:15, Kai Keggenhoff wrote:

>

> Hello everyone,

>

> we're using PDFBox to import annotations from XFDF files and add them

> to existing PDF files.

>

> First we create a FDFDocument from the XFDF, then we fetch the list of

> FDFAnnotations from it via

>

> < FDFDocument>.getCatalog().getFDF().getAnnotations()

>

> Then we iterate over this list, create PDAnnotations from the COS

> objects of the FDFAnnotation with PDAnnotation.createAnnotation()

>

> and add the PDAnnotation to the list of page annotations we got from

> PDPage.getAnnotations()

>

> For most PDFs and most XFDF files, this works without any issues.

>

> However, some PDF files with merged annotations, when opened in Adobe

> Reader, produce a huge number of popups with the message

>

> "Expected a name object" / "Namensobjekt wurde erwartet"

>

> before the PDF is fully rendered, while the original file does not

> show such a behaviour.

>

> When such PDF files are opened in Foxit PDF Reader or PDFDebugger,

> they are rendered just fine without errors.

>

> We saw this happen every now and then over the years, with all PDFBox

> V2 versions, including 2.0.29,

>

> but it appears to have become more frequent recently, so user

> complaints are becoming more frequent too.

>

> As I'm unable to share sample PDFs/XFDFs due to compliance reasons, I

> just have the question if anyone happens to have some hints

>

> what I could look for in an affected PDF (preferably using

> PDFDebugger) to find out what Adobe Reader doesn't like ?

>

> Ideally, I then can try to compare it with the original and find the

> part of the process which "breaks" the result.

>

> Thanks in advance,

>

> Kai

>

> <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fthinkproject.com%2Fde%2F&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=F%2FQ4yYRr1Rv%2BwLcEM5cmp%2FW0uhVDtG8c9Xez%2FbXbBmo%3D&reserved=0<https://thinkproject.com/de/>>

>

> *Kai Keggenhoff* / Senior Software Developer

>

> *thinkproject.com*** <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fthinkproject.com%2Fde&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=S%2BJ3yc8r9jXgFmH0tJ5zdielpbhIBkWXoL25FeyKhhU%3D&reserved=0<https://thinkproject.com/de>>

>

> <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fthinkproject-dach%2Fposts%2F%3FfeedView%3Dall&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=x%2F1HZ%2BHA4n9ftlBokoUWzEa5ubanynP%2B1CLSd4MlDUU%3D&reserved=0<https://www.linkedin.com/company/thinkproject-dach/posts/?feedView=all>><https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter.com%2Fthinkproject_&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=w%2B4rE4F0udUxARyFQUa4EKbbjv7g%2F%2BK4IAubAmcBQzk%3D&reserved=0<https://twitter.com/thinkproject_>>

>

> Read our legal information (imprint) here

> <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fthinkproject.com%2Fde%2Fimpressum%2F&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ZkWeKQuBmYmR1pRBcPIpdc5bo%2B8NWU9u8UlBWO26nao%3D&reserved=0<https://thinkproject.com/de/impressum/>>.

>

AW: Adding annotations to PDFs - "expected a name object"

Posted by Kai Keggenhoff <Ka...@thinkproject.com>.
Hi Tilman,



thank you for the suggestion. Turns out, it's "Line" annotations.

When I import



<?xml version="1.0" encoding="UTF-8"?>

<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">

                <annots>

                               <line width="3" color="#FF0000" caption-style="Inline"

                                               creationdate="D:20230526112815+02'00'" flags="print"

                                               start="1770.007568,1614.721436" end="1791.373535,1658.575195"

                                               date="D:20230526112815+02'00'" page="0"

                                               rect="1764.007568,1608.721436,1797.373535,1664.575195"

                                               subject="Linie" title="John Doe">

                                               <popup flags="print,nozoom,norotate" open="no"

                                                               page="0" rect="1780.690552,-92.000000,1964.690552,0.000000"/>

                               </line>

                </annots>

</xfdf>



into either its original source or just a fresh, DIN A4 PDF with a single line of text created with PDFBox, Adobe Reader will complain.

At this point, I switched from 2.0.29 to 3.0.0beta1 and the result was the same.



In the resulting PDF, PDFDebugger shows what is in the attachment - an empty "NM" entry.

I then tried to set either "Name" or "NM" (and ultimately both) in dictionary of the PDAnnotation to "Line" with



PDAnnotation a = PDAnnotation.createAnnotation(xfdfAnnotation.getCOSObject());

a.getCOSObject().setItem(COSName.NM, new COSString("Line"));

a.getCOSObject().setItem(COSName.NAME, new COSString("Line"));



but while these values show up fine in PDFDebugger,

[cid:image001.png@01D9C527.14B4CD10]

Adobe Reader will still complain.



Would you happen to have more suggestions how I could work around this please ?



Thanks in advance,



Kai



-----Ursprüngliche Nachricht-----
Von: Tilman Hausherr <TH...@t-online.de>>
Gesendet: Dienstag, 1. August 2023 19:41
An: users@pdfbox.apache.org<ma...@pdfbox.apache.org>
Betreff: Re: Adding annotations to PDFs - "expected a name object"



CAUTION - External Sender





Try to edit the xfdf file so that it has less annotations until you know

which one is the culprit. Then tell what names were in the xfdf file. Or

make a screenshot in PDFDebugger of that annotation, without the text

content.



Tilman



On 01.08.2023 10:15, Kai Keggenhoff wrote:

>

> Hello everyone,

>

> we're using PDFBox to import annotations from XFDF files and add them

> to existing PDF files.

>

> First we create a FDFDocument from the XFDF, then we fetch the list of

> FDFAnnotations from it via

>

> < FDFDocument>.getCatalog().getFDF().getAnnotations()

>

> Then we iterate over this list, create PDAnnotations from the COS

> objects of the FDFAnnotation with PDAnnotation.createAnnotation()

>

> and add the PDAnnotation to the list of page annotations we got from

> PDPage.getAnnotations()

>

> For most PDFs and most XFDF files, this works without any issues.

>

> However, some PDF files with merged annotations, when opened in Adobe

> Reader, produce a huge number of popups with the message

>

> "Expected a name object" / "Namensobjekt wurde erwartet"

>

> before the PDF is fully rendered, while the original file does not

> show such a behaviour.

>

> When such PDF files are opened in Foxit PDF Reader or PDFDebugger,

> they are rendered just fine without errors.

>

> We saw this happen every now and then over the years, with all PDFBox

> V2 versions, including 2.0.29,

>

> but it appears to have become more frequent recently, so user

> complaints are becoming more frequent too.

>

> As I'm unable to share sample PDFs/XFDFs due to compliance reasons, I

> just have the question if anyone happens to have some hints

>

> what I could look for in an affected PDF (preferably using

> PDFDebugger) to find out what Adobe Reader doesn't like ?

>

> Ideally, I then can try to compare it with the original and find the

> part of the process which "breaks" the result.

>

> Thanks in advance,

>

> Kai

>

> <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fthinkproject.com%2Fde%2F&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=F%2FQ4yYRr1Rv%2BwLcEM5cmp%2FW0uhVDtG8c9Xez%2FbXbBmo%3D&reserved=0<https://thinkproject.com/de/>>

>

> *Kai Keggenhoff* / Senior Software Developer

>

> *thinkproject.com*** <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fthinkproject.com%2Fde&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0%7C638265084694491778%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=S%2BJ3yc8r9jXgFmH0tJ5zdielpbhIBkWXoL25FeyKhhU%3D&reserved=0<https://thinkproject.com/de>>

>

> <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fthinkproject-dach%2Fposts%2F%3FfeedView%3Dall&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=x%2F1HZ%2BHA4n9ftlBokoUWzEa5ubanynP%2B1CLSd4MlDUU%3D&reserved=0<https://www.linkedin.com/company/thinkproject-dach/posts/?feedView=all>><https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter.com%2Fthinkproject_&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=w%2B4rE4F0udUxARyFQUa4EKbbjv7g%2F%2BK4IAubAmcBQzk%3D&reserved=0<https://twitter.com/thinkproject_>>

>

> Read our legal information (imprint) here

> <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fthinkproject.com%2Fde%2Fimpressum%2F&data=05%7C01%7CKai.Keggenhoff%40thinkproject.com%7Cc2c7a48b704a43b51b5108db92b67c7e%7C066d0cfbe2e648f093a415c5c8979a86%7C0%7C0%7C638265084694649022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ZkWeKQuBmYmR1pRBcPIpdc5bo%2B8NWU9u8UlBWO26nao%3D&reserved=0<https://thinkproject.com/de/impressum/>>.

>

Re: Adding annotations to PDFs - "expected a name object"

Posted by Tilman Hausherr <TH...@t-online.de>.
Try to edit the xfdf file so that it has less annotations until you know 
which one is the culprit. Then tell what names were in the xfdf file. Or 
make a screenshot in PDFDebugger of that annotation, without the text 
content.

Tilman

On 01.08.2023 10:15, Kai Keggenhoff wrote:
>
> Hello everyone,
>
> we’re using PDFBox to import annotations from XFDF files and add them 
> to existing PDF files.
>
> First we create a FDFDocument from the XFDF, then we fetch the list of 
> FDFAnnotations from it via
>
> < FDFDocument>.getCatalog().getFDF().getAnnotations()
>
> Then we iterate over this list, create PDAnnotations from the COS 
> objects of the FDFAnnotation with PDAnnotation.createAnnotation()
>
> and add the PDAnnotation to the list of page annotations we got from 
> PDPage.getAnnotations()
>
> For most PDFs and most XFDF files, this works without any issues.
>
> However, some PDF files with merged annotations, when opened in Adobe 
> Reader, produce a huge number of popups with the message
>
> “Expected a name object” / “Namensobjekt wurde erwartet”
>
> before the PDF is fully rendered, while the original file does not 
> show such a behaviour.
>
> When such PDF files are opened in Foxit PDF Reader or PDFDebugger, 
> they are rendered just fine without errors.
>
> We saw this happen every now and then over the years, with all PDFBox 
> V2 versions, including 2.0.29,
>
> but it appears to have become more frequent recently, so user 
> complaints are becoming more frequent too.
>
> As I’m unable to share sample PDFs/XFDFs due to compliance reasons, I 
> just have the question if anyone happens to have some hints
>
> what I could look for in an affected PDF (preferably using 
> PDFDebugger) to find out what Adobe Reader doesn’t like ?
>
> Ideally, I then can try to compare it with the original and find the 
> part of the process which “breaks” the result.
>
> Thanks in advance,
>
> Kai
>
> <https://thinkproject.com/de/>
>
> *Kai Keggenhoff* / Senior Software Developer
>
> *thinkproject.com*** <https://thinkproject.com/de>
>
> <https://www.linkedin.com/company/thinkproject-dach/posts/?feedView=all><https://twitter.com/thinkproject_>
>
> Read our legal information (imprint) here 
> <https://thinkproject.com/de/impressum/>.
>