-
Notifications
You must be signed in to change notification settings - Fork 79
PDF hul Messages
Invalid destination object
An unexpected object type was found for a destination object. A destination object is expected to be an array containing a page reference, a dictionary containing such an array, or a name object leading to either of these objects.
- Type: PdfInvalidException
- Source location: Destination.java L93
- Examples: 1, 2, 3, 4
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.2
Needs review
Needs review
Invalid destination object
An unexpected object type was returned when resolving a destination's page reference to a page. In this case the orignal destination object was an array or dictionary that resolved to an array but didn't. A destination object is expected to be an array containing a page reference, a dictionary containing such an array, or a name object leading to either of these objects.
- Type: PdfInvalidException
- Source location: https://github.com/openpreserve/jhove/blob/integration/jhove-modules/pdf-hul/src/main/java/edu/harvard/hul/ois/jhove/module/pdf/Destination.java#L93
- Examples: 1, 2
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.2
Needs review
Needs review
An IOException was thrown reading destination array id: <array object id>
An IOException occured when trying to read and parse the destination array object, this indicates either a discrete issue with the destination array or a more serious issue with the PDF structure that makes looking up and retrieving the destination array impossible.It's possible a system issue, particularly low disk space, could cause the exception.
- Type: PdfInvalidException
- Source location: Needs review
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.2
Needs review
Needs review
Missing dictionary in document node
A page or page tree node is not a dictionary. All pages and page trees should be a dictionary, which provides access to their resources and other attributes.
- Type: PdfMalformedException
- Source location: DocNode.java L104
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3
The page or any pages descending from the page tree will be inaccessible and may not appear in a reader.
Is it possible to build a page's dictionary after the fact? Maybe iText can fix it. We (at ZBW) have an iText-Tool, which just copies each page into a new PDF. The PDF structure gets repaired by this procedure and I would guess that it would build a brand new PDF Dictionary for the PDF. I do not have any example on hand, though, so I cannot check.
Invalid Resources Entry in document
One of the objects processed when resolving the Resources dictionary was of a type not allowed by the PDF Specification, or there was an IO error when resolving the Resources dictionary. Page Tree Nodes may have an empty resource dictionary (no resources) or no entry, meaning the resources are inherited from a parent node.
- Type: PdfInvalidException
- Source location: DocNode.java L115
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3.3
Needs review
Needs review
Invalid Font entry in Resources
An IOException occurred when reading the reference for the for Fonts dictionary found in the Resource catalog for the Page Tree Node. Resource catalogs don't need to have a Font's dictionary but this error indicates the catalogue provides a reference to one that can't be read.
- Type: PdfMalformedException
- Source location: DocNode.java L138
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.7.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.8.3
Needs review
Needs review
Malformed MediaBox in page tree
A page dictionary's "MediaBox" key value is not an array.
- Type: PdfInvalidException
- Source location: Needs review
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.5
Needs review
Needs review
Malformed MediaBox in page tree
A page's "MediaBox" entry is not an array of four numbers. "MediaBox" entries must contain an array of four numbers marking the X and Y coordinates for the lower-left and upper-right corners of a rectangle, e.g. [2 2 5 5].
- Type: PdfInvalidException
- Source location: DocNode.java L159
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.5
Needs review
Needs review
Invalid file specification
A file specification is processed as a dictionary that can have one of the key values 'F', 'Unix', 'DOS', or 'Mac'. The value of these keys should be a simple object with the file specification as a String value. In this case the object returned wasn't a simple object with a String value.
- Type: PdfInvalidException
- Source location: FileSpecification.java L66
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.10
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.11
Needs review
Needs review
Unterminated literal in PDF file
No closing parenthesis was found when processing a String literal. All String literals must be enclosed in parenthesis.
- Type: EOFException
- Source location: Literal.java L164
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.3
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.4.2
Needs review
Needs review
Invalid character in hex string
An invalid character was found in a hexadecimal string.A hexadecimal string is written as a sequence of hexadecimal digits (0 – 9 and either A – F or a – f) enclosed within angle brackets (< and >). The hex string in question contains a character outside this set.
- Type: PdfMalformedException
- Source location: Literal.java L358
- Examples: 1, 2
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.3
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.4.3
Needs review
Needs review
Invalid name tree
An unexpected object type was encountered when processing a name tree node. A name tree node is a dictionary that depending on its type: root, intermediate or leaf; can have up to two entries with keys "Names", "Kids", or "Limits", each of which is should have an array value. In this case either the returned value for an entry was not a PDF array, or the elements of the Limits entry array weren't Strings as per the specification.
- Type: PdfInvalidException
- Source location: NameTreeNode.java L160
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.5
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.6
Needs review
Needs review
Invalid name tree
The name tree node has a "Limits" dictionary entry that returned either a null entry or the entry returned was a PDF array that didn't have element at positions [0] and [1].
- Type: PdfInvalidException
- Source location: NameTreeNode.java L166
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.5
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.6
Needs review
Needs review
Invalid name tree
There was an I/O error resolving the object for one of the entries, "Names", "Kids", or "Limits" in the name tree node.
- Type: PdfInvalidException
- Source location: NameTreeNode.java L91
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.5
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.6
Needs review
Needs review
Invalid name tree
The name tree node dictionary does not have one of a "Names" or "Kids" entry as per the PDF specification.
- Type: PdfInvalidException
- Source location: NameTreeNode.java L94
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.5
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.6
Needs review
Needs review
Invalid name tree
An unexpected error occured while parsing a name tree node. This might have been a wrong object type, missing object, or null object encountered while processing the entries, or an I/O error resolving them.
- Type: PdfInvalidException
- Source location: NameTreeNode.java L97
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.5
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.6
Needs review
Needs review
Offset out of bounds in object stream
An I/O error occurred when processing an object stream, this might have been when finding the object start or reading the object.
- Type: PdfMalformedException
- Source location: ObjectStream.java L131
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.3
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.7
Needs review
Needs review
Missing expected element in page number dictionary
The "Nums" entry of a page label leaf node is missing. JHOVE seems to have munged the PDF concepts of a page label and a number tree, this needs review.
- Type: PdfInvalidException
- Source location: PageLabelNode.java L178
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.3.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.6
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.4.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.7
Needs review
Needs review
Invalid date in page number tree
An unexpected error occurred while retrieving key–value pairs from a page label node's "Nums" entry. Doesn't appear to have anything to do with dates. Needs review. Can confirm that JHOVE 1.12 gave the same message and it's nothing to do with dates.
- Type: PdfInvalidException
- Source location: PageLabelNode.java L204
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.3.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.6
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.4.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.7
Needs review
Needs review
Invalid page label node
An unexpected error occured when processing the page lable number tree.
- Type: PdfInvalidException
- Source location: PageLabelNode.java L88
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.3.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.6
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.4.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.7
Needs review
Needs review
Invalid Annotations
A page objects annotations entry ("Annots") is not an Array.
- Type: PdfInvalidException
- Source location: PageObject.java L108
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.4 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.5 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3.3
Needs review
Needs review
Invalid Annotations
An IOException was encountered while trying to retrieve a page object's annotation array.
- Type: PdfMalformedException
- Source location: PageObject.java L111
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.4 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.5 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3.3
Needs review
Needs review
Malformed ArtBox in page tree
A page object's dictionary has an "ArtBox" entry but it is not an array describing a rectangle.
- Type: PdfMalformedException
- Source location: PageObject.java L154
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3.3 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.5
Needs review
Needs review
Malformed TrimBox in page tree
A page object's dictionary has a TrimBox entry but it is not an array describing a rectangle.
- Type: PdfMalformedException
- Source location: PageObject.java L179
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3.3 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.5
Needs review
Needs review
Malformed BleedBox in page tree
A page object's dictionary has a "BleedBox" entry but it is not an array describing a rectangle.
- Type: PdfMalformedException
- Source location: PageObject.java L204
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3.3 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.5
Needs review
Needs review
Invalid dictionary data for page
An I/O error occured when resolving a page object dictionary's contents entry, or parsing its contents.
- Type: PdfInvalidException
- Source location: PageObject.java L74
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3.3
Needs review
Needs review
Invalid dictionary data for page
The value retrieved for a page object's "Contents" key is not a content stream or an array.
- Type: PdfInvalidException
- Source location: PageObject.java L187
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3.3
Needs review
Needs review
Invalid dictionary data for page
A page objects's "Contents" key value is an array, but one of the elements is now a stream as per the specification.
- Type: PdfInvalidException
- Source location: PageObject.java L82
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3.3
Needs review
Needs review
Invalid page tree node
A general exception was caught when processing a page tree. Page tree node must include the entries "Type", "Parent", "Kids", and "Count" to be valid.
- Type: PdfInvalidException
- Source location: PageTreeNode.java L131
- Examples: 1, 2, 3, 4
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3
Needs review
Needs review
Improperly constructed page tree
Thrown if, when trying to get the next Page Object in a tree, we revisit a node we've already been to (circular page tree construction?). It is mandatory to save PDF pages in a page tree, but the specification does not say that this page tree necesarily needs to be balanced. Suggestion during the OPF PDF Hackathon in 2014 was to ignore this error message. Having pages in a un-balanced page tree only has a negative effect on rendering performance, but does not lead to PDF invalidity.
- Type: PdfMalformedException
- Source location: PageTreeNode.java L197
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3
Needs review
Needs review
Improperly constructed page tree
Thrown if, when trying to get the next node in a page tree, we revisit a node we've already been to (circular page tree construction?). It is mandatory to save PDF pages in a page tree, but the specification does not say that this page tree necesarily needs to be balanced. Suggestion during the OPF PDF Hackathon in 2014 was to ignore this error message. Having pages in a un-balanced page tree only has a negative effect on rendering performance, but does not lead to PDF invalidity.
- Type: PdfMalformedException
- Source location: PageTreeNode.java L197
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3
Needs review
Needs review
Excessive depth or infinite recursion in page tree structure
The page tree structure was too deep, JHOVE sets an arbitary limit of 100 here presumably to guard against infinite recursion.
- Type: PdfMalformedException
- Source location: PageTreeNode.java L61
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3
Needs review
Needs review
Improperly nested dictionary delimiters
More dictionary closing elements (">>") were encountered than dictionary opening elements ("<<").
- Type: PdfMalformedException
- Source location: Parser.java L100
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.6
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.7
Needs review
Needs review
Improperly nested array delimiters
More array closing elements ("]") were encountered than array opening elements ("[").
- Type: PdfMalformedException
- Source location: Parser.java L109
- Examples: 1, 2
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.5
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.6
Needs review
Needs review
Invalid object definition
A non numeric object ID was returned when parsing the indirect object definition. The first token must be an integer object ID.
- Type: PdfInvalidException
- Source location: Parser.java L197
- Examples: 1, 2
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.9
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.10
Needs review
Needs review
Invalid object definition
PDF Parser's next token (from getToken) is not a Numeric (class) Token, This is the object generation number and must be an integer. Cause in example file is missing byte in comment line after header which means that offset references in XREF are off by 1 affecting position of tokenizer. Parser.readObjectDef first reads ObjNumTok. If this object number is a double digit, the off by 1 error (in this example) only reads the tail portion of the object number (i.e. it still gets a numeric obj number, even though it's wrong). Problem occurs in this case when obj number is single digit, so no object number is read.
- Type: PdfInvalidException
- Source location: Parser.java L214
- Examples: 1, 2
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.9
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.10
Example file is still renderable in Adobe Acrobat Pro
Correct XREF offsets.
Invalid object definition
PDF Parser's next token (from getToken) is not a keyword, the keyword "obj" is expected after the object id.
- Type: PdfInvalidException
- Source location: Parser.java L227
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.9
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.10
Needs review
Needs review
Invalid object definition
A keyword other than "obj" was found while parsing an indirect object definition. Indirect object definitions should follow the form "<obj. number> <obj. generation> obj".
- Type: PdfMalformedException
- Source location: Parser.java L229
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.9
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.10
Needs review
Needs review
Cannot parse object
The token returned when parsing an object was not of the expected type: Array start or end, Dictionary start or end, or a simple token.
- Type: PdfMalformedException
- Source location: Parser.java L297
- Examples: Needed
- PDF 1.6: Needs review
- PDF 1.7: Needs review
Needs review
Needs review
Unexpected token in array
This appears to be an unreachable error. Needs review. I concur, the type check has already taken place.
- Type: PdfMalformedException
- Source location: Parser.java L327
- Examples: Needed
- PDF 1.6: Needs review
- PDF 1.7: Needs review
Needs review
Needs review
Malformed dictionary: Vector must contain an even number of objects, but has ...
The dictionary has an odd number of objects, so cannot have a complete set of name–value pairs. Often seen with asian characters in PDF, characters in bookmarks.
- Type: PdfMalformedException
- Source location: Parser.java L366
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.6
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.7
Needs review
Needs review
Malformed dictionary
Unexpected error while parsing a dictionary. This is most likely caused by a null (missing) object or an object of an unexpected type when processing the dictionary.
- Type: PdfMalformedException
- Source location: Parser.java L376
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.6
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.7
Needs review
Needs review
Unexpected token in dictionary
This appears to be an unreachable error. Needs review. Similar case to PDF-HUL-40 where the type check that might throw this has already been performed.
- Type: PdfMalformedException
- Source location: Parser.java L385
- Examples: Needed
- PDF 1.6: Needs review
- PDF 1.7: Needs review
Needs review
Needs review
Malformed indirect object reference
A general exception was thrown while trying to "collapse an object vector" (JHOVE speak), the most likely cause is that a missing (null) object or an object of an unexpected type was encountered while processing an object "vector".
- Type: PdfMalformedException
- Source location: Parser.java L452
- Examples: Needed
- PDF 1.6: Needs review
- PDF 1.7: Needs review
Needs review
Needs review
Malformed filter
This indicates an issue with a stream dictionary's "Filter" (or deprecated "FFilter") entry or the associated "DecodeParms" (or deprecated "FDecodeParms") entry. The "Filter" entry can be a single name or an array of names. The "DecodeParms" entry is either a single parameter dictionary accompanying a single "Filter" name, or an array of dictionaries accompanying an array of "Filter" names. Xerox Example error is based on image filters ZIP & JPEG on same image. Note that for JHOVE versions up to including 1.28, this error message was also a false positive for filter arrays such as "/Filter[/FlateDecode/DCTDecode]".
- Type: PdfMalformedException
- Source location: PdfStream.java L204
- PDF 2.0: https://pdfa.org/resource/iso-32000-2/ | 7.4
Needs review
Change embedded image compression filter
Malformed ASCII number in stream
An integer object in a stream contained an invalid character. The integer must be a sequence of numberic characters that may be preceded by whitespace characters. In this case a non-whitespace character was encountered before any numeric character was encountered.
- Type: PdfMalformedException
- Source location: Stream.java L202
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.2 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.9
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.3 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.10
Needs review
Needs review
Streams may not be embedded in object streams
This is triggered when the a "stream" object is found within another stream object.
- Type: PdfMalformedException
- Source location: StreamTokenizer.java L45
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.7 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.6
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.8 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.7
Needs review
Needs review
Streams may not be embedded in object streams
This is triggered when the a "stream" object is found within another stream object.
- Type: PdfMalformedException
- Source location: StreamTokenizer.java L83
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.7 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.6
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.8 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.7
Needs review
Needs review
Unknown element in structure tree
The "K" (children) entry of a structure element dictionary was another dictionary. This dictionary must be one of: another nested strucuture element, marked content or an object reference, the returned dictionary was none of these.
- Type: PdfInvalidException
- Source location: StructureElement.java L124
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.7
Needs review
Needs review
Invalid structure attribute reference
There was an issue resolving the "A" attributes entry of a structure element dictionary.
- Type: PdfInvalidException
- Source location: StructureElement.java L209
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.7.1
Needs review
Needs review
Invalid structure attribute
There was an I/O error resolving one of the elements of an attributes array.
- Type: PdfInvalidException
- Source location: StructureElement.java L228
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.7.1 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.7.5
Needs review
Needs review
Invalid structure attribute
An attribute element that was a PdfSimpleObject wasn't a numeric revision number.
- Type: PdfInvalidException
- Source location: StructureElement.java L240
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.7.1 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.7.5
Needs review
Needs review
Invalid structure attribute
An element from an attributes array wasn't a dictionary or revision number object.
- Type: PdfInvalidException
- Source location: Needs review
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.7.1 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.7.5
Needs review
Needs review
Structure attribute has illegal type
The value of a structure element dictionary's "A" (attributes) entry wasn't a single attributes dictionary or an array (of attribute dictionaries).
- Type: PdfInvalidException
- Source location: StructureElement.java L252
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.7.2
Needs review
Needs review
Block-level attributes in inline structure element
Attributes only applicable to a block-level structure element were found for an inline structure element.
- Type: PdfInvalidException
- Source location: StructureElement.java L255
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.7.3 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.7.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.8.4 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.8.5
Needs review
Needs review
Invalid attribute in document structure
An attribute dictionary's "Placement" value was not a name.
- Type: PdfInvalidException
- Source location: StructureElement.java L287
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.7.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.8.5.4.2
Needs review
Needs review
Non-standard structure type name
This checks that the structure element's structure type key ("S") value is one of the Adobe standard types. The check is currently disabled in code, and it should. The Adobe types are provided to aid interoperability between applications, but custom types are allowed. Review and remove permanently. A more sensible check would be that it was a name that confirmed to the naming standard in the PDF spec, Appendix E in the 1.6 version.
- Type: PdfInvalidException
- Source location: StructureElement.java L330
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.7.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.7.3
Needs review
Needs review
Invalid data in document structure tree
An I/O exception was thrown when trying to resolve a structure elements children ("K") value.
- Type: PdfInvalidException
- Source location: StructureElement.java L85
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
- PDF 1.7: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
Needs review
Needs review
Invalid document structure root
A structure tree root's "Type" name value that wasn't "StructTreeRoot". The structure tree root dictionary must have a Type key whose value is the name "StructTreeRoot".
- Type: PdfInvalidException
- Source location: StructureTree.java L168
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
- PDF 1.7: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
Needs review
Needs review
Invalid document structure root
The structure tree root dictionary had no key "Type" or the value was of the wrong type.
- Type: PdfInvalidException
- Source location: StructureTree.java L175
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
- PDF 1.7: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
Needs review
Needs review
Invalid data in document structure root
An I/O exception was thrown when trying to resolve a reference in a structure trees children.
- Type: PdfMalformedException
- Source location: StructureTree.java L222
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
- PDF 1.7: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
Needs review
Needs review
Invalid data in document structure root
The structre tree's "K" value was not a dictionary or an array. A structure tree root's children ("K") value must be a single child dictionary, or an array of such dictionaries.
- Type: PdfInvalidException
- Source location: StructureTree.java L233
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
- PDF 1.7: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
Needs review
Needs review
Invalid RoleMap
If a structure tree root dictionary has a "RoleMap" value it must be a dictionary.
- Type: PdfInvalidException
- Source location: StructureTree.java L249
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
- PDF 1.7: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.6.1
Needs review
Needs review
Unexpected EOF
Unsure if this can be triggered, seems to be a test against reading a character integer value < 0. I suspect that the real EOF handling will be triggered as a real Java EOFException. Needs reveiw
- Type: PdfMalformedException
- Source location: Tokenizer.java L235
- Examples: Needed
- PDF 1.6: Needs review
- PDF 1.7: Needs review
Needs review
Needs review
Lexical error
An invalid character was encountered when parsing the fractional part of a real numeric object.
- Type: PdfMalformedException
- Source location: Tokenizer.java L362
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 7.3.3
Needs review
Needs review
Lexical error
A dictionary is written as a sequence of key-value pairs enclosed in double angle brackets ( << ... >>). In this case JHOVE is expecting to parse a dictionary end ">>" but only a single ">" was found.
- Type: PdfMalformedException
- Source location: Tokenizer.java L374
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.2
- PDF 1.7: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 7.3.7
Needs review
Needs review
Invalid character in hex string
An invalid character was found in a hexadecimal string.A hexadecimal string is written as a sequence of hexadecimal digits (0 – 9 and either A – F or a – f) enclosed within angle brackets (< and >). The hex string in question contains a character outside this set.
- Type: PdfMalformedException
- Source location: Tokenizer.java L808
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.2.3
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.3.4.3
Needs review
Needs review
Invalid cross-reference table
An invalid first object id in a cross reference table. The first line of a "xref" cross reference trailer must be two numeric literals, separated by a space. The first is the id of the first object in the table. This must be a numeric type and it's not. This means the parsing of the trailer fails and this leads to a problem when parsing the rest of the document. With this error also PDF-HUL-85 is associated because the document root isn't found.
- Type: PdfInvalidException
- Source location: PdfModule.java L1240-L1241
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.4
Needs review
Needs review
Invalid cross-reference table
An invalid object count in a cross reference table. The first line of a "xref" cross reference trailer must be two numeric literals, separated by a space. The second is the number of objects in the table. This must be a numeric type and it's not.
- Type: PdfInvalidException
- Source location: PdfModule.java L1021
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.4
Needs review
Needs review
Root entry missing in cross-ref stream dictionary
A cross reference streams dictionary doesn't contain the root entry required by a trailer dictionary.
- Type: PdfInvalidException
- Source location: PdfModule.java L1035
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.7
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.8
Needs review
Needs review
No file trailer
The "trailer" keyword that marks the start of the document trailer wasn't found.
- Type: ErrorMessage, Malformed
- Source location: PdfModule.java L1060
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.5
Needs review
Needs review
Invalid Prev offset in trailer dictionary
The "Prev" entry of a trailer dictionary does not reference a numeric value. Trailer "Prev" entries should specify the byte offset of the previous cross-reference section in a PDF with multiple cross-reference sections.
- Type: PdfInvalidException
- Source location: PdfModule.java L1079
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.5
Needs review
If there is only one cross-reference section in a PDF, the "Prev" entry should be removed.
Invalid Size entry in trailer dictionary
The "Size" entry of a trailer dictionary does not contain a positive numeric value. Trailer "Size" entries should specify the total number of objects in a PDF's cross-reference table.
- Type: PdfInvalidException
- Source location: PdfModule.java L1100
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.5
Needs review
Needs review
Size entry missing in trailer dictionary
Trailer has no "Size" value. Trailer "Size" entries are required to specify the total number of objects in a PDF's cross-reference table.
- Type: PdfInvalidException
- Source location: PdfModule.java L1109
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.5
Needs review
Needs review
Root entry missing in trailer dictionary
The "Root" entry in the trailer is missing. The "Root" entry should have as its value the document's catalog dictionary, which is where you will start in order to find all the objects in the PDF. See also PDF-HUL-85.
- Type: PdfInvalidException
- Source location: PdfModule.java L1341-L1342
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.4
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.5
Needs review
Needs review