Document : http://6m889f.1fichier.com/ - 28Kb - No script - No crypt (can be open with wordpad).
The document is an extract of a page of a big document that seems to be done with acrobat, so i suppose the doc is valid but my undestanding of PDF32000_2008 is wrong...
The page contain only an image type : CCITTFaxDecode.
The mecanisme i use to decode the doc :
1 - Extract start xref from the doc (read from end)
startxref
116
%%EOF
2 - Move to offset 116
20 0 obj
<<
/DecodeParms
<</Columns 4/Predictor 12>>
/Filter/FlateDecode
/ID[<9D591874D8530F47922A2947626F4B0A><6D9DBF0DD389B440AC6E086693CE9B 16>]
/Index[11 19]
/Info 10 0 R <- This entry don't exist.
/Length 59
/Prev 27626
/Root 12 0 R <- This entry exist.
/Size 30
/Type/XRef/W[1 2 1]
>>
stream...endstream...endobj
a - I have an other xref at offset 27626
b - /Info ref to an obj that is not visible on the PDF document ?
c - /Root ref to a valid obj.
3 - I decode xref
Message - Process XRef - Offset 116
---------------------------------------------------------------------- -< Begin of first cross-reference stream
Message - Process type 1 : Dump Data ( 4 ): 01 00 10 00
Message - Add new XRef 11 - Offset 16 <- Match with file
Message - Process type 1 : Dump Data ( 4 ): 01 02 6C 00
Message - Add new XRef 12 - Offset 620 <- Match with file
Message - Process type 1 : Dump Data ( 4 ): 01 02 B9 00
Message - Add new XRef 13 - Offset 697 <- Match with file
Message - Process type 1 : Dump Data ( 4 ): 01 04 45 00
Message - Add new XRef 14 - Offset 1093 <- Match with file
Message - Process type 1 : Dump Data ( 4 ): 01 06 3B 00
Message - Add new XRef 15 - Offset 1595 <- Match with file
Message - Process type 1 : Dump Data ( 4 ): 01 07 EF 00
Message - Add new XRef 16 - Offset 2031 <- Match with file
Message - Process type 1 : Dump Data ( 4 ): 01 08 B2 00
Message - Add new XRef 17 - Offset 2226 <- Match with file
Message - Process type 1 : Dump Data ( 4 ): 01 09 3F 00
Message - Add new XRef 18 - Offset 2367 <- Match with file
Message - Process type 1 : Dump Data ( 4 ): 01 0A 78 00
Message - Add new XRef 19 - Offset 2680 <- Match with file
Message - Process type 1 : Dump Data ( 4 ): 01 00 74 00
Message - Add new XRef 20 - Offset 116 <- Match with file (this entry)
Message - Drop type 2 : Dump Data ( 4 ): 02 00 0E 00 <- ?
Message - Drop type 2 : Dump Data ( 4 ): 02 00 0E 01 <- ?
Message - Drop type 2 : Dump Data ( 4 ): 02 00 0E 02 <- ?
Message - Drop type 2 : Dump Data ( 4 ): 02 00 0E 03 <- ?
Message - Drop type 2 : Dump Data ( 4 ): 02 00 0E 04 <- ?
Message - Drop type 2 : Dump Data ( 4 ): 02 00 0E 05 <- ?
Message - Drop type 2 : Dump Data ( 4 ): 02 00 0E 06 <- ?
Message - Drop type 2 : Dump Data ( 4 ): 02 00 0E 07 <- ?
Message - Process type 1 : Dump Data ( 4 ): 01 01 CE 00
Message - Add new XRef 21 - Offset 462
---------------------------------------------------------------------- -< End of first cross-reference stream
a - All entries start with 01 : Is valid and is a the offset.
b - I have some starting with 02
I don't really undestand the document about this entry
The solution seems to be on Table 18 – Entries in a cross-reference stream
I suppose first byte (w:121) is the type Type 2 (first column of the table )
For 000E and 07 i don't undestand....
I will see that point later except if it the solution to my problem ^_^...
4- I decode the second xref
a - Move to offset 27626 ( /Prev 27626 )
5 0 obj | << | ||
/DecodeParms<</Columns 4/Predictor 12>> | |||
/Filter/FlateDecode/ID[<9D591874D8530F47922A2947626F4B0A><6D9DBF0DD389 B440AC6E086693CE9B16>] | |||
/Info 10 0 R | <- Like in previousely, this entry don't exist. | ||
/Length 49 | |||
/Root 12 0 R | <- Like in previousely, this entry exist. | ||
/Size 11 | |||
/Type/XRef/W[1 2 1] | |||
>> |
stream...endstream...endobj
b - decoding
---------------------------------------------------------------------- -< begin of second cross-reference stream
Message - Drop type 0 : Dump Data ( 4 ): 00 00 00 00 <- ?
Message - Process type 1 : Dump Data ( 4 ): 01 5B 2A 00
Message - Add new XRef 1 - Offset 23338 <- Match with file (this entry)
Message - Process type 1 : Dump Data ( 4 ): 01 5E 01 00
Message - Add new XRef 2 - Offset 24065 <- Match with file (this entry)
Message - Process type 1 : Dump Data ( 4 ): 01 6A 83 00
Message - Add new XRef 3 - Offset 27267 <- Match with file (this entry)
Message - Process type 1 : Dump Data ( 4 ): 01 6B 10 00
Message - Add new XRef 4 - Offset 27408 <- Match with file (this entry)
Message - Process type 1 : Dump Data ( 4 ): 01 6B EA 00
Message - Add new XRef 5 - Offset 27626 <- Match with file (this entry)
Message - Drop type 2 : Dump Data ( 4 ): 02 00 01 00 <- ?
Message - Drop type 2 : Dump Data ( 4 ): 02 00 01 01 <- ?
Message - Drop type 2 : Dump Data ( 4 ): 02 00 01 02 <- ?
Message - Drop type 2 : Dump Data ( 4 ): 02 00 03 00 <- ?
Message - Drop type 2 : Dump Data ( 4 ): 02 00 04 00 <- ?
---------------------------------------------------------------------- -< End of second cross-reference stream
a - All entries start with 01 : Is valid and is a the offset.
b - I have some starting with 02
same issue than for previous xref.
So now i have a vector of all obj on the document there no orphan, it's why i don't investigate for strange entry 02.
5 - Read root entry
12 0 obj | << | ||
/AcroForm 21 0 R | |||
/Metadata 2 0 R | |||
/Pages 9 0 R | <- This entry to not exist | ||
/Type/Catalog | |||
>> |
endobj
As previous with /Info 10 0 R that don't exist on the document, /Pages 9 0 R don't exist on document ?!
The document can be read by acrobat-reader & foxit, so i do something wrong but i don't see what...
The only obj with "page" is :
13 0 obj
<< /BleedBox[29.9391 30.0045 681.297 871.951]
/Contents 15 0 R
/CropBox[29.9391 30.0045 681.297 871.951]
/MediaBox[0 0 711.968 901.89]
/Parent 9 0 R
/Resources<</ColorSpace<</CS0 22 0 R/CS1 23 0 R>>/ExtGState<</GS0 24 0 R/GS1 25 0 R>>
/Font<</T1_0 28 0 R>>
/ProcSet[/PDF/Text/ImageC]
/XObject<</Im0 19 0 R>>
>>
/Rotate 0
/StructParents 57
/TrimBox[29.9391 30.0045 681.297 871.951]
/Type/Page
>>
endobj
And "/Parent 9 0 R" this the same issue than with root : It's not on the doc ?
If someone can help me ?
Thanks
WCoder
Message was edited by: WCoder - Firefox crash + correction+add pdf...