Kompatibilnost PDF 1.7 tokova i ofseta
Verzija 3.12.5 pooštrava kompatibilnost sa PDF 1.7 rečnicima tokova, standardnim bezbednosnim kript filterima, parsiranjem sintakse objekata, xref tokovima i izlazom bajt-ofseta. Generičko dekodiranje tokova tretira /DP kao standardni sinonim za /DecodeParms, razrešava indirektne unose niza parametara dekodiranja, prihvata standardne skraćenice filtera /AHx i /LZW i tretira Identity /Crypt filter kao operaciju bez efekta u uobičajenoj fazi dekodiranja filtera
Pri učitavanju PDF-a, PDFlibPas tretira unos Catalog /Version kao efektivnu verziju dokumenta kada je noviji od verzije iz zaglavlja. To odgovara pravilu PDF 1.7 o prepisivanju verzije kataloga
Standardni šifrovani dokumenti sada doslednije čuvaju odluke o kript filterima StrF, StmF, EFF, Identity, None i imenovanih filtera u stilu StdCF tokom tokova učitavanja, dešifrovanja, kopiranja i čuvanja. Tokovi metapodataka poštuju EncryptMetadata=false, tokovi ugrađenih datoteka nose /Type /EmbeddedFile tako da se kript filter za ugrađenu datoteku može primeniti odvojeno od običnih tokova, a novo upisane vrednosti Length za AES kript filter koriste dužine u bitovima
Verzija 3.56.38 obezbeđuje da normalno API šifrovanje kreira ili sačuva trailer /ID pre nego što se generišu standardni bezbednosni podaci. AES-256 izlaz sačuvan iz izvornog PDF-a koji nema /ID sada se ponovo učitava kao šifrovan preko EncryptionStatus i može se eksplicitno dešifrovati pomoću Decrypt
Parsiranje PDF imena sada tretira i leve i desne zagrade kao razdvajače. Imena kao /Name} zato se tokenizuju na desnoj zagradi umesto da razdvajač uđu u token imena
Parsiranje literalnih stringova sada zanemaruje obrnutu kosu crtu za nepoznate escape sekvence i ograničava \ddd parsiranje na oktalne cifre. Sekvenca kao \128 zato se dekodira kao LF praćen znakom 8 umesto da tretira 8 kao deo oktalnog escape-a
Xref stream tipa 2 unosi za komprimovane objekte zadržavaju broj svog object stream-a čak i kada je taj broj veći od PDF dužine bajta. Provera razumnosti veličine datoteke i dalje je ograničena na obične xref unose, gde je drugo polje bajt-ofset
Xref tabele punog čuvanja, startxref, linearizovane xref tabele, vrednosti Prev/XRefStm u xref toku i vrednosti ByteRange digitalnih potpisa koriste 64-bitne pomoćne funkcije za formatiranje i parsiranje. To sprečava da se velike pozicije bajtova suze kroz 32-bitne integer puteve pre nego što budu upisane u PDF sintaksu
Kada se xref tok preradi u klasični trailer rečnik, ključevi DecodeParms koji važe samo za tok uklanjaju se iz emitovanog trailera. Spoljašnji tokovi ugrađenih datoteka takođe zadržavaju FDecodeParms kada se FFilter promoviše u Filter
Validacija za 3.12.5 obuhvatila je Delphi Win32 i Win64 DUnitX skupove, sa uspešno prošlih 141 od 141 testa na svakoj platformi