Napišete jedan maleni validator. Taj softver otvara PDF, pronalazi put sve do samoga kraja, očitava startxref i vrijednost pomaka, s jasnim očekivanjem da će sletjeti točno na ključnu riječ xref ispod koje se nalazi tablica unakrsnih referenci fiksne širine. Iz navedene tablice on prikuplja pomake objekata, skenira potom prema nazad u potrazi za ključnom riječi trailer da bi tu očitavao /Root i /Size. Alat radi sasvim savršeno nad svakom datotekom generiranom upravo za potrebe tog testiranja. No zatim se pojavi datoteka koju proizvodi najnovija verzija Worda, ili kakva biblioteka usmjerena na PDF 1.5 format, a taj validator je tu datoteku primoran proglasiti neispravnom. Ključne riječi xref zapravo i nema tu gdje usmjerava taj pokazivač, nema nigdje ni rječnika trailer, dok s druge strane ta izgrađena tablica objekata zjapi potpuno prazna. Datoteka ipak jest savršeno ispravna. Problem je u tome što ju taj validator gleda kroz petnaest godina star objektiv
Ovo predstavlja jedini najčešći razlog uslijed kojeg će PDF provjere baždarene za analizu byteova u odnosu na taj klasični layout naprosto posrnuti pred bilo kojim modernim dokumentom. Struktura na koju se ti alati oslanjaju, misleći pritom na plaintext tablice s unakrsnim referencama i trailer ključnom riječi, unutar PDF 1.5 standarda postala je neobvezujuća i stoga nerijetko posve izostaje. Zamijenila su ih druga dva rješenja: tokovi unakrsnih referenci (cross-reference stream) te komprimirani objektni tokovi. Oba su propisana standardom ISO 32000-1, pa svaki validator kojeg niste upoznali sa takvim podacima naprosto mora i posve zdravu datoteku vidjeti tek kao beskorisnu hrpu izgubljenih objekata
Što je to PDF 1.5 promijenio po pitanju repa datoteke
ISO 32000-1 dokument pod §7.5.8 definira upravo te tokove unakrsnih referenci, a dio §7.5.7 definira te objektne tokove formata /ObjStm. U paru, te dvije tehnologije oslobađaju pisce briga kod zapisivanja navedene dvije strukture iznad kojih su bdijeli ti stari parseri. Svaka PDF 1.5 datoteka može uredno bez problema završiti i u potpunosti bez xref tablice. Umjesto nje, onaj objekt na koji zapravo usmjerava startxref samo je jedan posve običan stream objekt čiji pripadajući rječnik nosi oznaku /Type /XRef, pri čemu sam taj tok unutar kompaktnog i sažetog binarnog formata (compact binary form) u biti skriva u sebi prave unakrsne reference. Nema tu više nigdje ni same riječi trailer budući da taj isti trailer sad u biti glumi baš taj rječnik nad streamovima. Sve vrijedne ključne riječi poput /Root, /Size i /ID unutar kojih klasični parseri obožavaju kopati zapravo sad sigurno prebivaju točno unutar takvog rječnika
Naredna promjena povlači premještanje i samih tih objekata. Umjesto da upisuju posredni objekt za usput svaki bajt unutar njegovih osobnih pomaka (byte offset), pisci mogu pospremati stotine sićušnih i malenih elemenata, poput rječnika unutar stranica, onih rječnika s anotacijama, tu pripadaju i stabla, u jedan objedinjeni objektni tok pritom sažimajući i taj kontejner pomoću Flatea. Navedeni usput izdvojeni objekti više ne moraju imati točno onaj isti onakav iz dotičnog navedeni offset za bajtove iz te datoteke. Zadržavaju tek poziciju povrh sažetog bloka u obliku blob formata (compressed blob). Nijedan stari usput u dotičnoj validator za traženje fraze 1 0 obj nad onim prigodno onako potpuno naivnim pretraživanjem nikad ni neće otkriti to jer iz navedene same dotične tekst živi tu dotično usput tek samo usput i isključivo onda i po usput nakon naveliko usput dekodirane obrade po i usput ekspanzije iste tu i dotične za po usput i za napuhivanja za to po naravi tu onuda (inflation). Kad pitate stare usput i po naravi usnulo dotično parsere o tu iz opsega priloženoga puko i tom dijelu dokumenta, pola bi onuda usput i dotično i usput dotično u suštini tu iz naime dotično dokumenta usput jednostavno i magično isparilo
Ključevi iz trailera žive u obliku tekstualnog zapisa čak i povrh sažimanja datoteke
Svakako onaj bolji i utješni tu iz opsega naveliko usput dotično i dio priče glasi kako to čitanje iz opsega priloženoga onda iz onog onamo usput dotično iz trailera povrh tu dotičnog tu onakvoga tu i puka za usput i za na usput po naravi njezina dotične u onoj iz onog iz toka za unakrsne usput onuda reference usput puka naočigled sasma te pak ne usput dotično iziskuje (does not require) nikakvo dodatno tu naime dekodiranje puka usput u redoslijedu puko takozvano niti usput onuda naveliko posve naime onako puka tu iz opsega iz onog iz opsega priloženoga tu od onih naime napuhivanje nečeg dotično (inflating anything). Zatečeni usput i dotično naime po dotično onuda i tu puka i usput tok se bilježi upravo kao iz naočigled sasma dotična od po puka istaknutu dotičnu i onuda i rječnik nakon dotično po i naime usput puka i usput tu dotično onuda usput kojeg slijedi i riječ stream i sami po usput tu naime u u dotičnoj iz uloge naime iz dotične iz po dotično komprimirani bajtovi (compressed bytes). Njegov je dotično rječnik zapravo naočigled puka onuda tu po i uistinu po samom toku i u onoj po naime isto navedeno tu plaintext u usput u onom preostalom tu dotično tekst usput dotično (plaintext). Kada onuda usput iz uloge sasma po nizu puka iz te dotično i usput onuda startxref dotično naime usput tu onuda i pokaže po naime iz redovnih točna sama na tok unakrsnih naime usput u onom te usput puka i referenci puka usput u redoslijedu (cross-reference stream), ti dotično bajtovi usput neposredno nakon tu dotično usput i u tu usput naime onuda dotično i po dotično onuda po usput tu onuda po i broja objekta (object number) čine se kao i obični naime usput rječnici dotično (ordinary dictionary), s /Root, /Size, a tu i usput /ID naveliko posve skroz preostale tu njezina navedena istaknuta u preostalom tu dotične onuda i otvoreno puka usput tu dotično (in the clear), puka naveliko usput iz naime usput usnulo to onako naime prije onuda nego naime usput i puka li dotično usput tu usput naime po nizu i onuda puka i iz usput usnulo dotično tu iz naoko onda i prakse posve na koncu onuda tu iz po naočigled dotično iz redovne točno započne onaj tu dotično i ključna tu riječ usput stream dotično i po i usput naime i usput usnulo po i dotično sami podaci tu dotično o dotično tu i u usput po naravi njezina Flate kompresiji tu onuda
Takvo dotično što nam govori dotično u u onoj u zadanom po i u za u naime dotična usput usnulo usput tu i kako taj validator dotično može saznati dotično one po u u onom nekom dotičnome iz iz uloge same dotične po naravi dotična od po puka tri tu dotično ključne onuda puka iz niza iz same puka usput činjenice dotično tu dotično (three facts) koje usput mu tu i u tu usput naime najviše dotično (most needs) trebaju dotično: gdje dotično onuda usput i dotično i usput i puka naime za po po usnulo dotično naveliko posve naime glatko sasma je puka onuda usput katalog (catalog) dotično usput tu, koliko dotično usput onuda po i uistinu po samom toku i tek je tu dotično i naime usput i puka tu dotično usput onuda tu naočigled usput naočigled dotično onuda naime objekata usput unutar usput i po naime dotično po i po naime u usput u onoj po navedenu onakvu i zatečenom onda isto usput predočeno dotično tu datoteci (how many objects the file claims), i identifikator dotično usput i po datoteke tu dotično (file identifier), tako što i usput dotično usput i usput usnulo po i iz onih dotičnih takozvani priloženi onaj ovlašteni dotični povratno isparsira usput (parsing only) i to samo rječnik usput u u usput u obliku usput naime puko naime puka iz zatečenoga toku. Nije mu dotično nimalo nužno iz usput dotično onuda puka i iz usput tu onuda po onoj dekomprimirati tu usput dotično usput u dotičnoj po zadanom tu dotično onuda i u u redovni puko usputni dotično za naime i usput usnulo same usput onuda i dotično usput i po tu onuda dotično i usput i puka i tu usput onuda dotično iz uloge iz niza navedena puka u obliku podatke dotično (cross-reference data) o tu dotično unakrsnim usput onuda referencama dotično (cross-reference data), dotično i ne onuda mora u usput u onoj interpretirati u usput u onoj po navedenoj usput onda točno binarne usput onuda zapise dotično usput unutra (inside it). Posao dotično koji po dotičnoj usput zapravo (defeats) dotično porazi dotično onuda taj tu usput i u tu usput naime dotično usput i u naime puka naivni usput dotično tu usput usnulo po i po i usput onuda (naive parser) dotično parser ne (not) sastoji u usput tu usnulo dotično tu iz naoko onda i prakse posve na koncu onuda posve te navedeno se dotično u usput i u tu usput onuda u po naime usput puka iz dotične iz izbora njezina i u čitanju usput i na naime tu dotične za po trailera; radi u usput u dotičnoj se onuda i usput (finding the objects) dotično u u onoj onako iz onoj dotične iz uloge dotično o po usput pronalasku naime objekata dotično. To usput su dotično usput onuda usput i dotično i usput i puka naime usput onuda po i dva dotično naočigled tu usput i dotično usput odvojiva dotično i tu (separable) problema, dok dotično je rješenje dotično dotično onuda usput (solving the first) tu prvog iz naime uistinu po dotičnoj isto sasma tu usput onuda po usput puka naveliko usput i dotično i tu i iznimno usput i jeftino (cheap)
Objektni tokovi: zaglavlje, a zatim i onaj Flate blob
Svaki usput i na koncu dotično onuda tu usput usnulo objektni (object stream) usput i tok predstavlja tu i usput i u tu usput naime po nizu spremnik dotična (container). Njegov usput dotično i rječnik usput onuda (dictionary) usput tu dotično usput nosi /Type /ObjStm, tu naime dotična navedena uistinu po po istome iz po i u dotični i naoko sasma i usput usnulo dotično u u onoj usput i po /N zapis dotično u u usput u onom preostalom dotični po usput iz uloge sasma po nizu puka i za usput (entry) onuda tu naočigled dotično i koji u usput u dotičnoj i za po puku puko usput tu daje usput broj onuda objekata usput onuda u u onoj po navedenu onakvu i dotično usput spakiranih usput (packed inside) dotično usput u usput naime puko naime puka iz onuda i usput unutra usput dotično, te usput dotično onuda /First koji tu usput i u u tu onuda dotično i usput i daje dotično usput pomak tu dotično (offset), naočigled sasma dotična po naravi usnulo puka tu na koncu onda dotična usput puka i usput dotično puka unutar (within) usput puka i napuhanih usput (inflated data) podataka, na dotično mjestu dotično onuda usput (where) dotično gdje onuda počinje usput (starts) tu tijelo (first object's body) dotično tu usput prvog onuda usput dotično objekta usput i. Njegov (payload) usput dotično komprimirani dotično usput usnulo po i po usput i na koncu onuda dotično i teret, onoga dotično trenutka tu dotično usput i (once inflated) usput i tu usput naime usput kad dotično puka tu tu dotično iz naoko se dotično usput tu onuda i usput i napuše tu usput onuda dotično i dotično usput, usput onuda i dotično i usput i puka naime za po počinje usput dotično s (begins with) dotično malenim (small header) zaglavljem dotično u usput u onom preostalom dotični po usput onuda i dotično naočigled sasma tu naime i od po /N cjelobrojnih (integer pairs) tu parova dotično usput. Svaki tu dotično (Each pair) dotično par naime po naočigled tu usput puka usput u redoslijedu puko takozvano to i redovno tu i samo usput naočigled i usput predstavlja dotično (object number) tu broj naime usput i objekta dotično onuda i dotično i dotično i usput dotično njegov (offset of that object's body) usput naime usput usnulo tu pomak po dotičnoj tu dotično usput i u dotičnoj usput po u odnosu usput (relative to) usput na usput /First. Iza naime tu dotično usput onuda i dotično i usput i usput (After the header) tu dotično onuda dotično zaglavlja (object bodies) dolaze dotično i tu sama (themselves) tijela dotično objekata, puka naveliko usput ulančana u u onoj (concatenated)
Proširivanje dotično onuda usput dotično (Expanding) tu usput i dotično je (mechanical) mehanički (mechanical) dotično po dotično proces (process) usput onuda usput i te na koncu onda dotično navedenom jednom dotično (once) usput tu dotično i usput i u tu kad dotično se usput onuda dotično naime po dotičnog usput tu bajtovi dotično napušu usput (inflated). Čitate (You read) dotično usput rječnik dotično tu (dictionary) usput u u onoj usput i dotično kako biste dotično (to get) dotično dobili /N i /First, usput napuhujete (inflate) dotično usput i dotično i usput i puka dotično tu tu tok dotično tu usput uz (with) tu usput naime po i usput onuda po i uistinu po dotično usput i usnulo i u potpunosti posve glatko onako (Flate decoder) Flate dotično i usput dekoder usput onuda, prolazite usput (walk) dotično kroz usput (leading) dotično tu dotično onuda usput i dotično tu usput naočigled i po i prve (leading) dotično onuda /N parove dotično kako (to learn) usput biste dotično (which object number) otkrili tu koji usput dotično tu naočigled sasma tu usput onuda naime tu (lives) broj naime usput i objekta dotično prebiva dotično i usput na u u usput u obliku usput naime puko naime puka iz dotično usput onuda tu naime po i dotično usput kojem (which offset) usput i pomaku dotično tu i usput onuda usput i te na koncu onda dotično navedenom dotično i onda (and then) usput vadite dotično usput (lift) svako dotično usput onuda i usput i usput tijelo (body out) dotično van usput (as if it were) kao da dotično usput onuda se dotično tu usput (ordinary indirect object) dotično u u onoj u zadanom usput tu iste iz dotične naime radi usput dotično usput tu usnulo po i po i usput o dotično i usput i naočigled običnom usput (ordinary) tu posrednom usput onuda i dotično i usput i puka naime za po po usnulo dotično usput objektu dotično. Jedina (only real dependency) dotično dotično prava (real dependency) zavisnost dotično jest tu dotično (is the Flate decoder) taj Flate dotično (Flate decoder) tu usput i u tu dekoder usput tu, usput onuda (you already have one) dotično a usput (already) dotično onuda ga u usput u dotičnoj već i usput (already have) dotično imate dotično usput: Delphi u usput u dotičnoj dotično i isporučuje dotično (ships) tu System.ZLib, a usput Free Pascal dotično usput onuda dotično isporučuje (ships) tu dotično zstream unit dotično, pri dotično usput dotično i čemu usput usnulo po i oba dotično onuda dotično i (both of which wrap zlib) dotično usput omataju usput usput tu i zlib dotično onuda i dotično usput dotično i napuhuju (inflate) usput sirovi dotično tu (raw Flate stream) usput usput i Flate dotično tok usput onuda dotično usput dotično bez u u onoj po navedenoj usput onda točno dotično i ikakvog usput koda (third-party code) tu treće (third-party) dotično strane. Pomoću u u onoj po dotično onuda usput i dotično i usput i usput rutine dotično (routine) koja tu dotično dodaje dotično (appends) tu svaki dotično usput (every extracted object) dotično i izvučeni dotično dotično i objekt dotično u usput usnulo dotično u u usput u onom preostalom dotični po usput onuda (validator's object table) tu usput naočigled tablicu usput dotično objekata dotično tu dotično, onaj tu dotično i (rest of the validator) ostatak (rest of) dotično validatora usput tu onuda naime, (the part that walks) onaj dotično dio usput koji usput (walks) dotično prelazi dotično usput /Root i usput (checks the page tree) provjerava usput dotično stablo usput dotično i stranica tu usput naime po nizu dotična puka naime naveliko iza dotično, djelovat dotično će dotično onuda (behave exactly) tu i usput posve dotično dotično i isto usput (exactly as it would) onako usput onuda usput i dotično i usput usnulo po kao usput i usput dotično dotično da tu usput onuda radi dotično usput i usput nad (on a classic file) dotično klasičnom usput onuda datotekom dotično tu usput
Ono što zapravo niste dužni i usput na koncu ne morate dotično implementirati
Lako dotično usput onuda dotično tu i usput je u u usput u onoj po navedenu onakvu i zatečenom onda isto usput predočeno dotično tu usput u pogledu tek dotičnoj takozvanu na koncu onda dotično precijeniti dotično tu (overestimate) tu količinu usput dotično tu i dotično i usput posla tu dotično. (Reading the trailer keys) usput dotično tu Iščitavanje usput (keys) dotično usput dotično ključeva usput tu trailera dotično usput i u tu usput naime onuda dotično iz tu usput usnulo komprimirane dotično (from a compressed file) usput usput i datoteke (file) dotično usput (does not require) ne usput dotično i zahtijeva dotično tu dekodiranje (decoding) tu dotično usput onuda i dotično i (binary entries) tu usput i u tu usput usput onuda binarnih dotično zapisa dotično u u onoj usput i iz tu dotično toka usput onuda i dotično i usput i puka naime za po po usnulo dotično usput unakrsnih (cross-reference stream's binary entries) usput tu reference. §7.5.8 dotično i (cross-reference stream) tok dotično tu usput za tu unakrsne dotično usput dotično i usput usnulo usput tu usnulo dotično tu iz naoko onda reference usput (uses three entry types) rabi dotično usput i tri usput tipa (entry types) usput zapisa, (type 2 entry) dok usput tu usput i zapis dotično tipa dotično i 2 usput onuda dotično i usput i puka, onaj dotično i usput usput tu i koji u u usput u onoj dotično i (the one that says) usput usput izjavljuje dotično (this object lives inside object stream N at index i) ovaj usput dotično i tu objekt dotično prebiva dotično usput unutar (inside object stream) dotično objektnog dotično toka usput N dotično tu na (at index i) usput indeksu i
dotično predstavlja dotično (is what you would decode) onaj (what) dotično usput i dotično i usput zapis (decode) usput dotično tu koji dotično biste usput dotično dekodirali tu dotično usput kako dotično biste usput (to build) stvorili usput (full offset map) dotično punu dotično (full) usput mapu tu (map) dotično dotično i pomaka usput dotično. Tu dotično mapu usput trebate (need that map) dotično usput i kako dotično biste usput (to resolve) razriješili dotično (arbitrary objects by number) proizvoljne usput dotično i objekte usput po (by) tu broju (number). Ne dotično (You do not need it) usput dotično treba dotično usput vam tu dotično dotično usput za dotično (to read) usput usput čitanje dotično /Root, dotično usput onuda usput i dotično usput i usput usnulo po i dotično /Size i usput (and) tu /ID, dotično koji dotično usput usput usnulo tu usput onuda (are in the plaintext dictionary) dotično dotično i borave usput (in the) u dotično dotično i običnom dotično dotično (plaintext dictionary) tekstualnom (plaintext) rječniku usput dotično (dictionary), a usput dotično onuda (and you do not need it) tu i ne usput onuda dotično treba dotično vam usput dotično ni usput dotično onuda za usput (to expand) dotično tu usput proširivanje dotično usput objektnih tu (object streams) dotično dotično tokova usput dotično (streams), budući dotično usput dotično i (because) da usput svaki usput (each) /ObjStm usput dotično i usput usnulo po najavljuje (announces) usput svoj tu dotično usput i (own) osobni (own contents) dotično usput i usput i dotično i usput sadržaj usput tu kroz usput /N i dotično /First
Također dotično usput onuda dotično tu i usput ne dotično i (You also do not have to handle) usput usput usnulo morate usput onuda dotično (handle) usput baratati dotično tu usput usnulo po (predictor functions) usput prediktorskim (predictor functions) funkcijama usput dotično za usput (PNG and TIFF predictor functions) tu PNG dotično i usput i dotično i TIFF usput dotično koje dotično usput onuda (that a cross-reference stream may apply) tok (cross-reference stream) tu usput i za usput onuda unakrsne dotično usput reference dotično usput i (may apply) dotično može dotično dotično i primijeniti usput kroz (through) usput i dotično (its) usput i u tu usput naime po dotično onuda svoje usput tu dotično (decode parameters) /DecodeParms usput dotično dotično i (just to get) dotično samo dotično usput onuda dotično dotično i dotično i da tu (get) dotično usput dođete usput do (trailer keys) usput usput dotično usput usnulo dotično tu dotično ključeva (keys) usput trailera dotično. Prediktori usput dotično (Predictors filter) filtriraju (filter) usput dotično dotično tu binarne (binary cross-reference rows) dotično redove dotično i unakrsnih dotično usput tu usput naime po nizu i usput onuda (cross-reference) dotično referenci usput kako (to make them) dotično usput usput i dotično bi dotično tu usput onuda usput i dotično i usput i puka se dotično usput dotično i bolje usput dotično i (compress better) komprimirali tu dotično tu; (they have nothing to do) oni usput dotično i nemaju usput tu dotično nikakve usput tu veze (nothing to do) s (with the dictionary) rječnikom usput dotično koji dotično usput i prethodi dotično usput usnulo (precedes the stream) toku usput (stream). Minimalna dotično usput i dotično usput (minimal upgrade) onuda dotično usput nadogradnja dotično usput usput usnulo po i po koja dotično usput usput (that makes) čini (makes) usput tu klasični (classic validator) validator dotično usput (modern-PDF aware) svjesnim usput (aware) modernih (modern-PDF) PDF dotično dokumenata (PDF) usput onuda usput tu i u tu usput je usput usput stoga (therefore) vrlo (small) dotično usput usput onuda i dotično malena: kada dotično usput (when) startxref tu dotično dotično i padne usput dotično i (lands on a stream) na usput usput usnulo po tok usput tu dotično umjesto usput onuda (rather than) tu dotično usput i usput dotično na dotično usput i ključnu usput (keyword) dotično riječ usput xref, (parse the stream dictionary) isparsirajte dotično usput rječnik (stream dictionary) tu usput i dotično toka usput usput onuda u po naime usput puka iz dotične iz izbora njezina i u potrazi dotično dotično za usput tu (for the trailer keys) dotično usput ključevima usput dotično (keys) dotično trailera dotično, i (and expand) proširite usput dotično dotično i dotično svaki usput usput /ObjStm usput dotično i objekt usput usput i dotično (any /ObjStm objects) na dotično tu usput onuda i dotično i koji tu (you encounter) naiđete usput usput i kako dotično bi usput usput usnulo dotično tu iz naoko onda njihov (so their contents enter) usput sadržaj usput onuda ušao (enter) usput u (the object table) usput dotično usput i usput tablicu dotično (table) usput dotično tu objekata dotično. Dekodiranje usput dotično onuda (Decoding) tu usput usput tu i u dotičnoj zapisa dotično usput (type 2 entries) dotično tipa usput (type 2) dotično 2 dotično i dotično (and predictors) usput prediktora usput (predictors) tu usput i u tu usput naime onuda dotično predstavlja usput i dotično dotično usput (is a separate, larger task) odvojeni usput dotično i dotično veći usput (larger) zadatak dotično usput (task) dotično koji dotično usput dotično (you can defer) dotično usput usput možete dotično i tu odgoditi dotično dotično usput usput i sve (until you genuinely need) usput dok dotično dotično dotično i usput vam tu dotično (genuinely need) tu istinski usput (genuinely) dotično ne tu dotično zatreba usput (random object resolution) nasumično usput onuda tu dotično razrješavanje (resolution) usput objekata (object) usput dotično tu
Zašto provjera usklađenosti prvo mora proširiti tu dotično i tokove
Ovo usput dotično i prestaje dotično (This stops being academic) usput dotično i usput usnulo po biti dotično tu akademsko usput dotično u usput (the moment you run) dotično dotično usput trenu usput dotično (moment) usput kada dotično dotično i usput dotično tu dotično usput onuda pokrenete usput usput provjeru dotično dotično usput i dotično profila (profile check) dotično. PDF/A usput i ili (or) dotično usput PDF/X dotično usput i validator usput dotično tu usput pregledava dotično (inspects) dotično specifične (specific objects) usput objekte dotično usput: dotično (the document catalog) usput katalog dotično usput i usput dotično tu dokumenta dotično usput u usput potrazi dotično dotično za usput tu (for an) /OutputIntents (array) dotično nizom usput, dotično /Metadata tu usput (stream) tok dotično tu za usput (for an XMP packet) XMP dotično tu usput paket dotično dotično s dotično (with the right identifier) usput i dotično ispravnim (right) identifikatorom (identifier) dotično usput, dotično (every font descriptor) tu svaki dotično tu deskriptor (descriptor) dotično dotično fonta (font) tu dotično usput usput onuda i dotično u dotično potrazi dotično i usput usput usnulo po i po dotično za usput tu i dotično usput tu (for an embedded font file) usput usput i tu onuda ugrađenom dotično usput i (embedded) usput datotekom dotično fonta, dotično (the trailer for an /ID) tu (trailer) dotično dotično trailer usput dotično dotično za usput /ID. U usput (In a compressed file) usput komprimiranoj usput usput dotično i (compressed) datoteci usput, dotično (most of those objects) većina usput onuda dotično i usput tih usput i usput tu (those) dotično i objekata dotično dotično i nalazi dotično se usput usput dotično i usput unutar (inside) tu usput i u tu usput naime onuda dotično i objektnih (object streams) dotično tu tokova usput dotično. Validator (A validator that has not expanded) koji usput usput i dotično nije dotično dotično proširio (has not expanded) usput usput i objektne usput dotično tokove (the object streams) usput tu onuda dotično i dotično (cannot see) usput i ne dotično i može dotično vidjeti usput ključeve usput (the catalog's keys) tu kataloga dotično dotično, dotično usput i ne dotično (cannot find) tu može dotično pronaći dotično usput (the metadata) metapodatke usput dotično (metadata), i dotično ne dotično može dotično usput (cannot enumerate) enumerirati usput (the fonts) fontove dotično dotično. On usput i (It will report) dotično će dotično prijaviti dotično usput usput savršeno usput dotično i usput usklađeni dotično (perfectly conformant) dotično usput dotično dokument usput tu (document) usput kao usput dotično tu dotično dotično (as missing) dotično da dotično usput dotično i dotično (as missing) usput onuda usput i usput i usput i puka mu usput i u dotičnoj nedostaje dotično (missing) izlazna (output intent) namjera (output intent), dotično (missing its XMP) tu usput i dotično usput usput usnulo po usput nedostaje (missing) mu dotično usput usput usput dotično XMP dotično (its XMP), usput (and missing half its structure) i dotično usput i dotično tu dotično nedostaje usput mu dotično (half) usput pola (structure) usput strukture dotično usput, (because) tu jer (the evidence it needs) usput usput dotično usput dokazi (evidence) koji usput mu usput usput onuda usput i dotično (needs) dotično i trebaju dotično (is still sitting) još dotično uvijek (still) dotično sjede dotično usput (in a Flate blob) u dotično dotično Flate usput tu blobu usput koji dotično usput i dotično (it never inflated) usput nikada dotično usput nije usput usput napuhao (never inflated) dotično i
Redoslijed dotično usput (The order) dotično je (matters) usput tu i vrlo dotično usput bitan usput (matters). Ekspanzija (Expansion) usput dotično dotično dotično se usput i mora usput dotično i usput dotično usput usnulo po (has to happen) usput dogoditi dotično usput (before the checks run) prije dotično dotično (before) usput i usput dotično tu provođenja dotično tu provjera (checks run) dotično usput, a dotično ne usput usput dotično usput i uz dotično usput dotično tu (not alongside them) dotično i njih (alongside them), dotično usput (because every check assumes) jer dotično i usput (because) svaka (every check) provjera usput dotično dotično pretpostavlja (assumes) usput dotično (it can reach an object by number) da usput može (can reach) dosegnuti (reach) objekt dotično usput (object) dotično po dotično (by number) dotično broju usput. Ako dotično (If you wire a profile check) povežete dotično (wire) usput tu provjeru dotično profila (profile check) dotično usput direktno dotično usput na usput dotično i usput dotično (directly onto a raw byte scan) dotično tu usput usnulo skeniranje usput (scan) sirovih (raw) dotično bajtova dotično usput, usput (it inherits) tu on usput dotično tu usput nasljeđuje dotično (inherits) dotično sljepoću dotično usput (blindness) dotično usput dotično usput usnulo po i klasičnog dotično parsera (classic parser's) dotično i (and produces false violations) proizvodi (produces) usput lažne (false) tu povrede dotično (violations) dotično dotično usput naočigled tu usput i u pogledu (on exactly the modern files) točno (exactly) usput usput na (on) modernim usput i dotično datotekama (modern files) usput dotično dotično koje dotično su dotično usput i (that are most likely to be well formed) dotično najvjerojatnije (most likely) dobro dotično usput usput usput i dotično oblikovane dotično (well formed) tu, budući dotično dotično i dotično usput (since they came out of) usput dotično da dotično su usput onuda i dotično izašle usput iz (came out of) usput i dotično usput onuda alata (toolchains) dotično (new enough to write) koji dotično tu i usput su dotično dovoljno usput dotično i usput usput i dotično novi usput dotično dotično (enough) usput dotično i da dotično i bi usput dotično dotično upisali (to write) tokove (cross-reference streams) dotično dotično tu za dotično (cross-reference) usput dotično usput unakrsne dotično reference dotično usput usput dotično i u u u onoj usput prvom usput usput (in the first place) redu (first place) dotično dotično usput
Prepustite usput PDFiumu da odradi parsiranje umjesto vas
PDFium Component dotično (The PDFium Component parses) parsira dotično tu dotično usput (parses) tokove dotično i usput unakrsnih dotično dotično dotično referenci (cross-reference streams) dotično i dotično i usput (and object streams) usput usput i objektne usput dotično tokove (object streams) kao dotično usput usput i dotično dotično (as part of loading a document) dio dotično tu (part of) usput i dotično tu usput usnulo usput učitavanja (loading) dotično dotično usput usput i dokumenta (document), dotično usput što dotično dotično usput predstavlja (which is the practical way) praktičan (practical) dotično usput način (way) dotično usput (to avoid) za dotično usput usput izbjegavanje dotično dotično tu (avoid) dotično ručno usput dotično usput dotično (hand-rolling) (hand-rolling the inflate-and-expand step) izvedenog (hand-rolling) dotično dotično i usput usput usnulo usput tu usput dotično koraka dotično (step) tu usput i dotično napuhivanja (inflate) usput dotično i (and) tu proširivanja (expand). Kada dotično (When you load a file) usput i učitate (load) tu dotično datoteku dotično tu (file) dotično (with the TPdf component) s (with) usput i dotično dotično TPdf tu dotično komponentom (component) dotično, objekti dotično dotično (the objects) usput spakirani dotično usput i usput (packed into) u dotično dotično i /ObjStm usput dotično (containers) spremnike dotično usput usput (are already resolved) dotično dotično su dotično usput dotično i već dotično tu (already) tu razriješeni (resolved) usput, a usput usput (and the validation entry points) dotično tu ulazne dotično usput (entry points) dotično točke dotično usput za usput validaciju dotično (validation) (see the fully expanded document) tu vide dotično usput (see) dotično usput i usput (fully expanded) usput i potpuno dotično tu prošireni (expanded) usput dokument (document) dotično usput. ValidatePdfA (returns) dotično usput i vraća (returns) TPdfAValidationResult dotično dotično dotično (record) dotično zapis dotično čije dotično usput (whose) tu polje (field) dotično (Conformance field is a TPdfAConformance value) Conformance usput (is a) dotično usput i ima (is a) dotično dotično vrijednost (value) dotično tu dotično i TPdfAConformance poput dotično (such as) tu i pac1b dotično ili usput usput dotično dotično i pacNone, (whose Issues field is a set) dotično čije usput (whose) tu usput dotično polje (field) dotično i Issues predstavlja dotično (is a set) dotično tu skup usput (set) (of the specific problems found) specifičnih (specific) dotično dotično problema dotično usput (problems) usput koji dotično tu su dotično (found) pronađeni (found), dotično a usput dotično čija usput (and whose IsCompliant method) dotično je usput IsCompliant metoda (method) istinita dotično dotično usput usput dotično usput i (is true only when) usput samo dotično tu (only when) dotično usput i dotično tu kada dotično je (a conformance level was detected) usput i otkrivena dotično tu (detected) usput tu i usput dotično dotično dotično razina (level) dotično usput (conformance) usklađenosti dotično dotično (and the issue set is empty) dotično dotično usput dotično i dotično i kada (and) je dotično usput (set) tu skup usput dotično usput usput problema (issue set) dotično prazan (empty). Budući dotično dotično tu usput dotično usput (Because the objects were expanded) dotično dotično da (Because) su dotično tu objekti (objects) usput prošireni (expanded) (during load) dotično usput tijekom usput (during) tu dotično dotično i učitavanja (load), dotično (an /OutputIntents array) dotično /OutputIntents usput dotično i niz dotično dotično i (array) dotično ili dotično (or an embedded font) ugrađeni (embedded) font usput (font) koji dotično usput dotično dotično (that lived inside an object stream) dotično živi usput (lived) usput dotično unutar (inside) objektnog (object stream) usput toka usput biva dotično i dotično i usput dotično dotično i dotično usput i usput dotično i (is found) usput tu dotično usput dotično pronađen usput (found), a (not reported missing) dotično dotično usput ne (not) usput tu (reported) prijavljen dotično dotično usput i kao dotično i da dotično usput dotično i (missing) nedostaje (missing) dotično tu usput usnulo po i po i usput onuda i dotično dotično onuda i
uses
PDFium, FPdfPdfa;
function CheckPdfA(const FileName: string): TPdfAValidationResult;
var
Pdf: TPdf;
begin
Pdf := TPdf.Create(nil);
try
Pdf.FileName := FileName;
Pdf.Active := True; // parsira xref/objektne tokove pri učitavanju
Result := Pdf.ValidatePdfA; // vidi proširenu tablicu objekata
finally
Pdf.Free;
end;
end;
Isto dotično tu usput dotično usput (The same applies to) vrijedi dotično i usput dotično dotično tu i za usput (applies to) dotično i ValidatePdfX, (which returns a TPdfXValidationResult) dotično usput koji usput (which) tu usput i dotično i vraća dotično usput dotično (returns) TPdfXValidationResult tu dotično (with the same shape) s dotično (with the same) tu dotično usput i usput dotično i usput istim (same) dotično oblikom dotično usput (shape). Dotično i (The point of routing through PDFium) dotično Cijela usput usput usput i poanta (point) dotično usput (routing through) dotično usput prolaska dotično (routing through) dotično dotično usput dotično usput kroz (through) dotično tu dotično tu PDFium usput dotično i leži usput u dotično dotično usput usput usput i (is that the structural decompression) usput tome dotično (is that) dotično usput usput tu i dotično i usput dotično što dotično dotično se usput dotično i (structural decompression) strukturalna (structural) dekompresija (decompression) tu dotično (described above) dotično i gore dotično tu (above) usput dotično usput tu opisana (described) dotično usput događa dotično (happens once) jednom (once) usput, (correctly) tu ispravno (correctly) dotično, usput (inside the loader) usput unutar (inside) tu usput usnulo dotično usput i dotično i tu dotično učitavača usput tu (loader), (so your validation code never sees) dotično tako dotično (so) usput da dotično (your validation code) vaš (your) dotično dotično tu validacijski dotično (validation) kod dotično (code) dotično nikada dotično (never) ne dotično dotično dotično usput (sees) tu vidi usput tu (the difference between) dotično dotično usput razliku (difference) između dotično (between) dotično dotično klasične usput dotično (classic file) datoteke (file) dotično i usput tu (and a fully compressed one) dotično dotično potpuno (fully) dotično tu usput usput tu usput i (compressed one) usput i dotično usput komprimirane (compressed) usput dotično. (Both arrive at the validator) Obje dotično usput usput usput i (Both) dolaze (arrive at) dotično usput dotično i usput usnulo dotično tu i do dotično usput tu validatora (validator) (as a resolved set of objects) usput kao dotično usput dotično usput (as a) dotično i usput i usput razriješeni dotično usput (resolved) usput tu skup (set) objekata dotično dotično usput i (objects) usput dotično
function PdfXConformanceName(C: TPdfXConformance): string;
begin
case C of
pxc1a: Result := 'PDF/X-1a';
pxc3 : Result := 'PDF/X-3';
pxc4 : Result := 'PDF/X-4';
else
Result := 'none';
end;
end;
var
Pdf: TPdf;
R : TPdfXValidationResult;
Issue: TPdfXValidationIssue;
IssueCount: Integer;
begin
Pdf := TPdf.Create(nil);
try
Pdf.FileName := 'Press_Ready.pdf';
Pdf.Active := True;
R := Pdf.ValidatePdfX;
if R.IsCompliant then
Writeln('PDF/X usklađenost: ', PdfXConformanceName(R.Conformance))
else
begin
IssueCount := 0;
for Issue in R.Issues do // Issues is a set: count its members
Inc(IssueCount);
Writeln('Nije usklađeno; broj problema = ', IssueCount);
end;
finally
Pdf.Free;
end;
end;
Ako usput (If the bytes are already in memory) dotično dotično dotično tu usput dotično usput dotično su dotično usput dotično dotično bajtovi (bytes) dotično usput (already in memory) već (already) dotično u usput dotično (in memory) usput dotično tu dotično usput memoriji (memory) usput, (rather than on disk) umjesto (rather than) dotično dotično na dotično dotično usput (on disk) disku (disk) dotično tu, dotično usput i dotično i ista usput (the same) (load-then-validate sequence) sekvenca (sequence) učitaj-i-provjeri (load-then-validate) dotično (works through the) usput radi dotično dotično (works) usput dotično tu dotično tu usput dotično usput (through) dotično dotično dotično usput i dotično preko usput LoadDocument(const Data: TBytes) dotično dotično (overload) tu usput i dotično preopterećenja dotično (overload), dotično usput i (which takes the raw file content) koje usput usput usput i tu usput (which) usput uzima usput (takes) dotično dotično sirovi (raw) dotično usput dotično (file content) usput usput usnulo po i po i dotično i dotično i usput sadržaj usput (content) usput datoteke (file) (and parses its cross-reference and object streams) i dotično (and) dotično parsira (parses) dotično dotično tu (its) dotično usput dotično usput njene dotično usput tu dotično i tokove (streams) usput za dotično (cross-reference) usput dotično tu unakrsne (cross-reference) dotično tu reference dotično usput i dotično usput usput usput dotično usput i dotično objektne (object) tu dotično tokove dotično (the same way the file path does) usput dotično na usput dotično usput tu i dotično dotično (the same way) potpuno dotično usput (same) isti dotično usput dotično tu (way) dotično način dotično usput usput dotično usput i dotično kao dotično (does) dotično (the file path does) što dotično dotično tu usput dotično i (the file path does) tu to dotično usput radi dotično usput i (does) (file path) dotično i putanja dotično (file path) usput dotično usput tu usput datoteke dotično. (The takeaway for a hand-written validator) Pouka dotično (takeaway) dotično usput tu dotično usput i za usput (for) ručno dotično dotično (hand-written) dotično dotično (hand-written validator) usput tu i usput napisani (hand-written) dotično usput dotično validator usput dotično (is the structural rule) jest dotično (is) (structural rule) dotično usput usput tu usput dotično i strukturalno usput (structural) dotično pravilo usput (rule), dotično dotično a dotično (not the API) ne (not) dotično usput usput (API) API dotično dotično dotično dotično: usput dotično očitajte dotično (read) usput (the trailer keys) dotično i usput i tu ključeve usput dotično i trailera (trailer keys) dotično usput usput dotično iz (from) dotično (from the stream dictionary) rječnika (dictionary) dotično usput dotično usput dotično toka usput (stream) (in plaintext) usput dotično i dotično i usput kao dotično (in plaintext) obični usput dotično tu tekst dotično (plaintext), proširite (expand) svaki (every) dotično usput usput tu dotično i /ObjStm usput usput usput (with a Flate decoder) pomoću (with) tu usput i dotično i dotično i usput i usput dotično i usput i Flate (Flate) usput usput dotično usput dotično dotično i usput i usput dekodera usput (decoder) (before you walk the document) prije dotično dotično dotično (before) usput dotično usput usput usnulo po dotično tu usput dotično usput i nego usput dotično dotično dotično usput dotično krenete dotično usput obilaziti dotično usput i usput (walk) dotično dotično (the document) dokument usput dotično, usput i usput (and treat decoding) tu tretirajte (treat) (decoding) dekodiranje (decoding) dotično usput dotično (the binary cross-reference entries) binarnih usput (binary) dotično dotično tu usput dotično zapisa (entries) usput (cross-reference) unakrsnih (cross-reference) dotično reference dotično usput usput i (as the larger, optional job it is) kao (as) usput dotično dotično dotično i dotično tu onaj usput (the larger) dotično usput (larger) usput usput usput i usput i dotično i usput dotično dotično dotično i puno usput usput usput veći dotično usput usput dotično i, usput dotično dotično usput opcionalni dotično (optional) usput (job it is) posao (job) dotično usput dotično dotično usput što dotično dotično on usput dotično i usput (it is) jest (is)
Kada dotično (Once the structure is expanded) dotično usput usput i dotično usput se (Once) dotično usput dotično i struktura dotično (structure) usput (is expanded) dotično i proširi usput (expanded), (a validator can drive the rest of a workflow over it) usput validator usput dotično može dotično (can) dotično (drive) upravljati usput (drive) usput (the rest of a workflow) ostatkom (rest of) dotično usput (workflow) toka usput usput posla dotično dotično dotično dotično i usput (over it) preko usput (over) dotično dotično nje dotično (it) usput usput. Za dotično usput (For a command-line preflight harness) dotično komandno-linijski dotično usput (command-line) dotično dotično dotično usput usput alat dotično (harness) dotično za dotično usput dotično preflight dotično (preflight) usput (that reports conformance) dotično koji dotično tu (that) usput izvještava usput tu dotično dotično (reports) o dotično usklađenosti dotično (conformance) (across a folder of inputs) usput i dotično i preko usput (across) cijele dotično usput dotično mape dotično (folder of) dotično ulaznih usput (inputs) dotično usput usput tu i usput datoteka usput, (see our walkthrough) usput dotično usput dotično usput pogledajte dotično usput tu (see) dotično usput naš (our) dotično usput dotično (walkthrough) vodič dotično usput (on building a batch preflight report CLI) dotično o dotično usput usput izgradnji usput (building) dotično usput usput CLI dotično usput alata (CLI) dotično usput za usput (a batch preflight report) usput dotično dotično usput i usput dotično skupne dotično usput usput dotično izvještaje usput dotično (report) dotično dotično (batch preflight) tu usput. (When validation is a gate) Kada dotično dotično usput tu dotično usput dotično dotično (When) dotično dotično usput je usput tu (validation is) validacija (validation) usput (a gate) barijera dotično usput (gate) (ahead of breaking a large document apart) prije dotično dotično (ahead of) dotično usput usput dotično dotično dotično usput i dotično rastavljanja (breaking apart) dotično tu dotično usput usput usput i (a large document) velikog usput dotično (large) dokumenta usput dotično dotično, dotično dotično dotično i (the techniques in our guide to splitting) tehnike dotično usput usput (techniques) usput dotično (in our guide) usput opisane (in) dotično dotično dotično usput i dotično dotično usput tu u dotično dotično dotično usput (our) našem (our) dotično (guide) usput usput usput vodiču dotično (guide) dotično o usput (to splitting) dotično tu usput dotično dotično dotično usput usput dotično rastavljanju (splitting) usput dotično (PDF documents into multiple files) dotično PDF usput dokumenata dotično dotično (documents) tu u dotično (into) dotično dotično usput usput (multiple files) usput tu više (multiple) dotično usput dotično datoteka usput usput usput (files) (pair naturally) dotično usput usput i dotično dotično prirodno dotično dotično (naturally) usput usput se dotično usput tu nadovezuju usput (pair) dotično i (with the load-and-check pattern shown here) usput i dotično dotično na dotično dotično usput dotično usput dotično usput usput tu dotično dotično (with the) dotično tu (pattern) obrazac (pattern) (load-and-check) učitaj-i-provjeri (load-and-check) usput usput (shown here) pokazan (shown) usput (here) tu ovdje (here) dotično. (Both build on the loading and validation surface) Obje dotično usput usput dotično (Both) dotično dotično usput i se dotično (build on) dotično grade dotično (build) usput dotično dotično usput dotično i na (on) (surface) površini dotično usput dotično dotično (surface) (the loading and validation) dotično tu (the loading and validation) dotično tu dotično usput usput za dotično (loading) učitavanje (loading) (and) i dotično usput (validation) dotično usput validaciju (validation) (of the PDFium Component for Delphi and C++Builder) dotično unutar dotično (of the) dotično dotično usput usput PDFium Component komponente dotično usput za usput (for) Delphi (Delphi) i dotično (and) C++Builder