Thank you for replying. I appreciate it. Unfortunately the document contains sensitive info. I hope you can replicate the issue using the following debugger screenshot:
[image: image.png] Thanks for taking the time, Constantine -- There is a computer disease that anybody who works with computers knows about. It's a very serious disease and it interferes completely with the work. The trouble with computers is that you 'play' with them! - Richard P. Feynman On Wed, May 27, 2026 at 3:31 PM Tilman Hausherr <[email protected]> wrote: > I did read it then for some reason did nothing. > > The problem is that the return value is an array backed by the > annotation COSArray, so this doesn't really work if we'd have a > different number in the COSArray and in the annotation array. > > However I see that it is already done that we skip stuff if it is > filtered, so maybe we should skip exceptions as well. It looks like this > now: > > PDAnnotation createdAnnotation = > PDAnnotation.createAnnotation(item); > if (annotationFilter.accept(createdAnnotation)) > { > actuals.add(createdAnnotation); > } > > and we could change it like this: > > try > { > PDAnnotation createdAnnotation = > PDAnnotation.createAnnotation(item); > if (annotationFilter.accept(createdAnnotation)) > { > actuals.add(createdAnnotation); > } > } > catch (IOException ex) > { > LOG.error(ex.getMessage(), ex); > } > > Can you share such a file? > > Tilman > > Am 27.05.2026 um 11:22 schrieb Constantine Dokolas: > > No one is willing to reply? > > > > :( > > > > Constantine > > > > > > On Tue, Apr 21, 2026 at 11:33 AM Constantine Dokolas <[email protected] > > > > wrote: > > > >> I sent this to the "dev" list by mistake. Reposting to "users"... > >> > >> > >> Hi all! > >> > >> I'm working with a PDF that has an invalid "Annots" dictionary on a > page. > >> The issue is that the dictionary is just an array of ints (COSInt). > Because > >> of that, parsing the page throws this exception (this is as it appears > in > >> the PDFBox debugging app): > >> > >> java.lang.RuntimeException: java.util.concurrent.ExecutionException: > >>> java.io.IOException: Error: Unknown annotation type COSInt{278} > >>> > >>> > org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.done(PagePane.java:584) > >>> > >>> > java.desktop/sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112) > >>> Caused by: java.util.concurrent.ExecutionException: > java.io.IOException: > >>> Error: Unknown annotation type COSInt{278} > >>> > >>> > org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.done(PagePane.java:569) > >>> > >>> > java.desktop/sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112) > >>> Caused by: java.io.IOException: Error: Unknown annotation type > COSInt{278} > >>> > >>> > org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotation.createAnnotation(PDAnnotation.java:166) > >>> org.apache.pdfbox.pdmodel.PDPage.getAnnotations(PDPage.java:779) > >>> > org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:291) > >>> > >>> > org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:348) > >>> > >>> > org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.doInBackground(PagePane.java:546) > >>> > >>> > org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.doInBackground(PagePane.java:525) > >>> java.base/java.lang.Thread.run(Thread.java:1474) > >> > >> Is there, perhaps (I don't expect there is), a way to ignore these > >> entries? The issue is that most PDF viewers ignore these entries, but > >> PDFBox crashes. > >> > >> Generally, we have difficulty explaining to our customers that PDFs must > >> be well-formed and standards-compliant for us to process them, but the > >> usual counter-argument is "but it works with Acrobat!" > >> I wonder if anyone has suggestions (that work IRL) on how to counter > this > >> argument. > >> > >> Have a great day, > >> Constantine > >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >

