Объект не существует в структуре файла PDF - PullRequest
0 голосов
/ 03 марта 2020
%PDF-1.5
...
10737 0 obj
<</MarkInfo<</Marked true>>/Metadata 161 0 R/PageLayout/OneColumn/Pages 10732 0 R/StructTreeRoot 206 0 R/Type/Catalog>>
endobj
10738 0 obj
<</Contents[10740 0 R 10741 0 R 10747 0 R 10748 0 R 10749 0 R 10750 0 R 10751 0 R 10752 0 R]/CropBox[0.0 0.0 516.0 728.64]/MediaBox[0.0 0.0 516.0 728.64]/Parent 10733 0 R/Resources<</ColorSpace<</CS0 10771 0 R/CS1 10772 0 R>>/ExtGState<</GS0 10773 0 R>>/Font<</C2_0 10778 0 R/C2_1 10783 0 R/C2_2 10788 0 R/C2_3 10793 0 R/C2_4 10798 0 R/TT0 10800 0 R/TT1 10802 0 R/TT2 10804 0 R/TT3 10806 0 R/TT4 10808 0 R>>/XObject<</Im0 10769 0 R>>>>/Rotate 0/StructParents 0/Tabs/S/Type/Page>>
endobj
10739 0 obj
<</Filter/FlateDecode/First 410/Length 3756/N 38/Type/ObjStm>>stream
10771 0 10772 21 10773 42 10774 138 10775 190 10776 442 10777 741 10778 752 10779 869 10780 921 10781 1190 10782 2050 10783 2061 10784 2192 10785 2244 10786 2504 10787 3456 10788 3467 10789 3587 10790 3639 10791 3903 10792 6058 10793 6069 10794 6196 10795 6248 10796 6507 10797 8153 10798 8164 10799 8284 10800 8496 10801 9662 10802 9894 10803 11072 10804 11325 10805 11779 10806 11985 10807 13147 10808 13395 
[/ICCBased 10753 0 R][/ICCBased 10754 0 R]
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
<</Ordering(Identity)/Registry(Adobe)/Supplement 0>><</Ascent 858/CIDSet 10757 0 R/CapHeight 719/Descent -148/Flags 4/FontBBox[-16 -148 1008 858]/FontFamily(\xfe\xff\x00H\x00Y\xc9\x11\xac\xe0\xb5\x15)/FontFile2 10758 0 R/FontName/YDRADB+H2gtrM/FontStretch/Normal/FontWeight 400/ItalicAngle 0/StemV 60/Type/FontDescriptor/XHeight 520>>
...
endstream
endobj
...

Нет. - Тип
10732 - Страницы
206 - StructTree Root
10771, 10772, 10773, 10778 ... - Шрифт

Многие косвенные объекты, включая 10732, 206, 10771 и 10772, делают не существует в файле PDF.
Но я думаю, что я нашел объекты 10771 ~ 10808 в потоке объекта 10739.

Q1. Почему в файле pdf нет объектов 10732 (страницы) и 206 (StructTree Root)?
Q2. Почему косвенные объекты в потоке?

Буду признателен, если вы предложите какие-либо объяснения или ресурсы для справки.

1 Ответ

1 голос
/ 03 марта 2020

Начиная с версии 1.5, PDF поддерживает так называемые объектные потоки, то есть потоковые объекты, которые содержат другие непотоковые объекты.

Ваш объект 10739 является таким потоком объектов, который вы можете видеть в его Типе ObjStm .

Это позволяет сжимать эти другие объекты. В частности, объекты дерева структуры, которые в противном случае могут существенно увеличить размер PDF-файла, могут быть достаточно хорошо сжаты, уменьшая их влияние на размер документа.

Подробнее см. В спецификации PDF, раздел 7.5.7 - Потоки объектов в текущей спецификации PDF ISO 32000-2 или в предшествующей версии ISO 32000-1.

Adobe разместила копию ISO 32000-1 на своем веб-сайте, на которой имеется только Заголовки страниц ISO заменены. Просто Google для "PDF32000_2008"; в настоящее время он находится на https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf, но, насколько я знаю, это не постоянная ссылка.

...