Quantcast
Channel: Adobe Community : Popular Discussions - PDF Language and Specifications
Viewing all articles
Browse latest Browse all 46145

Problem with invalid /Pages on root obj...

$
0
0

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...


Viewing all articles
Browse latest Browse all 46145

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>