-
Notifications
You must be signed in to change notification settings - Fork 79
PDF hul Messages 2
Trailer dictionary Info key is not an indirect reference
The "Info" entry of a trailer dictionary does not contain an indirect object reference (e.g. "1 0 R"). If an "Info" entry exists in a trailer, it should point to the document's information dictionary via an indirect object reference.
- Type: PdfinvalidException
- Source location: PdfModule.java L1124
- 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
Invalid ID in trailer
The "ID" value returned from the trailer dictionary is an array but does not have exactly two elements. The trailer ID is optional but if present it must be an array of two byte strings that constitute a file identifier.
- Type: PDfInvalidException
- Source location: PdfModule.java L1139
- 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
Invalid ID in trailer
Some exception occured processing the trailer "ID" value, most likely an invalid (non byte string) array element. The tailer "ID" is optional but if present it must be an array of two byte strings that constitute a file identifier.
- Type: PDfInvalidException
- Source location: PdfModule.java L1151
- 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
Invalid ID in trailer
The "ID" value returned from the trailer dictionary is not an array. The ID attribute is optional but if present it must be an array of two byte strings that constitute a file identifier.
- Type: PDfInvalidException
- Source location: PdfModule.java L1155
- 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
Invalid object number in cross-reference stream
The object number of a cross-reference stream could not be found ("-1"), or is greater than the total number of entries in the document's cross-reference table at the time that stream was written, meaning either the object number or table size is invalid.
- Type: PdfMalformedException
- Source location: PdfModule.java L1211
- Examples: Needed
- 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
This may fix the error, but QA may be desirable to make sure that nothing important was changed (mutool is part of MuPDF):
$ mutool clean a.pdf b.pdf
Malformed cross-reference stream
This error doesn't seem to be reachable, there's nothing to throw an I/O exception in the try block code. needs review
- Type: ErrorMessage, Malformed
- Source location: PdfModule.java L1238
- Examples: Needed
- PDF 1.6: Needs review
- PDF 1.7: Needs review
Needs review
Needs review
Malformed cross-reference table
The offset or object number (for a free entry) for a cross reference table entry wasn't a numeric literal.
- Type: PdfInvalidException
- Source location: PdfModule.java L1289
- Examples: 1 (Comment in Cross-reference table)
- 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.4
Needs review
Needs review
Malformed cross-reference table
The final literal keyword that should be "n" for a table entry or "f" for a free entry is not a keyword at all.
- Type: PdfInvalidException
- Source location: PdfModule.java L1289
- Examples: 1
- 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.4
Needs review
Needs review
Illegal operator in cross-reference table
An unexpected keyword was found in a cross-reference entry. Expected keywords are "f" or "n".
- Type: PdfMalformedException
- Source location: PdfModule.java L1306
- Examples: 1
- 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.4
Needs review
Needs review
No document catalog dictionary
The trailer has no document catalogue entry ("Root") or a trailer was not found. The Catalog of the document contains all the references to other objects for example contents, outline, named destinations. JHOVE's approach to the document catalog is a little scattergun. Specifically here the reference to the document catalog is null. As the examples show this error can be reached, even when similar parsing in the trailer is done earlier. When the parsing of the cross-reference fails this error is reached (Example 2) or when the Root is missing after reaching PDF-HUL-75 the parsing continues until this error.
- Type: Error Message, Malformed
- Source location: PdfModule.java L1568
- Examples: 1, 2
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1 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.7.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.5
Needs review
Needs review
No document catalog dictionary
The trailer contains a document catalogue entry ("Root") but it cannot be resolved. The Catalog of the document contains all the references to other objects for example contents, outline, named destinations.
- Type: Error Message, Malformed
- Source location: PdfModule.java L1580
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1 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.7.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.5
Needs review
Needs review
File header gives version as ..., but catalog dictionary gives version as ...
The PDF version specified in the header is different from the version specified in the document catalogue dictionary. This is OK by specification and the higher PDF version "wins" in terms of the version of the specification the document conforms to.
- Type: InfoMessage
- Source location: PdfModule.java L1665-L1669
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.2
Needs review
Needs review
Invalid Version in document catalog
The document's PDF version, from EITHER the file header or document catalog dictionary, cannot be recognised as a number, this doesn't apply to the document catalog alone, misleading and needs review, or at least MUST be sure that the header version parses properly.
- Type: PdfInvalidException
- Source location: PdfModule.java L1677
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.2
Needs review
Needs review
Invalid Names dictionary
The document catalogue dictionary's "Names" value is a reference to a non-dictionary object.
- Type: PdfInvalidException
- Source location: PdfModule.java L1702
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.2
Needs review
Needs review
Invalid Names dictionary
An unexpected error occurred while retrieving the document catalogue's Names dictionary ("Names").
- Type: PdfMalformedException
- Source location: PdfModule.java L1706
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.2
Needs review
Needs review
Invalid destinations dictionary
The document catalogue's "Dests" entry references an object which is not a dictionary. The optional "Dests" entry is expected to contain a dictionary of the document's destination objects.
- Type: PdfInvalidException
- Source location: PdfModule.java L1719
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.2
Needs review
Needs review
Invalid destinations dictionary
An unexpected error occurred while retrieving the document catalogue's destinations dictionary ("Dests").
- Type: PdfMalformedException
- Source location: PdfModule.java L1723
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.2
Needs review
Needs review
Invalid algorithm value in encryption dictionary
The "V" entry of an encryption dictionary, which specifies the encryption algorithm used, has an invalid value. It must be a number value from 0-4 inclusive. Note that the PDF 1.7 specification seems to disbar the "3" option also. From PDF extension level 3 onward a new value number 5 is added (for the algorithm AESV3)
- Type: PdfInvalidException
- Source location: PdfModule.java L1797-L1798
- Examples: Example with V value of 5: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.2
- Adobe® Supplement to the ISO 32000: https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/adobe_supplement_iso32000.pdf | 3.5.2
Needs review
Needs review
Unexpected exception ...
Unexpected error while parsing the document information dictionary, most likely a missing (null) object or object of the wrong type encountered while resolving the dictionary object or processing its entries.
- Type: ErrorMessage
- Source location: PdfModule.java L1920-L1925
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.2.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.2.3
Needs review
Needs review
Document page tree not found
The document catalogue is missing its mandatory "Pages" entry. The entry must be a reference to the page tree node dictionary that is root of the document's page tree.
- Type: PdfInvalidException
- Source location: PdfModule.java L1933
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1
- PDF 1.7: Needs review
Needs review
Needs review
Document page tree not found
There was an error parsing the documents page tree.
- Type: PdfInvalidException, Malformed
- Source location: PdfModule.java L1962-L1963
- 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.6.1
- 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.7.2
Needs review
Needs review
Invalid page dictionary object
The "Pages" reference from the document catalog was resolved to a non-dictionary object. This must resolve to a dictionary representing the page tree element that is the tree's root node.
- Type: PdfMalformedException
- Source location: PdfModule.java L1938
- 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.6.1
- 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.7.2
Needs review
Example PDF we (@BL) have so far has turned out to be a bug in source code from handling stream objects - https://github.com/openpreserve/jhove/pull/151. Correcting error leads to PDF-HUL-56.
Variable message
Unexpected error while parsing the document page tree.
- Type: ErrorMessage, Malformed
- Source location: PdfModule.java L1968-L1973
- 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
Unexpected exception ...
Unexpected error while parsing the document page label tree.
- Type: ErrorMessage
- Source location: PdfModule.java L1998-L2003
- Examples: Needed
- PDF 1.6: Needs review
- PDF 1.7: Needs review
Needs review
Needs review
Invalid or ill-formed XMP metadata
There was a character encoding issue when parsing the XMP metadata embedded in the PDF. This error is a catch around an initial SAX error that's analysed for an encoding value which is used in a second attempt to open the file. It's not clear how often this error is triggered, so I added an info log statement.
- Type: PdfInvalidException
- Source location: PdfModule.java L1777
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.2.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.3.2
Needs review
Needs review
Invalid or ill-formed XMP metadata
An exception was caught while parsing an XMP block embedded in the PDF.
- Type: ErrorMessage, Invalid
- Source location: PdfModule.java L2062-L2063
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 10.2.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 14.3.2
Needs review
Needs review
Unexpected exception ...
Unexpected error while parsing a page objects external content streams. This is a single stream or an array of streams that is the value of the optional "Contents" key.
- Type: ErrorMessage, Malformed
- Source location: PdfModule.java L2107-L2112
- 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
Unexpected exception ...
Unexpected error while parsing and analysing images embedded in the PDF. This a a very general catch and might benefit from been more specific, with more errors and more descriptive messages.
- Type: ErrorMessage, Malformed
- Source location: PdfModule.java L2457-L2462
- 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.7.2 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 4.7 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 4.8
- 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.8.3 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 8.8 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 8.9
Needs review
Needs review
Expected dictionary for font entry in page resource
One of the font entries returned when processing the "Fonts" resource dictionary was resolved but a non-dictionary object was returned.
- Type: ErrorMessage, Malformed
- Source location: PdfModule.java L2513-L2515
- Examples: Needs examples
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.7.2 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 5.4 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 5.5
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.8.3 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 9.5 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 9.6
Needs review
Needs review
Fonts exist, but are not displayed; ...
This is just a message to say that font information is available but not reported. The configuration needs to be changed to see the font information (See Remediation)
- Type: InfoMessage
- Source location: PdfModule.java L2524-L2525
- Examples: Not applicable, is jHove configuration
- PDF 1.6: Not applicable, is jHove configuration
- PDF 1.7: Not applicable, is jHove configuration
No impact. This is because a configuration option prevent the reporting of font information.
The configuration file can be changed to show fonts. The configuration contains: <param>f</param>
to prevent the reporting of fonts.
Unexpected error in findFonts
Some fonts in the document are missing / unreadable in the file. Needs review.
- Type: ErrorMessage, Malformed
- Source location: PdfModule.java L2544-L2545
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.7.2 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 5.4 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 5.5
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.8.3 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 9.5 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 9.6
The missing fonts are typically replaced by similar fonts that are found on the client's computer. These replacements can be imperfect and may cause letters or symbols to be subtstituted by incorrect glyphs, leading to spelling errors and missing or misleading iconography.
Create the original document with embedded fonts, as in PDF/A-compliant files. If this is not possible, one may be able to acquire the correct font and append it to the original PDF.
Improper nesting of object streams
This occurs when an arbitary recursion limit, of thirty times, has occurred when searching for an object in a stream.
- Type: PdfMalformedException
- Source location: PdfModule.java L2669
- Examples: Needed
- PDF 1.6: 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.5.7
Needs review
Needs review
Invalid object number or object stream
An object stream dictionary has failed JHOVE's validity tests:
- must have a "Type" entry which is the name: "ObjStm";
- must have a count "N" entry that's an integer value; and
- must have a first offset "First" entry that's an integer value. This error is probably never shown, as the error is catched in PDF-HUL-110.
- Type: PdfMalformedException
- Source location: PdfModule.java L4383-L4384
- Examples: Needed
- PDF 1.6: 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.5.7
Needs review
Needs review
Compression method is invalid or unknown to JHOVE
An error ("ZipException") occurred while decompressing an object stream. <See explanation for Object Streams: Object streams are stream objects (a dictionary followed by a stream of bytes) which contain other indirect objects. Placing objects in a stream allows them to be compressed with one or more filters, optimizing file sizes.> As of October 2016, this module only supports decompressing object streams with "FlateDecode" filters, although this exception can be thrown even when FlateDecode filters are being used. Needs further investigation. Beware if encryption is used this Error is also show. All examples are examples of encrypted documents.
- Type: PdfMalformedException
- Source location: PdfModule.java L4392
- Examples: 1, 2, 3
- PDF 1.6: 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.5.7
For error messages due to encryption the ETH Data Archive makes sure the files can be opened, as some DRM rights expire.
In some cases, one could ask the producer for the password, or remove certain kinds of PDF security using software tools.
Invalid object number or object stream
An object stream dictionary has failed JHOVE's validity tests:
- must have a "Type" entry which is the name: "ObjStm";
- must have a count "N" entry thats an integer value; and
- must have a first offset "First" entry that's an integer value.
- Type: PdfMalformedException
- Source location: PdfModule.java L4397
- Examples: Needed
- PDF 1.6: 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.5.7
Needs review
Needs review
Bad page labels
The document catalog dictionary has a "PageLabels" entry but there's no children in the number tree structure. JHOVE munges PDF's page labels and number tree concepts making this error trickier to interpret.
- Type: PdfMalformedException
- Source location: PdfModule.java L2880-L2881
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.6 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.3.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.7 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.4.2
Needs review
Needs review
Page information is not displayed; ...
This just informs the user that JHOVE has skipped storing and reporting the page level properties and that it can be re-enabled by config. If the parameter p is added in the configuration the Pages are ignored <param>p</param>
- Type: InfoMessage
- Source location: PdfModule.java L2912-L2913
- Examples: Not applicable, this is a configuration option
- PDF 1.6: Not applicable
- PDF 1.7: Not applicable
Not applicable, this is a configuration option
Not applicable, this is a configuration option
Invalid page label info
A general exception was caught when parsing a document's page labels to build JHOVE's page properties.
- Type: PdfMalformedException
- Source location: PdfModule.java L2952
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.6 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.3.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.7 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.4.2
Needs review
Needs review
Annotation object is not a dictionary
An item in a page's annotations array ("Annots") does not point to a dictionary. Each item in an annotation array should point to an annotation dictionary containing that annotation's details.
- Type: PdfInvalidException
- Source location: PdfModule.java L2970-L2971
- Examples: 1
- 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 | 8.4.1
- 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 | 12.5.2
Needs review
Needs review
Annotations exist, but are not displayed; ...
This just informs the user that JHOVE has skipped storing and reporting the annotation level properties and that it can be re-enabled by config. This is not an error, but a configuration option. By adding: <param>a</param>
to the configuration of JHOVE, the annotations are not displayed.
- Type: InfoMessage
- Source location: PdfModule.java L2985-L2986
- Examples: Not applicable. This is a configuration option.
- PDF 1.6: Needs review
- PDF 1.7: Needs review
Not applicable, this is a configuration option
Not applicable, this is a configuration option
Invalid Annotation list
Unexpected error while parsing a page's annotations. This is a general catch with multiple potential causes including: an I/O exception reading an object or encountering a missing (null) object or an object of an unexpected type.
- Type: PdfMalformedException
- Source location: PdfModule.java L2995
- 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 | 8.4.1
- 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 | 12.5.2
Needs review
Needs review
Invalid page dictionary
Unexpected exception while parsing a page object'd dictionary. This is a general catch with multiple potential causes including: an I/O exception reading an object or encountering a missing (null) object or an object of an unexpected type.
- Type: PdfMalformedException
- Source location: PdfModule.java L3054
- 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 page label sequence
JHOVE has calculated a page position value of less than 1. PDF's page numbering consists of a number tree whose elements are labelling ranges stored as pdf dictionaries. JHOVE's logic around page label sequences is a little confusing, this seems to be an effort to track a "natural" sequence number, that's checked against pages accumulated in other ranges. I don't believe that this error can be thrown as it's caught by the next general catch and changed to PDF-HUL-119.
- Type: PdfInvalidException
- Source location: PdfModule.java L3096
- Examples: See examples in PDF-HUL-119
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.6 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.3.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.7 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.4.2
Needs review
Needs review
Problem with page label structure
Unexpected error while parsing the page label structure. This is a general catch with multiple potential causes including: an I/O exception reading an object or encountering a missing (null) object or an object of an unexpected type. This error is also shown when actually the problem is PDF-HUL-118. All the Examples in this error are examples from this. The problem in these files are PDF-HUL-118, but instead PDF-HUL-119 is reported.
- Type: PdfMalformedException
- Source location: PdfModule.java L3133
- Examples: 1, 2, 3
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.6.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.6 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.3.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.7.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.7 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.4.2
Needs review
Needs review
Annotation dictionary missing required type (S) entry
An annotation dictionary contains an action dictionary ("A") which is missing its subtype entry ("S"). The subtype entry is necessary for determining which kind of action to perform when the annotation is activated.
- Type: PdfMalformedException
- Source location: PdfModule.java L3278-L3279
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.4.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.5.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.5.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.6.2
Needs review
Needs review
Invalid Annotation property
Unexpected error while parsing an annotation dictionary. This is a general catch with multiple potential causes including: an I/O exception reading an object or encountering a missing (null) object or an object of an unexpected type.
- Type: PdfMalformedException
- Source location: PdfModule.java L3333
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.4.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.5.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.5.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.6.2
Needs review
Needs review
Variable message
This needs review, it's a horrible cludge that eats and PDFExceptions thrown while processing destination objects and always sets the invalid flag. Seems dubious behaviour. It, for example, reports the error "Invalid indirect destination - referenced object ' ' cannot be found". This error comes from PDF-HUL-149.
- Type: ErrorMessage, An Exception for all the messages coming from adding Destination to Property list
- Source location: PdfModule.java L3378-L3383
- Examples: 1
- 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
Impact is described in a blogpost
Remediation is described in a blogpost
Outlines contain recursive references
An outline dictionary's "Next" entry points to itself. This would cause a recursive loop so JHOVE warns and breaks out. The PDF 1.6 specification doesn't explicitly disallow this.
- Type: InfoMessage
- Source location: PdfModule.java L3967
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.3
This is an info Message warning about potential infinite loops. This isn't violating the PDF specification
Needs review
Malformed outline dictionary
Unexpected error while parsing the document outline. This is a general catch with multiple potential causes including: an I/O exception reading an object or encountering a missing (null) object or an object of an unexpected type.
- Type: PdfMalformedException
- Source location: PdfModule.java L3979
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.3
Needs review
Needs review
Invalid outline dictionary item
An outline item dictionary has no "Title" value.
- Type: PdfInvalidException
- Source location: PdfModule.java L4002
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.3
Needs review
Needs review
Invalid outline dictionary item
An outline item dictionary has no "Parent" entry. This must be an indirect reference to the parent dictionary in the outline hierarchy.
- Type: PdfInvalidException
- Source location: PdfModule.java L4009
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.3
Needs review
Needs review
Invalid outline dictionary item
An outline item dictionary has a "Count" value but it's not an integer or is not a Simple Object. This is required if the outline item has children, but JHOVE doesn't check it child elements are available.
- Type: PdfInvalidException
- Source location: PdfModule.java L4015
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.3
Needs review
Needs review
Outlines contain recursive references
An outline dictionary's "Next" entry points to itself. This would cause a recursive loop so JHOVE warns and breaks out. The PDF 1.6 specification doesn't explicitly disallow this.
- Type: InfoMessage
- Source location: PdfModule.java L4068-L4069
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.3
Needs review
Needs review
Outlines contain recursive references
An outline dictionary's "Next" entry points to itself. This would cause a recursive loop so JHOVE warns and breaks out. The PDF 1.6 specification doesn't explicitly disallow this.
- Type: InfoMessage
- Source location: PdfModule.java L3934
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.3
Needs review
Needs review
Invalid outline dictionary item
An unexpected object type was encountered while parsing an outline item. Possible causes include unexpected "Prev", "Next", "First", or "Last" values.
- Type: PdfInvalidException, ClassCastException
- Source location: PdfModule.java L4101
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.3
Needs review
Needs review
Invalid outline dictionary item
Unexpected error while parsing an outline item. This is a general catch with multiple potential causes including: an I/O exception reading an object or encountering a missing (null) object.
- Type: PdfInvalidException
- Source location: PdfModule.java L4103
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 8.2.2
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 12.3.3
Needs review
Needs review
Outlines exist, but are not displayed; ...
This is just a message to say that outline information isn't been reported. It is information about the [jHove configuration](http://jhove.openpreservation.org/modules/pdf/)
. If the parameter "o" is added the Document Outline will be suppressed: <param>o</param>
.
- Type: InfoMessage
- Source location: PdfModule.java L3975
- Examples: This is configuration option in jHove.
- PDF 1.6: Needs review
- PDF 1.7: Needs review
No impact, this is a configuration option
No remediation needed as this is a configuration option.
Improperly formed date
A date found in a dictionary does not conform to the expected format. Dates specified in dictionaries should follow the format: (D:YYYYMMDDHHmmSSOHH'mm') (PDF 1.4 Spec page 100, section 3.8.2 "Dates")
- Type: PdfInvalidException, ErrorMessage
- Source location: PdfModule.java L4227
- Examples: 1, 2, 3
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.8.3
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.9.4
- A date with PDF-HUL-133 “Improperly formed date” by Micky Lindlar
Minor. This is "just" bad formatting in metadata. It violates the specification and possibly signals a useless timestamp in metadata, but usually won't keep the file from being displayed.
It may happen that after a "cure" there is no information about the creation date any more, if there are no XMP metadata in the original PDF. The date may be written poorly enough that some tools cannot recognize the date and so do not translate it into the new/corrected PDF.
Cross-reference tables are broken
Another check to prevent an endless loop when processing the cross references. This is flagged the current cross reference is the same as the previous one. The program logic is a little dark here involving state across a few member variables.
- Type: ErrorMessage, MalFormed
- Source location: PdfModule.java L827-L828
- 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.4
Needs review
Needs review
Unexpected error in parsing font property
A Java null pointer exception was caught, roughly equivalent to a missing and expected PDF object, when building the font property list. Show Fonts or Maximum Verbosity needs to be configured to show this information.
- Type: ErrorMessage, NullPointerException
- Source location: PdfModule.java L914-L915
- Examples: Needed
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 5.4 - 5.8
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 9.5 - 9.9
Needs review
Needs review
Too many fonts to report; some fonts omitted
Really an application level warning, there's nothing wrong with the PDF, just JHOVE's ability to report all of the details.
- Type: InfoMessage
- Source location: PdfModule.java L910-L911
- Examples: 1
- PDF 1.6: Needs review
- PDF 1.7: Needs review
No Impact, is an InfoMessage about jHove functionality
No Remediation, is an InfoMessage about jHove functionality
No PDF header
The PDF header could not be found within the file's first 1024 bytes. This can also appear when there are certain kinds of junk data before the header, even if the header exists within the first 1024 bytes. Should a file be classified as malformed if there is any non-zero data before the header, instead of only certain kinds? The implementation notes in the second accompanying PDF 1.6 reference has more to say about headers. The PDF 1.7 spec has no equivalent note.
- Type: ErrorMessage, Malformed
- Source location: PdfModule.java L1041
- Examples: 1
- PDF 1.6: https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | 3.4.1 https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdf_reference_archive/PDFReference16.pdf | H.3 3.4.1
- PDF 1.7: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf | 7.5.2
The file can't be identified as PDF and the version is unknown
If extra information is added to the header, that extra information can be removed.
No PDF trailer
An end-of-file marker ("%%EOF") could not be found within the file's last 1024 bytes. This indicates truncates and can often be due to a PDF file being incompletely uploaded or downloaded.
- Type: ErrorMessage, Malformed
- Source location: PdfModule.java L1157-L1158
- 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
The file is incomplete or extra information is added after the last EOF
Needs to be supplied again or extra information can be removed.
Missing startxref keyword or value
The "startxref" keyword marking the reference to a cross-reference stream couldn't be found OR the following line wasn't a numeric offset to a cross reference dictionary.
- Type: ErrorMessage, Malformed
- Source location: PdfModule.java L1213
- Examples: Needed
- 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
Document catalog dictionary object number and trailer root ref number are inconsistent.
The object retrieved as the document catalog dictionary from the cross-reference table does not have the same ID as the the reference used to retrieve it. An object's ID and it's position in the cross reference table should be the same, i.e. object ID 1 is found at index 1 in the cross-reference table. This may be indicative of a broken cross-reference table. This needs review as it's really a problem with the cross-reference table / JHOVE's parsing of it as readers are more forgiving.
- Type: ErrorMessage, MalFormed
- Source location: https://github.com/openpreserve/jhove/blob/integration/jhove-modules/pdf-hul/src/main/java/edu/harvard/hul/ois/jhove/module/PdfModule.java#L1591
- Examples: 1
- 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.4
Needs review
Needs review
Document catalog Type key must have value Catalog
The document catalog dictionary object must have key called type with the value Catalog. This error is related to PDF-HUL-142 and PDF-HUL-143.
- Type: ErrorMessage, MalFormed
- Source location: PdfModule.java L1598
- Examples: 1, 2
- PDF 1.6: Needs review
- PDF 1.7: Needs review
Needs review
Needs review
Document catalog has no Type key or it has a null value.
The document catalog dictionary object must have key called type. In this error the Type does not exist and is null. This error is related to PDF-HUL-141 and PDF-HUL-143.
- Type: ErrorMessage, MalFormed
- Source location: PdfModule.java L1599
- Examples: Needed
Needs review
Needs review
Document catalog Type key does not have a simple String value.
The document catalog dictionary object has a key called Type. In this error the Type is not a Simple Object. This error is related to PDF-HUL-141 and PDF-HUL-142.
- Type: ErrorMessage, MalFormed
- Source location: PdfModule.java L1600
- Examples: Needed
Needs review
Needs review
Pages dictionary has no Type key or it has a null value.
This error message and the next two error messages (PDF-HUL-145 and PDF-HUL-146) are related. They check the Pages in a Dictionary have the correct properties. PDF-HUL-144 is about Type key is missing or null.
- Type: ErrorMessage, MalFormed
- Source location: PdfModule.java L1945
- Examples: Needed
Needs review
Needs review
Pages dictionary Type key does not have a simple String value.
This error message and the error messages (PDF-HUL-144 and PDF-HUL-146) are related. The Type of the Page in the Directory is not a Simple Object.
- Type: ErrorMessage, MalFormed
- Source location: PdfModule.java L1946
- Examples: Needed
Needs review
Needs review
Pages dictionary Type key must have value /Pages.
This error message and the error messages (PDF-HUL-144 and PDF-HUL-145) are related.The value of Type is not Pages.
- Type: ErrorMessage, MalFormed
- Source location: PdfModule.java L1944
- Examples: Needed
Needs review
Needs review
Page tree node not found.
This error occurs when the page tree is build.
- Type: ArrayIndexOutOfBoundsException, PdfInvalidException
- Source location: PageTreeNode L128
- Examples: Needed
Needs review
Needs review
PDF minor version number is greater than 7.
At the moment the latest version of PDF is version 1.7. The latest minor version is 7. It is defined in MAX_VALID_MAJOR_VERSION Constant.
- Type: ErrorMessage, Not Valid
- Source location: PdfModule.java L1046
- Examples: 1, 2
Needs review
Needs review
Invalid indirect destination - referenced object ' ' cannot be found
The Destination was not found for an annotation that is referenced in the document This error is never reported in the output, because the Message is included with PDF-HUL-122.
- Type: PdfInvalidException
- Source location: PdfModule.java L4167-L4172
- Examples: 1, 2 see Isartor test suite manual.pdf
Needs review
Needs review
Cross-reference stream must be a stream
The retrieved object must be a stream. This error can occur when the Trailer is parsed or when the Cross references are parsed.
- Type: PdfInvalidException
- Source location: PdfModule.java L1257-L1258 and PdfModule.java L1429-L1430
- Examples: Needed
Needs review
Needs review
Unexpected error occurred while attempting to read the cross-reference table
A catch all error for the cross-reference table.
- Type: Exception
- Source location: Needs to be added after pull request approval
- Examples: Needed
Needs review
Needs review
Encrypt dictionary has no OE key or it has a null value
OE key is a manditory key when using an encrypted dictionary. This is part of a supplement of PDF specification for ISO 32000. According to the documentation, it is based on owner and user passwords and it is used in computing encryption key.
- Type: PdfInvalidException
- Source location: Needs to be added after pull request approval
- Examples: Needed
Needs review
Needs review
Encrypt dictionary has no UE key or it has a null value
UE key is a manditory key when using an encrypted dictionary. This is part of a supplement of PDF specification for ISO 32000. According to the documentation, it is based on user passwords and it is used in computing encryption key.
- Type: PdfInvalidException
- Source location: Needs to be added after pull request approval
- Examples: Needed
Needs review
Needs review
Unknown Developer Prefix
The Extension information in PDF Specification (ISO 32000) has information about developer key of the extension. The Developer Key is mandatory and needs to be included in the specified list.
- Type: Error Message
- Source location: PdfModule.java
- Examples: 1
The impact is not large, because this is part of the extension support in PDF. An unknown developer prefix could mean an unsupported extension. This means that this extension information is not shown in the output. The second possibility is that the Developer Prefix information is not up-to-date. The table cited above needs to be updated.
Update the Developer Prefix table in jHove