Am 21.11.23 um 21:26 schrieb John Lussmyer:
Ugh, formatting mess.
For more info, this is the "addOCGs:OCG" log line just before the error
message:
10:53:09.765 [etrix SwingWorker[0]] DEBUG ImposedPDFEngine - addOCGs:
OCG
COSDictionary{COSName{Name}:COSObject{COSNull{}};COSName{Type}:COSObject{COSName{OCG}};}
The value for the type is an indirect object. Usally such values are
direct objects. The type check fails as it expects a direct object as
type value.
On 11/21/2023 10:56 AM, John Lussmyer wrote:
I'm using PDFBox 3.0.0 to combine some PDF files. One of the files
uses an Optional Content Group.
Note that this code has been working just fine for many other files
both with and without OCG's.
For this file, I get this exception:
java.lang.IllegalArgumentException: Provided dictionary is not of type
'COSName{OCG}'
at
org.apache.pdfbox.pdmodel.graphics.optionalcontent.PDOptionalContentGroup.<init>(PDOptionalContentGroup.java:48) ~[pdfbox-3.0.0.jar:3.0.0]
Code:
*if*(obj*instanceof*COSDictionary) {
COSDictionary dict= (COSDictionary) obj;
COSName dType= dict.getCOSName(COSName.*/TYPE/*);
*if*(dType== *null*) {
*continue*;
}
*if*(dType.equals(COSName.*/OCG/*)) {
*/log/*.debug("addOCGs: OCG {}", dict);
PDOptionalContentGroup grp= *new*PDOptionalContentGroup(dict);
ocProps.addGroup(grp);
ocProps.setGroupEnabled(grp, layersON.contains(grp.getName()));
changed= *true*;
}
}
It's failing on the "new PDOptionalContentGroup(dict)" call.
Any ideas on why?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: users-h...@pdfbox.apache.org