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

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><6D9DBF0DD389B440AC6E086693CE9B16>]

        /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><6D9DBF0DD389B440AC6E086693CE9B16 >]


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


How to download Adobe-UCS-0 cmap?

$
0
0

Guys,

 

I have pdf, there the CID font is embedded.  But I can't able to extract the glyph.  The font is encoded using Identity-H and using the Adobe-UCS-0 character map to decode.  The details are given below.

 

/Type/Font

/Subtype/CIDFontType2

/FontDescriptor 16 0 R

/CIDSystemInfo

<<

/Registry(Adobe)

/Ordering(UCS)

/Supplement 0

>>

 

Please help me to download this cmap.

 

Thanks,

Xavier

Simple pdf file leads to wrong output color, whats wrong?

$
0
0

Hello,

 

i have a simple pdf file that just draws a rectangle filled with cmyk 1.0,0.35,0,0.28,

but the problem is, that this is not the color thats printed. Inkscape and gimp show

the wrong color too.

In the pdf file the color is selected with

1 0.35 0 0.28 K 1 0.35 0 0.28 k

so i do not know whats wrong here. Can anybody help?

 

Here is the link to the small uncompressed pdf file

http://www.opaya.de/skoepf/test.pdf

 

Content:

%PDF-1.5

%äðíø

4 0 obj

<<

/Length 133

>>

stream

q 1 0 0 1 72 769.89 cm 0 G 0 g 0 G 0 g 0 G 0 g 1 0.35 0 0.28 K 1 0.35 0 0.28 k q 0 -95 85.04 85.04 re f Q 0 G 0 g 0 G 0 g 0 G 0 g Q

 

endstream

endobj

6 0 obj

<<

/Type/ObjStm

/N 5

/First 27

/Length 357

>>

stream

5 0 3 47 7 112 2 181 1 297 <<

/ProcSet[/PDF/Text/ImageC/ImageB/ImageI]

>>

<<

/Resources 5 0 R

/Type/Page

/Parent 7 0 R

/Contents[4 0 R]

>>

<<

/Type/Pages

/Count 1

/Kids[3 0 R]

/MediaBox[0 0 595.28 841.89]

>>

<<

/Creator( XeTeX output 2014.01.08:1342)

/Producer(xdvipdfmx \(0.7.8\))

/CreationDate(D:20140108141527+01'00')

>>

<<

/Pages 7 0 R

/Type/Catalog

>>

 

endstream

endobj

8 0 obj

<<

/Type/XRef

/Root 1 0 R

/Info 2 0 R

/Size 9

/W[1 2 2]

/Length 45

>>

stream

^@^@^@ÿÿ^B^@^F^@^D^B^@^F^@^C^B^@^F^@^A^A^@^O^@^@^B^@^F^@^@^A^@Ç^@^@^B^@^F^@^B^A^B{^@^@

endstream

endobj

startxref

635

%%EOF

change font in DA of FreeText Annotation

$
0
0

I am trying to change the default appearance (the DA entry) of a FreeText annotation. To begin with, I can't find anywhere in Acrobat to change the font of a FreeText annotation. My understanding is that I need to create a font alias in DS entry of the AcroForm, then reference it using Tf operator in the DA entry.

 

Below is the smallest PDF code I created:

 

%PDF-1.6

%âãÏÓ

1 0 obj

<</Type/Catalog/Pages 2 0 R/AcroForm 3 0 R>>

endobj

2 0 obj

<</Type/Pages/Kids[4 0 R]/Count 1>>

endobj

3 0 obj

<</Fields[]/DR<</Font<</FNT1 5 0 R>>>>>>

endobj

4 0 obj

<</Type/Page/Parent 2 0 R/Resources<<>>/MediaBox[0 0 612 792]/Annots[6 0 R]>>

endobj

5 0 obj

<</Type/Font/Subtype/Type1/BaseFont/Times-Bold>>

endobj

6 0 obj

<</Type/Annot/Rect[10 400 160 570]/CreationDate(D:20140404131900-05'00')/Subtype/FreeText/Contents(OK, Let's just start a content.)/DA(/FNT1 9 Tf\n1 0 0 rg\n0 1 0 RG\n)>>

endobj

xref

0 7

0000000000 65535 f

0000000015 00000 n

0000000075 00000 n

0000000126 00000 n

0000000182 00000 n

0000000275 00000 n

0000000339 00000 n

trailer << /Size 7 /Root 1 0 R/ID[<da5bbc2c7a8acf9c73eb1fbda9cf31c6><da5bbc2c7a8acf9c73eb1fbda9cf31c6>]>>

startxref

525

%%EOF

 

Acrobat failed to display the FreeText annotation in new font and background. The document shows that the FreeText annotation uses Helvetica font, not Time-Bold. 

 

What is wrong with my code?

TJ operator does NOT display all glyph

$
0
0

Hi everyone,

 

I have a strange behaviour when generating a PDF document by using the TJ operator:

I am using the TJ to justify multibyte glyphs.

 

For example this:

BT 297.640 640.940 Td /F1 10.0 Tf () Tj /F2 10.0 Tf [(Lorum) 459 (Ipsum) 459 (dolar,) 459 (etc) 459 (June) 459 (4th,)] TJ /F1 10.0 Tf ET

 

is rendered correctly justified in Chrome viewer and Foxit Reader.

 

But the same PDF document in Acrobat Reader and Adobe Acrobat 9.0 is only showing "Lorum dolar, June".

So "Ispum", "etc" and "4th" are missing.

 

Acrobat Preflight reports the following error:

problem.PNG

 

Any ideas?

Thank you in advance

CIDFont and PDF

$
0
0

Hi,

thanks to the lrosenth for the help with my question about support for CID keyed Type1 fonts in PDF.

I will make sure that I read the ISO PDF spec - it is more clear.

 

Sadly, I have another question:

I have a valid CIDFont (consists of a readable PS part and also binary data which I believe is _parts_ of a CFF font program, not the whole program).

The readable PS part has info like byte offsets to CharStrings and also the table that  maps CID values to font/glyph (CIDMap)

The FreeType library will render glyphs from this font.

The binary parts appear to  be the CIDMap and CharStrings etc - but not the usual CFF header stuff - ie. just the bits you need.

 

My question:  Am I right that you cant put such a CIDFont in a PDF file as an embedded font program (as part of a composite CIDFontType0) ?

 

From my reading of the spec, a composite font (Type0) in PDF references a CIDFont dict that doesn't have any of the info that the PS CIDFont contains (such as byte offsets to charstring data etc)

and so it needs the complete CFF program - specified as /FontFile3 in the font descriptor.

 

regards

JLM

Radiobutton export values in PDF/A-1 documents

$
0
0

I converted a PDF document with adobe acrobat to a PDF/A-1b compliant document.

Don't ask me why but I need to change some values in certain form fields. Here is what I do:

 

0. Convert a PDF which contains form fields with adobe acrobat to a PDF/A-1 compliant document

1. Open PDF/A-1b compliant PDF

2. Edit textfields (no problem)

3. Check a ratiobutton of an previously unchecked radiogroup (doesn't work correctly)

4. convert to PDF/A-1b again

 

The problem is, that during PDF/A conversion all the export values for unchecked radiobuttons are removed. So basically one can't change a radiogroup since the export values are gone (which is PDF/A-1 compliant, I know).

The original export value was (dictionary):

<</AP/N<</exportvalueXY 23 0 R>>>>

After PDF/A-1 conversion only the following remains (stream):

/AP<</N 23 0 R>>

 

And since the /Opt array is optional this information seems "lost".

So my question is: Is there any way to keep all radiobutton export values intact?

(e.g by somehow forcing acrobat to always include the /Opt array or to exclude that specific rule during PDF/A conversion (which would result in a not 100% compliant result however for that intermediate step it wouldn't be a problem).

 

Thanks!

Transparency issue I don't understand

$
0
0

This is an overflow from the discussion here Transparent Image shows with white background

The original poster provided a file here Dropbox - Travel-Pack 1307737-1.pdf

This is a PDF. On page 2 is a scanned signature.

 

The report is that the signature has a solid white background in Adobe products, and the expected transparency in others. I can confirm that Reader DC and Acrobat Pro X show a white background, and Chrome shows transparency. But I cannot find why.

 

The page has /Group << /CS ...srgb... /I true /K true /S /Transparency>>

The signature is in a form XObject with /Group <</CS ...srgb... /S /Transparency>>

The scan itself has <</Width 722 /Height 194 /ColorSpace ...srgb... /SMask ...see below... /Filter /FlateDecode /Interpolate true ....>>

The SMask has <</Width 722 /Height 194 /ColorSpace /DeviceGray /Filter /FlateDecode /Interpolate true ...>>

No transparency graphics state affects either Do operator.

 

It's tempting to say the SMask is being ignored, but I don't think this is the case. The scan data actually has garbage in the transparent area (verifiable by removing SMask key). So the SMask is taking effect and the resulting image or form XObject is being treated as having a white background.

 

But why?


Unable to decompress this FlateDecode string (6211 bytes)

$
0
0

Seems like there is a lot more to just applying ZLIB to a /FlateDecode  stream to decompress it than is documented.

Does anybody know what I need to do to make the following de-compressible by ZLIB? I have tried both the regular InflateInit

and inflateInit2 with winbits = -15 and every possible offset plus appending the usual 10 character header string plus dropping some leading characters. Since PDF readers can easily open up this PDF, I need to know what they are doing that is special and undocumented for this string. BTW I am able to open and read a whole bunch of PDF's (including PDF32000 2008), just this one has me completely stumped. Usually FlateDecode strings start with a "h" or a "x" - this one starts with a 90x.

 

 

 

Read hex from left to right: (ie the first byte is a 90 hex or a 144 decimal)

 

 

 

<< /Filter /FlateDecode /Length 6211 >>stream ... endstream

 

90 CB 99 44 B3 1E 33 A8 CB 39 ED 79 D8 1D 29 F9 BA F7 A0 58 90 4E A1 37 A9

2E 83 0A BD B9 8C A9 0D 10 E3 0E 53 38 E8 91 85 5E 14 23 1F 23 FB 7F 41 E7

0D 71 F2 94 F8 EC F3 85 0A 62 EE FF 7B 56 A6 AE 8F A3 07 CE C1 65 2E 35 5C

32 CE 0E F7 E0 B4 25 85 90 BD 9B E9 CC 7D C4 B0 F3 F3 3F 15 A3 42 47 61 3B

9C 80 7A F2 BA 45 1E 63 D7 9B A7 1F 7C 5C 8A C5 1B 35 7A 71 47 4E 0B C2 89

CB C2 8F 04 58 0B B7 D7 3F BF F2 19 EF E8 EA 91 43 43 BA 2B 9D 07 61 27 CD

21 D7 D7 92 EB AC 1D D9 60 CE FD AD 0B D6 5E EF EF 75 42 B8 CE 9C 33 B1 E1

D0 33 0A 6A 5E 13 1B 22 C8 1D B2 2F 6D 5E 38 C3 9D F9 A6 CD 3A 7D D0 A0 7E

A0 C5 DA F7 F9 D3 F4 F9 C3 32 C2 62 55 DB 7F 39 3A 7C AD F4 E0 C2 99 A5 64

2A 42 65 BB 35 07 82 2B C1 5B 37 3E 1C 5E E0 2C F0 B0 AB 9E DA D2 74 12 32

AE ED 0E 5E F1 C6 67 47 05 61 8D EA E8 75 FE 93 5B D5 A9 4D A3 AC 38 25 0C

94 8F FA AF BC ED 17 B4 02 9A 9B C4 A5 BC 64 DC 7B EE 9F 2E 86 5D C4 A6 A2

10 33 A8 7F 42 79 E8 B2 71 34 2B 70 27 48 08 C7 54 C1 C9 A4 E8 46 5F 30 A9

92 3C FB F4 F0 AE 43 68 6B A2 D4 76 06 3A 90 EF 86 90 CA 87 23 25 98 20 2D

45 67 75 8A A2 A7 A0 7F 77 7F 35 97 83 83 48 9F 1A D6 A0 50 8B 00 4B C5 41

CD 64 50 D3 27 4D 3E 74 8F AB 70 64 BB 49 C3 BD 98 49 4B FC B4 E9 C8 25 9E

12 E2 83 06 BC 74 29 7B EA F2 26 07 F1 96 B0 87 47 8F 10 13 85 2F 4E E1 7C

B7 5B 4F 9C A8 1A 8A 7B 62 A0 5D DC 76 E4 63 8E 2B CF 03 E9 5A D6 20 CE 7E

DB D1 7B BA 1B C2 1A 8A 1C B5 6D 3A 47 05 B4 BC B7 7C 62 70 60 66 D1 EC 9B

96 A6 F1 D8 60 6C 57 F0 60 D0 BD A9 75 A9 F1 AF 34 87 4A 76 41 EE 3A 44 D9

A0 91 5F 6B 52 6D 80 D7 51 12 7C E0 1E 99 D3 FF DD 80 E1 46 16 06 42 DF 16

CA 78 79 6A 05 50 90 89 F1 00 13 B3 12 28 6A 43 FA 4D F8 69 29 7E F5 CA 7B

B0 33 06 72 BD 93 9A CB 1A CB 41 64 2C 63 B7 89 99 33 D7 65 24 EC EB D1 07

00 AB CD 21 9C 30 0F 5E 11 3A 36 04 9E 51 67 E2 79 23 2A 11 C0 51 C0 AC 9E

19 E9 0B F8 C6 AD 77 FF 14 B5 01 34 89 5D 58 62 0B DE 8F A3 FF 27 98 94 FC

86 BA 68 CC 49 23 E7 ED A1 6D E4 B9 FE 1E A2 0A B3 E3 46 02 1D B2 0C 50 1A

6E 94 EE 35 EF C7 69 AA 76 53 09 A5 DA 08 76 91 65 02 13 34 C0 3E E6 52 88

90 E5 40 4A C7 9E D4 0D FD 3E 8F B3 86 25 CD F8 D9 A2 A0 6C E5 DC 18 CD 85

FB 9A CC 4B CB A7 02 18 FA 35 10 E0 AC D8 02 A5 03 42 44 29 C4 77 3E 90 FD

1D 8E B8 D6 4A 34 35 FF C8 86 BD E4 67 41 71 87 16 46 2A 63 57 BC CD 28 C7

1B B0 30 24 8F 1E BB FC A1 AB D9 12 0A 9C FE A7 99 0B 07 E7 8F E5 7B 72 2C

D1 9D E0 7E 5F 91 86 D3 7A A8 C4 AA 33 63 5A DA 8C AA 0F 29 29 B8 18 64 08

05 F9 1A B4 80 1B 7E 3C 34 15 E6 00 61 C8 91 4E 95 03 6C 69 C0 28 0A 89 1D

47 23 9A 24 85 83 F2 85 92 C8 4F 93 95 EF 5D 86 72 68 4D 19 40 9E 3E 6E 70

C5 DC 3B 7A FE 04 E2 8E E9 25 EA 8D A1 6F 29 52 74 A9 BD 42 C0 68 09 F7 DE

B3 AD 5B 90 89 7D AA 8D 02 77 21 E9 12 7D 55 03 93 0D BF 32 DA D5 6B 4C B2

1D FE 7C B7 B5 89 3C D9 18 A7 A0 19 A0 DF CC 4F 54 6C 39 04 C8 4A 29 E2 03

1F 8C 79 43 BD B8 63 F0 5F 02 2E B1 D4 B3 E5 8E CC 36 34 0B AF D5 69 92 C4

FB 88 1C FA 82 E6 9B BF C8 29 F8 DE C4 AC F5 D5 65 C9 98 CC D6 7F 8E 79 FC

FE 71 5E DB 87 9F F7 9A 2F 8F B2 8C F7 4F F9 F3 50 54 38 7A C5 FE 21 45 1D

5B 5A BD 63 F9 C6 AF 41 99 EF BE 8F 6D A8 AB 1E 75 BC A6 8E 78 45 A5 F2 FA

D8 C8 AE 0A 72 70 23 C1 E6 F7 B4 CB A8 DF 01 71 8A 17 1C 97 C6 61 67 0F 2B

91 02 6E 17 3F 73 28 C3 B2 D2 D0 44 3B 9A 4E 83 7B F6 9D 69 53 07 5C 8A 93

41 2E 54 47 80 C0 0A E1 A1 10 21 1E 71 F8 FC E9 83 71 71 4C C9 AA 26 8E 76

3B 83 2F 8A 16 5C 4A B3 82 22 6B 28 9A 38 06 ED 26 65 2A D1 75 9F 64 84 06

DA 75 09 3A 5C 6C 5C 49 28 26 A8 30 D8 47 64 ED 56 D6 91 95 5C ED CE D6 70

9D D9 6C FD 50 56 61 4B F4 23 B5 47 1F BF 66 4E 34 1F 34 B2 9A 65 B5 DF C4

3B 26 BD A1 ED 91 5E 4D 75 64 67 F7 94 66 A1 C7 78 34 C3 A4 7F 1A 3B 51 8A

57 18 50 44 7C 7E 2D 7C B0 76 9B C2 64 4E 01 17 9B 30 04 56 40 96 89 1D 0B

7E BB 1C 01 23 04 CD 44 4E B6 29 CE 0F 46 C1 81 12 0C FD B5 51 9C 26 0F 2F

8F 64 0F 8D D8 00 BE AC B6 60 37 27 DA FA DA 06 27 3A FE 25 5B 45 76 1B 04

BD 6A 1A 96 A5 34 EF FC C3 34 25 E0 72 9E 24 96 FD 1F FE 6A C7 81 90 27 6B

25 34 13 A9 FF 81 10 84 22 1F 0A 8C FA 86 20 FF 7F 97 95 4B 8D 2B EE 95 04

5B F7 51 5F D0 49 71 04 AD 34 53 CF EF 89 F7 5A 90 2E D4 BF 2C 62 8A D3 CC

9A E4 0E 92 29 82 3A 8E 94 A8 B0 65 90 5B E4 56 1A 8C FA FD B4 BC 5E 68 85

CF DC 75 57 54 92 83 53 09 04 E8 80 B9 AE 35 1F 87 E1 86 BA B8 CC 5C BE 2F

68 49 0F 2B 57 7F DE 39 68 03 98 4B B8 86 5D 63 4B 0E BA CD 59 7E 38 59 D6

AF 99 13 E4 AA 5A 3A 97 64 42 85 49 CF 21 4D DA 42 A0 5C 38 10 74 E7 58 D6

B0 74 FE EE F4 19 6D 04 E8 98 AC 13 DA E3 3B AA DF 7A 64 75 0F B6 ED 19 DE

58 80 3C 6B 95 FB 9C AB CD DE 27 1D 2C 41 88 AF 17 39 E2 EB E6 B3 4A 98 44

E7 15 3A 0F 64 93 CA 8A 1E F1 1B D9 93 A4 DC 8D 1F 6A EE 9F 80 86 22 08 0F

D9 A9 39 8F 01 25 68 80 88 79 F8 2B 6E 1C 1C D9 C2 4E 54 2E 38 53 69 C6 83

6B C4 95 49 15 DB 79 03 40 07 A2 CA 7B 2A 1A 39 7D 73 07 FD 1B A4 7E 93 E8

38 04 E6 96 8D 3E 9D 55 8D 6E A1 75 DF 1A 02 CD BD 27 11 C7 76 A9 F3 93 07

49 D6 EF 1B F6 29 10 5F C1 5E 7D 39 4A D9 91 35 B9 FB 34 C4 66 2A B1 90 81

0A 42 5B EC 70 A2 FC BB A1 97 A4 07 80 20 18 27 4B 24 E2 F3 0C E0 F2 DC 37

8B 94 00 8A 86 D5 C5 38 79 85 6F 45 70 24 88 3F 9A 56 2F 77 95 5C D8 CF 1D

91 B6 F4 2F FE 59 16 E6 B5 90 D6 4E A8 14 04 3B 53 59 A9 A7 A8 BC 8E B0 BD

21 56 6E 7A DF D9 9C E2 A3 47 B0 89 A4 FB D5 39 8F 83 44 51 CB 5D 32 8E E0

34 8E EB FA FF B6 B4 CE 99 9B E9 DF 37 9B CC 1B 8C 5C 24 68 6C 6A F4 06 E9

17 9A 39 CF 4A 28 61 C0 6F 9A 5C 3E D8 19 76 98 A9 01 FF F0 A3 90 AB 01 E4

D9 AD B8 7B 1B FF 0F 47 59 19 FC EA 9B 6B A6 8F 5C C0 54 29 92 7D 96 A3 74

30 2B F1 F6 F7 B8 D6 5F E9 B9 6D EF 63 33 F8 41 7E 8D 29 F6 F7 80 F3 0D EB

F7 E4 3E 78 5F DC A5 4A AD BC BC 47 E9 3D 8A CC 45 57 58 96 1C A3 DF 91 8C

F7 A1 3D 5E 4B 19 8E 59 42 ED 75 9B 2F 06 93 7A 32 A6 3C AA 6E 52 3E 5F 56

F3 E0 7B 80 60 04 2B A6 25 72 19 73 C9 0F 8F 45 88 1F E5 58 0A C2 73 DB F8

BB B7 B4 43 DB 1D 66 44 C1 09 94 CA B8 A4 73 D1 8D 37 0C 4C 53 8D 60 DF C8

4A 27 62 8B 10 16 F2 AE 3F BF 42 B6 FE 0E 6C CB 35 60 D7 20 07 59 91 B8 A8

C6 4F BF AC 07 92 E4 EE 1C BF AD AB AC 2C 48 74 B1 77 18 2E 7A 77 2F FF 4A

E9 57 16 FA E1 95 01 D6 A2 BB 1B A5 5D 7D E6 C1 3E 4B 41 48 11 30 78 DB ED

81 68 B4 20 33 F0 7C 8A AF 9E 20 85 A9 F2 B1 48 9C FF 4D E0 4A EA C8 97 EE

CE F4 78 5F D7 1B 8C C2 EF B0 55 DA 5C D3 E0 53 93 AC 54 87 43 51 7E 1A A7

20 85 82 C7 A8 88 0E B8 3F 84 04 70 44 3F C8 FF C4 B5 C5 02 3C DA 75 4A FC

32 20 F6 D7 12 E4 D6 54 6A A6 85 E1 81 F4 41 4F 02 A4 ED 5B 59 AE AF 7A 09

0A D3 42 18 C0 7B 88 0F 30 69 1E A0 C4 96 D8 00 D2 BB 57 8A B6 7E 76 7F 28

D1 83 A9 62 D1 7E F2 93 3F C4 5F 34 90 98 00 F0 54 80 9A 4A B1 C6 DB 84 86

4E D3 85 07 34 DC FC FB E5 47 72 BF 86 68 00 BA 0B DE 71 EF 68 2C 1D 1F 69

31 82 90 08 FF 99 05 CC DE 15 9B 27 43 D7 3F AB FD 64 5C 2A 08 5B D2 FB 5A

12 57 47 B3 C4 49 AB B8 6E 72 91 37 8D 67 68 74 E1 7F 61 2A 0A 3B 88 8B 83

01 83 49 BF C5 0B 4A 89 12 59 31 B7 53 2F 43 2E 5A 92 86 2D F4 07 C0 1D 3D

06 87 BF B7 B5 67 FE 83 BE 02 D8 09 E3 A3 9E 3F 34 BB 41 49 B4 A6 C0 21 19

76 DC C7 0F 8A 9D 59 EE 68 50 82 46 F6 B2 C0 10 98 36 58 99 B1 B8 CD 4F CF

C1 E7 78 67 51 42 6E 3A A6 92 77 BD 67 EA 13 54 68 29 C9 E5 0C 8D 3C EB EA

D0 1E 00 8E AE 3B 3F BF AE 4A EC 99 D2 60 0A D3 E0 0C 09 5D 54 DE C9 8D A4

0F E1 40 17 7E 31 DF 7A 96 F2 3C 43 A7 5D 54 37 28 91 29 5B 5E 16 AB EC 40

63 57 6F F6 3F AA D1 51 6D BA 96 81 9A BB 82 00 5D 29 E6 E3 C6 99 AD 25 8A

B5 9F AF FF 36 63 7C 15 53 7C CC DE DE 4D 9B 16 4B E9 FE 29 B6 74 B7 79 F0

EA 9C D4 37 AF 01 01 46 0B B4 EA 13 06 BA 2C BC ED A5 79 5A 07 7D 53 D6 8E

0A 6A 65 0E F1 DA 42 12 56 1B 29 05 F1 A7 FA CD 11 B5 9D FB DB 21 75 4E B3

A2 CD 36 A0 41 3F B1 BD 92 99 A9 FC 70 07 79 0F 2A 8B 91 D0 76 A8 7B A6 81

77 54 F3 E3 B4 DF D6 28 27 C5 D9 BB 9C 5D B1 A6 B9 CE 9A AB C7 67 66 7C ED

CA 74 E7 36 F4 5F D0 77 34 2D 77 B9 00 F7 F9 0F A1 2B 68 2C ED 55 FE 47 16

82 11 03 FA E8 A3 D0 D1 40 07 C1 C8 D2 79 43 78 44 6C 4A B1 E4 B2 89 78 68

A8 C3 A7 84 53 C8 66 11 B7 3F 8F A6 64 E1 C0 C7 9C A9 E6 6A 12 C9 48 EC 19

39 B1 67 74 43 E7 59 DC A6 62 CA 4A 24 7A 66 89 AA 15 BE AB 06 75 88 A1 56

01 69 0B 00 C8 0C 7D 51 36 ED 75 7F C4 DD 90 8D 95 FE 5B 5D C6 B1 72 12 5C

B7 81 BE 6B 33 E5 EE CE 8A 60 9D 08 02 A4 8E 07 29 57 EF B7 52 4A C1 60 00

56 76 56 9A 49 CC 0A 83 EE E9 1A 3E 14 38 1C D4 DA 2A 9A 2A D8 9E 03 5C 32

2C 8B 02 8B 24 31 A3 21 E4 F8 0A 1E E8 D2 33 EA 9A 78 72 50 CD C3 3C 3F DF

69 37 EC F2 6B 01 87 10 6A BB CA 91 30 0B 4D BC 0E 44 96 B6 DB B9 4B 09 39

6B B4 03 CE FF 7F AD 96 96 E7 0A 23 7E 28 F2 BB 7B F0 C9 84 20 10 99 F7 38

0A 61 90 9F BD C9 F4 19 A1 AE 8A 6F 16 24 C2 13 46 F1 09 70 13 89 99 AD BF

39 3B 39 EF 08 D8 64 17 01 EE D6 85 F4 32 A3 92 67 D2 A8 7F 8A A6 B1 3A 98

45 44 03 DE 66 20 B3 BC 82 B5 EB F3 EB 47 27 2B 13 C1 12 9A C7 4A 45 CA FD

70 86 FA 33 D9 28 E7 06 4F EE 0D ED C7 3E 63 30 55 C5 9A 88 17 46 CA A2 E2

0A D8 66 AC 82 16 16 3A 0B 50 D1 8D A0 91 04 68 85 30 3B 48 35 5F 3B 42 84

56 1A 6E 28 A1 42 DB 71 84 EB E4 01 1B 5C 62 C6 23 F0 BA D3 62 AC CA 72 32

DE AF C0 31 22 F0 E4 96 4A 54 0E 60 F7 03 85 BE 62 A7 D9 BA 0B F5 55 DA 4B

7E 3A 04 9F 3A 0B 8A 5D 9E BC 2D 46 D5 0D 8C 62 00 02 58 F9 70 91 61 2E DF

87 B7 6C A8 B3 22 50 02 5B 6D 0F 74 44 6B 65 FE F9 63 9A 1B 1C 1B 62 87 38

B3 1A 55 EA 25 74 6F 47 36 8D C4 AD 0F 97 8F C0 84 15 10 2D 30 09 52 AD BB

69 06 DC 1C 3A D3 95 19 59 98 E5 56 07 E1 68 0E FA 53 98 30 F6 4B F8 7D B3

EE 36 F9 1F E4 47 EB AD 4A 8D 67 90 7B 2D 26 59 8A DD 6A 0D 2D 93 18 D4 51

9D AF DC 15 83 C3 E6 B6 64 30 53 10 9F 4C 0F 67 D4 CF B7 52 DF E2 F6 EB D1

48 C4 C6 B2 76 67 1C 3B 10 9F FA 1A 8C 24 36 5F AF 47 71 3B 4E 4B AE B8 14

09 DC B0 9A 1A 55 84 83 5B 7F B7 E2 6B 26 D3 F9 E6 0E 35 F6 45 84 93 55 FB

2B F7 F2 EB AA 69 DF 2D 30 D8 26 1D 10 05 DE E5 9C FF 0D C4 75 54 AC 9F 4D

5D 6B 5E 52 C8 99 66 CB B5 9C 2C 8B C6 C1 42 DD 3C E0 B7 8F D6 47 1A 1F 50

53 1B FD 4E 03 08 D1 00 13 21 32 AA 6A 41 C2 30 69 1F 79 7D 38 B8 CF 28 45

F4 AF EC 7A D6 B9 30 A4 B9 CE 00 13 A3 83 F6 2A BB F7 E5 1A 83 22 21 BD 4A

FA 08 A3 58 5C 7F A5 70 17 16 B3 53 EE C1 0A 77 E6 94 23 9D B2 00 3E A0 38

55 7A F1 72 A8 1B C8 75 40 77 90 E5 08 52 2F C4 46 00 0C C6 DA B3 88 E7 BF

63 79 9F 36 D8 94 C9 A6 8D 32 BB 66 9B C2 47 2D B6 C2 F1 2C 4E 71 FB 1C 33

D7 1A 97 BC CF 1B 67 0B C0 40 1C 46 21 9C 8E 99 E5 1F 5E 0B EE 7B 61 CB 69

5A 0C 6F 84 81 67 80 F5 FA FC AE D6 56 8D 36 6F B9 7A D8 41 06 C4 85 B9 EA

8A F6 BD 9F 9E 39 3B 79 34 78 0E 67 CC 53 AD 61 D2 FE 66 E6 C6 F9 4A 97 9A

7B 70 4E 06 1F 69 B9 5C 1E 2F FE 2B 9E 94 B4 8A 12 C7 C8 57 FC 19 40 30 5A

9A 9C A2 7E A3 BD A8 67 83 0D F8 1D 87 BA 15 1E 07 3A AB 09 69 02 F4 D1 BC

B8 54 E9 00 50 85 F4 A7 BA 75 64 F9 E7 7C 58 F8 3F D7 05 84 3C 3E 22 F6 C9

B6 69 76 2E 5F BA 22 F4 37 9E 7A 9C 46 A5 E5 61 32 09 E2 76 50 75 34 FF 99

9E 24 B8 C6 DB 60 4D 0C 67 18 A2 7F FE AB 44 24 7E CE AE B7 85 AA 92 63 D9

2F 96 B7 01 87 51 7D BD 61 0C 64 36 C4 5C A5 5E A4 22 4B 71 7F 9F 69 1F 19

9B 81 B2 96 D0 D7 8E D3 43 06 3B BB 23 3B 0E 62 16 28 02 61 09 35 96 32 4F

5A 53 52 AA 16 80 B1 13 58 ED F2 FB FF 46 08 08 7E 99 B8 D7 5D 5E 35 50 49

BC 77 A1 DB 5E 23 7B 80 7A 90 84 B6 EE 2D B9 87 26 E2 03 CA 24 78 B4 5F 89

AA CB 2D E7 5F 0C D8 10 D9 BE 29 70 E9 42 07 E2 39 59 FF 49 8B 35 77 BD 15

4A 1C 96 60 F3 04 BA 33 3D 47 0F 20 01 CD 1C CD BD B0 C2 98 6A E0 83 7E 96

76 C9 DE 24 EA D6 18 B7 6B CE 65 DD A7 1D AC EC 2F 29 8D F2 BE BA 30 DC BE

DA 2E 33 62 ED AA 3C 41 1C DC 57 C1 2C 56 20 AC 19 D8 E9 30 3E 46 25 1F C7

35 6E 80 1B DE F8 26 A5 BB BF C2 F0 55 85 DC C8 88 3E C6 03 85 4F D1 29 4B

76 28 73 24 31 1D 0D 3E 44 05 51 AA 96 6F BB 89 1B F8 E6 17 C9 B6 F6 74 AC

AD 31 6B AE B3 5C 01 E4 22 98 BE 3D CC F9 EF 54 C6 78 AD 45 1B 92 0D 41 4E

34 0E 7E 59 FD CC E7 01 66 9A 24 B0 B1 80 8A 40 61 D2 96 73 73 E5 39 CF 82

58 80 5C B6 24 13 26 F5 6F 18 44 91 D9 4C 9D F6 83 1C ED C0 7F 25 C9 06 12

0B 6A F3 29 0E 10 C4 F8 85 DD 66 05 82 79 B2 6E BA 18 86 20 2A C6 16 03 C5

62 17 8E 50 EE 23 C2 30 44 E1 44 0B B8 66 A5 C3 DF 14 E1 90 18 AF 5B 2A 57

DB 7A 39 97 DC 64 F6 7D BC 08 AD CB 09 87 8A 74 70 DC 6E 4D D3 A9 CF 14 1A

D4 0C 1A 37 BB CC D6 B8 0D 1D 96 23 4F B3 AE C7 02 36 85 85 AA 31 94 AA 3F

79 F7 2A 2F A1 36 5F 77 BC 09 25 6B A8 A6 63 B2 CA 47 10 05 9E 2D 2D 7E 75

36 50 F2 1F 72 A7 04 CC A0 CD 89 3E 79 2F C6 3F 07 C6 1B 87 74 6B 3E 2C 74

09 59 2F AC 59 24 AB 5F 1D CF D4 18 EB 2C 35 7F BD 3C 24 6A 62 13 11 2E F4

05 A5 50 1C A1 8B 1B 1F 6B 22 48 9B C1 EF 50 97 91 D4 31 B3 1C 02 72 28 A1

28 99 C4 C2 E9 49 EE 91 E1 31 AB E4 F5 88 D1 D8 F2 9F D7 ED 73 6A 38 74 EB

A2 D8 71 09 A5 CD 14 79 06 B8 6A C9 F9 FC CF 83 D1 A2 C6 E9 87 1F F7 D8 5F

BE 45 1B AC 68 7D 82 00 74 4D 83 86 E3 6C 10 8A 2D 77 7C A6 2A A9 A5 F8 E2

6E DA 07 56 F5 02 CE 18 16 DE 4A 13 AB F3 64 CA 50 A0 5C F6 08 93 C9 64 75

A0 2D EF 9B CB 22 F4 C5 65 EC 00 BB D4 8F 47 96 2A 44 35 0D 7C EC 44 AF C7

C2 77 C2 37 55 D2 76 A6 25 25 C5 FD 9D 3D 21 E7 C1 22 26 C3 FD 12 DD BF 4E

76 34 28 25 DE DF 90 67 0F D9 99 95 91 A7 7E E1 C8 8A 39 65 5F 06 0E 53 FC

E3 E8 67 2C 07 DF 4E 64 71 BA AF 5C 7A 4D C5 A6 28 25 02 05 66 D4 E5 01 EA

BF 26 06 3D 61 94 A4 CA 0F D1 03 AD 9C 76 BC EA CC D5 D4 D1 B7 48 07 30 B3

B4 84 D5 9E 08 4F 55 97 7D 73 B9 E0 C2 14 CF 5D 46 C0 BF 49 C1 D9 AC 05 A6

09 77 20 C8 E6 E0 53 96 7C 39 D3 CC F3 96 6D 80 AA 64 A2 3F 10 EF EA BD 5F

C6 2A 17 8B 5A 60 6C 00 7F 3D 40 42 F0 E2 69 B2 BA C0 7E E6 4C 8B 48 12 F4

31 C0 9F DB 0F 93 73 7D C2 EA 2C 7D 61 D2 24 C2 32 A0 D3 CF 97 C8 29 51 E1

4C 64 B2 10 7E 7A DA DD D6 83 E5 1C 7F F8 4D A7 CD E0 62 4C 3E FB 69 40 42

80 82 59 AC 6B CA 38 1C 33 D6 E8 82 89 0B 20 FC 12 CE ED 60 F5 32 42 8F D7

BA 9A 6E 1D F0 6D 47 73 0E 73 90 83 FC 47 37 CA 9E 03 EE B9 0F 7C 07 B1 45

31 3D 4A FD AA F5 E6 53 72 9E CA AC 11 DB F9 66 6D 81 9E 6D 84 7E E0 14 08

3A 3F EE 4A 13 79 53 79 44 1B ED A7 79 D9 E8 2F 09 5C CD 55 FB 90 8B 89 D5

79 2A 03 C4 90 BE 0D B3 99 04 66 D3 ED D8 8F 98 AD B7 0F 14 F9 93 AB FA CC

62 BA E3 81 3C 9C F6 E4 A3 42 EA DC E3 5A 86 C4 0C 02 14 FD 2E 14 0B 8B 5C

D3 1A 54 B3 D6 F5 05 FB CF 85 BA 06 D7 97 91 88 DE 44 B2 27 3B 77 94 9A 3F

D8 59 DC 5A 8C B4 68 90 AF CF B0 90 62 6B BE F5 24 C8 E9 27 9B C2 24 34 41

5D 9F 37 5B 9F F5 D7 0B E1 C8 44 09 97 5F BB 2D CD AF 36 E1 12 F8 C9 AF 63

14 D5 B8 DB 67 E1 39 C3 97 CE E6 36 B5 76 21 3D 99 47 46 62 98 19 44 4E 2B

45 93 2D 9C B3 55 6D CE AF 4F 2F 6E 6F 4A 26 0A B3 72 A9 03 83 94 23 0E 37

DD 7E 59 D6 B1 CB 4F BF D5 FB 0E 0E 07 AA 4F 39 BC E6 D3 D5 A3 AF E9 EF 51

0C EF D7 40 B6 E3 B4 60 F1 F1 98 C4 04 B1 1D 2B 69 64 F5 D6 5F E9 A9 8E 1B

C6 42 60 26 F0 9F 96 84 16 EB 14 81 E4 53 A2 6C F8 55 76 B2 80 15 05 33 EA

9C 68 00 E6 A5 7C A5 77 A7 58 EE F9 8E 77 EC 32 98 15 D7 80 04 A2 C8 CF 9F

16 D6 82 AF 0D FE E5 4D A6 C2 93 7B FB CE 69 35 30 6F D9 0D C0 14 71 D2 DC

28 1B 58 02 02 D5 63 FE C0 9B 2F 22 A2 92 89 B7 3A F0 5C 52 8D 4F 9D AC 22

15 5F 84 90 70 75 D2 9E 9B 62 72 89 AE C1 8B 41 3C BD 03 4F DC 2F 3B C1 5D

C0 32 22 3B 00 AD 91 BC A0 D9 7D 62 DF DE A7 CC AF 2A 3C A4 CA 87 AD A2 7F

13 2A C7 F5 C2 D8 E8 11 B0 85 1E BC FE 43 88 E1 F4 2E 43 C0 25 3E 42 C8 89

70 18 3A 97 E9 F6 4C 6C FE B5 76 F8 1D 8D AF 13 48 53 90 64 3D F5 87 22 9B

1C 0F 60 A4 5B 48 39 C1 B2 F0 D6 D9 0E A8 7C 36 66 26 32 72 67 46 24 BC 78

18 17 B8 D4 0F B1 8C 74 BE 6D 9B 22 F9 5D D5 FE 32 46 B9 E9 FB 9D 5F C1 96

6C FA 53 71 35 BB 52 4E 81 3E 08 8A E7 02 58 87 29 91 B3 F9 DC 8B BD FF F1

D2 13 02 15 D2 E7 AE 77 28 40 33 F2 85 9B 09 0B AC 19 BB E0 84 0F A6 E6 D4

39 7A 01 B5 24 87 35 2A BD 80 0E 1C D4 C6 F9 F3 F8 AC 68 54 D6 59 68 96 02

D3 CE A5 5D AC F3 8D 2D 64 EE 4C 52 AD B1 A1 4E B3 54 7D CC 37 7D 0D 44 DC

D2 23 43 CB 1E E1 C6 FE E8 C5 6E 71 BD E1 C8 42 AA 0D EB 1F FF C3 08 59 8F

A9 A5 EB D3 D9 72 90 32 37 B8 72 E4 53 5E FB 9C 24 E8 27 E8 97 48 99 11 2E

F0 DF 01 65 47 63 50 18 7E 9D 2A 48 F0 2E 79 F1 A3 02 89 A3 81 77 53 4B 00

33 35 E1 E6 6B 6D 94 85 6B 28 E3 FE B9 B2 4F 0E C9 66 BB 36 15 6F F4 6F 6A

A0 2F D6 C7 D6 30 38 00 13 A4 97 6B EA CE 1D 5F 6C 58 49 76 C7 01 5B 1C 6A

D7 03 33 44 34 01 A5 D0 55 E9 4C B6 0C 0D 2A 51 C7 94 1F 7D C1 C0 14 35 A4

6B 53 A2 A5 05 4B 73 A3 39 5A 4D CE EC 1F 7E F7 F0 82 DF C4 FE 5D 7A 70 8D

92 3C 03 31 F7 A2 1B AD A0 34 1C 2E F5 B5 FA 53 C2 F5 F5 F6 03 88 EA 74 87

F4 52 21 10 65 CD 24 5F B8 6B 50 A0 E4 92 71 C8 7A CE 12 4D C1 63 FA 1E AD

9C D3 E0 9E B3 44 EC 0E 9A D8 A3 5D 82 60 48 3B 30 C5 D1 52 B4 83 79 F7 6C

AD F6 AC C0 8D B3 0F 47 43 2C FB 5D 00 3B 5E DD 7F 41 5B 23 46 62 F7 09 C2

8B 0F 1B 0B 2B 55 BD A6 DE C3 CC A9 E8 F0 4F 36 A7 02 2E AB 02 05 C7 BA F3

45 3B 31 56 19 40 E9 1A 65 38 10 A8 B5 EC 16 4A 1A 11 24 A6 70 72 77 BE 47

EE DA 47 93 9D 01 79 D8 A4 E8 DC BF 14 E1 70 BB 45 67 5D BF DF 2F 37 CB 64

7B B3 2D 29 3D 6F FA 04 E2 1E 8D 8B 23 70 26 F3 9A FA E1 8B 03 6F F2 55 58

CF 9F D7 8E FB 6C E8 5C 22 85 87 20 3C AA EA 5C 46 4D 14 23 C3 78 F4 67 26

AA C9 DE BB 6D CA A9 0C 92 29 C9 F6 23 77 74 5C D7 70 54 52 CA 8A E6 AF 45

A4 D6 8E 73 DF 37 7D E5 54 18 C6 13 59 6E 7E F0 7E DF C5 1E EF 93 B9 CD 17

BC 18 BB A9 D3 69 9E D4 A1 63 08 39 57 35 35 AD 4F FB 70 5D 30 E1 52 87 B5

BA E8 76 51 70 09 9D 07 29 44 4B 81 5F 2F 03 48 CE 8E 35 2A 3D 3D 8A 78 16

78 AA 97 40 E8 21 C1 30 8E E9 5A 02 9C 73 FC D4 8D 15 AC 74 B1 53 08 4F 2D

F2 FC 38 37 36 CD F2 37 05 C0 56 E4 F9 29 41 2B 5D F2 4C B5 51 C1 A8 3F 3D

DB 09 D9 A2 99 B4 D3 8F 20 EA 37 3C FE CF EA CA C5 D1 7D AF 9A 57 6F FA 5B

2A 3C ED A5 06 63 4D 8B 3B 70 BD B7 5F E4 A7 74 BD 30 C2 9F A1 25 53 2D 20

AC 94 21 29 38 98 AE E1 F5 CA ED 8E 5F FB 7E 2A BE 29 4F 96 11 F8 F3 0B 55

07 BB FE 14 59 CF 14 2D B6 B9 90 05 53 01 23 32 B6 74 48 A5 C3 5F 41 0E 8A

00 9C C2 87 C6 D8 28 8A DF 02 BD 48 52 66 16 49 FE 9E 12 8B 21 D5 2B B1 37

F3 2A D8 45 3F 88 9B 66 75 31 A6 3D B8 9D 2D 20 48 5C CF E6 E0 C0 16 A7 5B

9E 61 8A 03 89 0B 4F 0C 6E B0 D7 3F 3A C8 AF 0E F9 5C 7E EA 76 C0 C9 60 D8

98 8E 8B EE 56 57 0C 9B D5 79 8A DE F3 A3 9C B7 6C 98 DD CA 3B 15 7B FB 45

A4 15 1C DD 6C 24 15 B7 C4 50 1E EB AC D8 DE E8 48 FC 55 A9 F6 76 E2 CF B4

BF 3B 21 E3 21 C5 41 07 22 31 DC AB 74 65 C9 9E 05 76 B3 A9 AB A4 2E 0C D1

16 20 FB 27 97 D2 6B 65 3F BD 44 EE 35 64 9B C9 52 05 93 57 5A 74 43 1B 31

42 05 54 E9 9F 1E 36 86 40 EF DE 08 1E DE 8A 5C 2E C6 9F 2E A0 A7 B0 D1 DF

AA 0D 02 6E 47 C7 C0 80 2D 6E 55 89 11 76 5A EA 41 25 01 DC E5 A3 28 94 D1

3B 77 95 79 93 EF 0D 1B 3A A2 63 4C 94 94 63 B2 34 B5 62 49 D5 68 D5 6C 85

AF 1B B7 54 22 90 AB 0A EE 45 15 71 66 C0 22 E8 C7 43 47 B4 CE 52 49 44 15

F9 5C F8 D0 7E BB 13 C1 51 3E E7 93 32 2F A3 69 30 76 70 78 6D 23 1C 4A 45

58 D9 9E C9 64 38 14 78 7E 9D 9D 42 50 15 8E 81 17 95 EE 71 E0 BA 33 05 D2

9D B7 CF 86 02 F5 DC 09 49 0D C3 9A DD 4F 20 FA 80 7C C2 74 31 F0 76 78 24

0F 9D 50 C2 93 77 78 D5 88 AC 5D 41 2D F6 3C 9E E4 D9 4B E1 BF 67 06 E1 67

33 0F A1 42 CC D0 E9 4D 2F 3A C1 74 86 72 54 50 0F 5F D9 FB C8 1B AF C8 81

BA E3 B5 77 B9 A5 8D 32 F0 FF 7E 5C 77 6D 2A AC 21 62 40 2E C9 CD 23 8A 2B

27 C1 25 12 B5 78 21 A9 FE 7C 3D 30 C7 28 54 A2 1C D4 C7 3A EE 51 BC 5B 96

9D E0 D4 FC 0E 3F 97 7F D0 0D E7 9E C5 AC 86 91 04 A0 C6 AA 93 67 E1 64 25

FA FB 4F DE 76 C9 4E 6F 88 DB 65

"Incorrect structure found in PDF file"?

$
0
0
I put together multi-page seminar presentations by using the Acrobat "Create PDF from Multiple Files" command to join together individual PDFs acquired elsewhere or generated by Mathematica or Illustrator, and then reorganizing these pages in Acrobat.

Fairly often, when I try to Delete an unwanted one these pages using Acrobat's Document >> Delete Pages menu command I get the error message "An incorrect structure was found in the PDF file", and the page simply refuses to delete (workaround is then to move it to the end of the file.

Is there any way to cure or avoid these problems? Or a diagnostic I could run on the errant document? For example, to clean up the "incorrect structure" could I:

--Burst (Extract) the file back to individual pages, run each individual page through a Save or Save As process in Acrobat or Illustrator?

--Do the preceding on every page before assembling the first time?

--Buy a whole new suite of Adobe programs?

--?????????????

Doing a Save or Save As on the complete file doesn't seem to help.

[This happen on a MacBook running Tiger (OS 10.4), Acrobat 7.0 Standard, Illustrator CS 7.0. Send me an email; I'll forward a cc of one of these files.]

Latin-2 (ISO 8859-2) encoding in PDF

$
0
0
Hi,

Is any simply way how to add Latin-2 encoding support in to PDF file? I tried to use CMap, but I failed. I have to have some mistake in my code, because Acrobat Reader can't load it.

Here http://nopaste.ceske-hry.cz/592 is code of my file. Can someone corect it? I'm distressed
You can download the file from http://nopaste.ceske-hry.cz/592-download

How best to find syntax errors in a PDF

$
0
0

Hi,

 

I want to find out the best way for an end user to identify syntax errors in a PDF, such as "expected a dict object", which might occur when a user opens the PDF. I usually find these when using the Acrobat SDK to parse a PDF in some way. However, for an end-user, a tool would be necessary.

 

Using the Acrobat preflight tool enables you to browse the structure of a PDF and potentially see errors but that is not suitable for anyone other than an expert. What I am looking for is a way to check a load of files for these sorts of errors in a batch process so that a non-expert can identify the problem files that need fixing. Is there a good way of doing that?

 

Thanks

 

David

Digital signature Filter / SubFilter

$
0
0

Hi,

 

i have a question regarding the use of digital signatures.


As a filter value i am using

PDF32000.bookAdobe.PPKLite but i am not quite sure about the SubFilter. As i understand there are three possible values:

 

PDF32000.book- adbe.pkcs7.detached
- adbe.pkcs7.sha1
- adbe.x509.rsa.sha1

 

Now i need to create PDF/A compliant pdfs and i read somewhere that it is not recommended (or not compliant?) to use

'adbe.x509.rsa.sha1' (pkcs#1 format). Instead one of the other two should be used.

Now since SHA1 is too weak only 'adbe.pkcs7.detached' (pkcs#7 format) remains.

 

But what does the 'detached' stands for?

Does it mean that the digest or the certicate have to be stored in an extra file? (Similar to the xml signing mechanism: "Enveloping signatures are over   data within the same XML document as the signature; detached signatures are over data external to the   signature element.") ?

 

Thanks for clarifying,

ToM

Dealing with Predictors when decoding PDFs

$
0
0

I've seen a lot of questions about how to "unpredict" Xref streams. The answer usually goes something like "RTFM!"

 

Well, I have R'd the FM, and it's still complicated. So, to save others the pain I've gone through, here's a slightly more detailed rundown.

 

A great blog explaining how PNG prediction works (which, yes, can be applied to text) is here:

http://www.atalasoft.com/cs/blogs/rickm/archive/2008/05/02/using-png-predictors-to-enhance -gzip-pkzip-flate-compression.aspx

 

A fun fact not covered in the blog: PNG prediction happens bottom-up, so when you decode you need to run your algorithm top-down.

 

Basic steps:

Assuming you've already decoded (inflated, un-gzipped or whatever) the string...

 

You'll need to know the predictor type and the column width, at a bare minimum. This is provided in the Xref stream dictionary.

-Predictor type will be /Predictor in the /DecodeParms subdictionary. Usually this is 12 (PNG Up prediction)

-Column width will be /W. Usually this is [1 2 1]

 

Armed with this information:

1) Strip off the last 10 characters of the string. This is the CRC and is unnecessary to extract the raw data.

2) Sum up the column widths. For the example above [1 2 1] would be 4. This is one less than the number of bytes in each row.

3) Split the string into rows by the column width: sum+1, or in our example, 5.

4) The first byte on the row will be the predictor type. You can actually change the predictor line-by-line, though I haven't seen an example of this actually happening. For PNG Up prediction (12, as above), the first byte should be 0x02. You should either strip this off (i.e. assume all lines use the same prediction), or write code to change the algorithm based on this number. The simpler solution, albeit potentially hazardous for your reader, is to strip it off.

5) Either way, you should now have a row equal to the <width> (4 in our example). You now convert the row byte-by-byte. Since PNG Up unprediction works top-down, the first row is already effectively decoded. I create a "prevRow" array with <width> rows, filled with zeroes.

6) Loop through each row, and within that loop loop through each byte in the row. Convert the byte from binary to int and add it to the same byte in the previous row. Pseudocode: unpredictedByte = prevRow[currrentByte] + row[currentByte]

7) Convert the int back to binary. You'll see why in a second.

8) Once you have all your rows unpredicted, loop through them again, splitting them into binary strings based on the W parameter. In our example: 1 2 1. I.e. the first string is 1 byte, the second string is 2 bytes, the third string is 1 byte.

9) Conver the ENTIRE STRING to int (this is why we had to go back to binary, since the strings can be of arbitrary length).

10) Your first column should be the Xref entry type: 0 = f. I.e. a "free" or deleted object. My reader ignores these. 1 = n. I.e. an "in use" object. You'll want to save these for the future. 2 = a compressed object. You'll also want to save these, but they'll require a little more work before they're usable.

11) If our first column is 1 (an in-use object), the second column is the offset address for that object. I add it to my Xref table array.

12) If our first column is 2 (a compressed object), you have to decompress the object stream to get the actual object references and offsets. See PDF Specification section 7.5.7 (page 45).

 

The code in PHP looks like this:

 

          $prevRow = array_fill(0, $totalWidth, 0); //Treat prevRow as an array of ints for math
                for($j=0; $j<count($rows); $j++) {
                    $row = substr($rows[$j], 1); //Chop off the filter-type byte (should be 02 for UP prediction)
                    $offsets[$j] = '';
                   
                    //Reconstruct the string character by character
                    for($i=0; $i<strlen($row); $i++) {
                        $decodedByte = ord($row[$i]); //Convert the binary character to an int so we can do math on it
                        $decodedByte = $decodedByte+$prevRow[$i]; //Add the current row's character to the previous row's character
                        $decodedByte = $decodedByte & 0xFF; //Seems pointless to me, but Zend Framework does this
                        $prevRow[$i] = $decodedByte; //Update for our next pass
                       
                        //WARNING: Assumes 1 2 1 column structure.
                        if($i == 0)
                            $types[$j] = $decodedByte;
                        else if($i == 1 || $i == 2)
                            $offsets[$j] .= chr($decodedByte); //Convert back to binary
                        if($i == 3)
                            $generations[$j] = $decodedByte;
                    } //Close for $i
                }//Close for $j

Cross Reference Stream Problem

$
0
0

Hi

 

I try to develop a PDF parser, but I'm stuck at Cross Reference Streams.

My program first reads all objects from a PDF document, and then saves it.

 

If the version is 1.5 or higher, the cross reference is in an object, which uses the FlateDecode filter and a Predictor of 12.

All seems to be good, but the PDF Reader cannot open the file.

 

When I save the file with a normal cross reference, the PDF works fine.

 

 

Can someone please help me find the problem in the following file:

Download

 

The file above is the result of the following file:

Download

 

With a normal cross reference table, it results in this file (works):

Download

 

 

Note that the difference between file 1 and file 3 is only at the end, where the tailer or the XRef object is located.

 

I've checked the cross reference table again and again, but I couldn't find the error.

 

Thanks you so much for your help!


Decoding (...)Tj - what todo with "backslash" in hex encoded ToUnicode indices

$
0
0

Hello @all,

 

I'm currently getting into details about PDF. My current problem is, that I have a PDF

with exactly one font. This font is CMAP font with ToUnicode encoding.

 

I've got the CMAP table - all in all 0xb7 entries mapping from the hex-string in (...)Tj

to the appropriate Unicode.

 

Example:

 

0 : 0xfffd

1 : "A" (as a Unicode)

2 : "B" (as a Unicode)

..

.

 

The uncompressed (...)Tj has than the form e.g. 0x00 0x01 0x00 0x02 0x00 0x02 - reading "ABB"

Everything seems fine .... until the code 0x00 0x5c 0x62 comes up. I really don't know how to handle

these "backslash" codes. What has to be done in such case. Trying to map just the 0x62 to Unicode

doesnt' give the correct character.

 

Please help!

 

Thank you!!

Find the tx position from operator TJ

$
0
0

Hi,

 

I am a beginner in PDF and have read the PDF reference a few times.

however, I still have some questions on the positioning of x, y in Operator TJ.  Hopefully, there are many masters here that can help me.

 

I have the following PDF code below:

 

/F3 11.04 Tf

1 0 0 1 76.584 449.83 Tm

[(I)5( )-4(a)5(m)5( )4(s)5(u)4(c)4(h)5( )-4(a)5( )-4(s)5(t)4(u)-4(p)13(i)-4(d)-5( )26(g)] TJ

ET

BT

1 0 0 1 222.53 449.83 Tm

[(u)4(y)5( )-4(!!!)] TJ

ET

 

assuming the w0 for each glyph is 500 units for simplicity.

it is easy enough for 'I' to position at 76.584,  449.83.

 

however, what is the coordinate for the next space?

I know the following formula:

tx = ((w0-Tj/1000)*Tfs + Tc + Tw)*Th

 

for w0, it is 500 units.

so is it the following for next space position?

tx = ((500-5/1000)*11.04 + 0 + 0) * Th.

am I correct on the above values plug-in? and where can I find the Th value?

 

for more info, the media box is /MediaBox[ 0 0 595.32 841.92]

 

I think once the space position can be found, all the subsequent positioning could be calculated similarly.

 

could any masters here can correct me if I have anything misunderstood or please tell me if I've missed out anything in order for your calculation. and I will provide later.

 

there is totally lack of examples in PDF reference (esp for beginner like me).

sorry for such simple question to the masters here, as I am really confused in the positioning.

Please reply. Many Thanks!

 

JJ

Extract embedded xml from PDF/A-3b (also creation)

$
0
0

Hello there,

 

in the context of a research project, we are currently trying to extract embedded xml from a PDF/A-3b document via code.

The project deals with establishing a new invoicing standard (Zugferd: ferd-net.de, only german). Invoices are expressed via xml, which is embedded in PDF/A.

What we are trying to archive is extraction of the xml via java code. For testing purposes, we are currently using an third party skd to extract the invoice-xml, by calling a .EXE file and then picking up the results in java.

 

I currently have only one valid example file that can be processed via this sdk. To get more data, i used the test version of acrobat pro to alter the embedded xml file. To be more specific, i deleted the embedded file, added a new xml file, and used preflight to make the PDF conform to /A-3b. Although the file seems to have the same properties as the original, it can no more be processed via the extraction sdk. Since messing around with acrobat does not seem to get me anywhere, i am now looking into extracting data from the pdf my self.

 

Is there any present implementation/library/solution for extracting data in a java context? The few third party tools i found are all based of a .net/windows native environment. I have heard rumors about Adobe giving out tools to extract embedded data from PDF/A?

How is it the other way around? Is it possible to embedd xml into a PDF via Java? Given there allready is PDF file which we can attach to.

 

I really appreciate reading and thanks for any help or input!

Greetings,

Florian

problem to convert various reports access to only one pdf

$
0
0
with VBA i'm trying to make code to convert various reports to one pdf file.
i'm using ADOBEPDFMAKERFOROFFICE, but i dont know how to use ConvertAccessReportsEx.

thanks

What is PDF/x-4?

$
0
0
Okay, I see ID CS3 exports PDF/x-4 files; but, documentation is skimy or non-existent, it seems. Can anyone tell me how this standard differs from PDF/x-1a and PDF/x-3. I kow x-1a exports CMYK files and x-3 exports a mix of cmyk and rgb. But, x-4? What does it do?
Viewing all 46145 articles
Browse latest View live