PDF File Format - Ano ang isang PDF file?
Ang Portable Document Format (PDF) ay isang uri ng dokumentong nilikha ng Adobe noong 1990s. Ang layunin ng format ng file na ito ay upang ipakilala ang isang pamantayan para sa representasyon ng mga dokumento at iba pang reference na materyal sa isang format na independiyente sa software ng application, hardware pati na rin ang Operating System. Ang format ng PDF file ay may ganap na kakayahang maglaman ng impormasyon tulad ng teksto, mga larawan, mga hyperlink, mga form-field, rich media, mga digital na lagda, mga attachment, metadata, mga tampok na Geospatial at mga 3D na bagay sa loob nito na maaaring maging bahagi ng pinagmulang dokumento.
Sa karamihan ng mga kaso, ang mga kasalukuyang dokumento ay na-convert sa PDF sa halip na lumikha ng bagong PDF mula sa simula. Ngunit hindi iyon nangangahulugan na walang software para sa paglikha o pagmamanipula ng mga PDF file.
(Kailangang magbahagi ng isang bagay tungkol sa format ng PDF file? Maaari mong i-post ang iyong mga natuklasan sa PDF File Format News na seksyon.)
PDF File Format - Maikling Kasaysayan
Ang isang mabilis na pagsusuri sa timeline tungkol sa PDF file format sa mga tuntunin ng timeline ay ang sumusunod:
1993 - Ginawang available ng Adobe Systems ang mga detalye ng PDF nang walang bayad
2008 - Ang PDF ay inilabas bilang bukas na pamantayan noong Hulyo 1, 2008 at inilathala ng International Organization for Standardization bilang ISO 32000-1:2008.
2008 - Nag-publish ang Adobe ng Public Patent License sa ISO 32000-1 na format na walang royalty na mga karapatan para sa lahat ng mga patent na pagmamay-ari ng Adobe na kinakailangan para gumawa, gumamit, magbenta at mamahagi ng mga pagpapatupad na sumusunod sa PDF.
Ang unang bersyon ng PDF na itinalaga bilang PDF 1.0 na kalaunan ay dumaan sa mga pagbabago hanggang sa PDF 1.7. Ang PDF 1.7, na naging ISO 32000-1, ay kinabibilangan ng ilang hindi pamantayang pagmamay-ari na teknolohiya pati na rin ang Adobe XML Forms Architecture (XFA) at JavaScript extension para sa Acrobat. Noong Hulyo 28, 2017 nang na-publish ang PDF 2.0, na kilala bilang ISO 32000-2:2017 na walang kasamang anumang hindi standardized na teknolohiya.
Mga Detalye ng Format ng PDF File
Ang PDF file ay isang hanay ng mga byte na maaaring ipangkat sa mga token ayon sa mga panuntunan sa syntax na tinukoy ng mga detalye ng PDF. Minsan o higit pang mga token ay pinagsama-sama upang bumuo ng mas mataas na antas ng syntactic na entity, pangunahin ang mga object, na kung saan ay ang mga pangunahing halaga ng data kung saan ang isang PDF na dokumento ay binuo.
Istraktura ng File ng mga PDF File
Ang mga nilalaman ng PDF file ay nakaayos sa sumusunod na pagkakasunud-sunod sa loob ng file.
|Header |Body |Cross-Reference Table |Trailer
PDF File Header
Anuman ang bersyon ng PDF, nagsisimula ang isang PDF file sa isang header na naglalaman ng natatanging identifier para sa PDF at ang bersyon ng format tulad ng %PDF-1.x kung saan ang x ay mula 1-7.
File Body
Ang katawan ng isang PDF file ay binubuo ng isang sequence ng hindi direktang mga bagay na kumakatawan sa mga nilalaman ng isang dokumento. Ang mga bagay, tulad ng inilarawan sa itaas, ay kumakatawan sa mga bahagi ng dokumento tulad ng mga font, pahina at mga sample na larawan. Simula sa PDF 1.5, ang katawan ay maaari ding maglaman ng mga stream ng object, na ang bawat isa ay naglalaman ng pagkakasunod-sunod ng mga hindi direktang bagay.
Talahanayan ng Cross-Reference
Ang talahanayan ng cross-reference ay naglalaman ng impormasyon na nagbibigay-daan sa random na pag-access sa mga hindi direktang bagay sa loob ng file upang ang buong file ay hindi kailangang basahin upang mahanap ang anumang partikular na bagay. Ang talahanayan ay dapat maglaman ng isang linyang entry para sa bawat hindi direktang bagay, na tumutukoy sa byte offset ng bagay na iyon sa loob ng katawan ng file. (Simula sa PDF 1.5, ang ilan o lahat ng cross-reference na impormasyon ay maaaring isama sa mga cross-reference na stream.
File Trailer
Ang trailer ng isang PDF file ay nagbibigay-daan sa isang sumusunod na mambabasa na mabilis na mahanap ang cross-reference na talahanayan at ilang mga espesyal na bagay. Ang mga sumusunod na mambabasa ay dapat magbasa ng isang PDF file mula sa dulo nito. Ang huling linya ng file ay dapat maglaman lamang ng end-of-file marker, %%EOF. Ang dalawang naunang linya ay dapat maglaman, isa sa bawat linya at sa pagkakasunud-sunod, ang keyword na startxref at ang byte na offset sa decoded stream mula sa simula ng file hanggang sa simula ng xref na keyword sa huling cross-reference na seksyon.
Mga Bagay na PDF
Kasama sa isang PDF file ang ilang iba’t ibang uri ng mga bagay na may mga sumusunod na uri
- Boolean values - kumakatawan sa conditional true o false
- Mga Numero - Integer at Real value
- Strings - naglalaman ng mga character sa loob ng panaklong
- Mga Pangalan - magsimula sa isang forward / character hal. /ASomewhatLongerName resulta sa ASomewhatLongerName
- Mga Array - Sinusuportahan ng PDF ang isang dimensional na array. Ang mga array ng mas matataas na dimensyon ay maaaring gawin sa pamamagitan ng paggamit ng mga array bilang mga nested na elemento
- Mga Diksyonaryo - koleksyon ng mga bagay bilang mga pares ng key-value. Maaari itong magkaroon ng zero entry.
- Stream - kumakatawan sa pagkakasunud-sunod ng mga byte na maaaring walang limitasyong haba rin
- Null Object - kumakatawan sa isang null na halaga
Maaaring may iba pang mga bagay tulad ng mga komento na ipinakilala sa % sign at maaaring naglalaman ng 8-bit na mga character.
Mga Hindi Direktang Bagay
Anumang bagay sa isang PDF file ay maaaring ma-label bilang isang hindi direktang bagay. Ang mga hindi direktang bagay ay binibigyan ng natatanging object identifier kung saan maaaring sumangguni dito ang ibang mga bagay. Ang cross-referencing sa mga ito ay pinananatili sa isang index table at minarkahan ng xref keyword na sumusunod sa pangunahing katawan at nagbibigay ng byte offset ng bawat hindi direktang bagay mula sa simula ng file.
Mga Linear at Non-Linear na PDF Layout
Ang mga PDF layout ay ikinategorya bilang Llnear at non-linear depende sa target na application at iba pang mga salik.
Non-Linear - Ang mga non-linear na PDF file ay gumagamit ng mas kaunting espasyo sa disk kumpara sa mga linear na PDF file. Ang mga PDF page ng dokumento ay naninirahan sa nakakalat na anyo sa buong PDF file at iyon ang dahilan kung bakit ang mga non-linear na file ay mas mabagal kumpara sa mga linear na file.
Linear PDF - Pag-target sa mga online na PDF viewer, ang mga Linear na PDF file ay binuo sa paraang naisulat ang mga ito sa disk sa isang linear na paraan. Hindi ito nangangailangan ng mga plugin ng browser para ma-load muna ang buong dokumento bago ipakita.
Pangkalahatang-ideya ng Mga Bagay
Gaya ng nabanggit, ang PDF body ay isang koleksyon ng mga bagay na binanggit sa itaas. Ang PDF ay higit na nakabatay sa PostScript nang walang mga control feature ng programming language tulad ng if at loop commands. Ang mga utos na ibinigay ng Postscript code upang makabuo ng mga graphical na nilalaman ay kinokolekta at tokenize bilang karagdagan sa anumang mga file, graphics o font na tinukoy ng dokumento. Ang lahat ng mga nilalamang ito ay naipon sa isang solong file, na nagreresulta sa binubuo na output ng PostScript.
Teksto
Ang teksto sa PDF ay kinakatawan ng mga elemento ng teksto na aktwal na ipinapakita gamit ang mga glyph mula sa mga font. Ang glyph ay isang graphical na hugis at napapailalim sa lahat ng graphical na pagmamanipula, gaya ng coordinate transformation. Dahil sa kahalagahan ng text sa karamihan ng mga paglalarawan ng page, nagbibigay ang PDF ng mga pasilidad sa mas mataas na antas upang ilarawan, piliin, at i-render ang mga glyph nang maginhawa at mahusay.
Mga graphic
Ang mga graphic operator na ginamit sa mga stream ng nilalamang PDF ay naglalarawan sa hitsura ng mga pahina na ire-reproduce sa isang raster output device. Ang mga pasilidad ay inilaan para sa parehong mga application ng printer at display. Ang mga graphics operator ay bumubuo ng anim na pangunahing grupo:
- Ang mga operator ng estado ng graphics ay minamanipula ang istraktura ng data na tinatawag na estado ng graphic, ang pandaigdigang balangkas kung saan isinasagawa ng iba pang mga operator ng graphics. Kasama sa katayuan ng graphics ang kasalukuyang transformation matrix (CTM), na nagmamapa ng mga coordinate ng espasyo ng user na ginamit sa loob ng stream ng nilalamang PDF sa mga coordinate ng output device. Kasama rin dito ang kasalukuyang kulay, ang kasalukuyang clipping path, at marami pang ibang parameter na implicit operand ng mga painting operator.
- Tinukoy ng mga operator ng pagtatayo ng landas ang mga landas, na tumutukoy sa mga hugis, mga trajectory ng linya, at mga rehiyon ng iba’t ibang uri. Kasama sa mga ito ang mga operator para sa pagsisimula ng isang bagong landas, pagdaragdag ng mga segment ng linya at mga kurba dito, at pagsasara nito.
- Pinupunan ng mga operator ng path-painting ang isang path ng kulay, pinipintura ang isang stroke sa kahabaan nito, o ginagamit ito bilang isang clipping boundary.
- Ang ibang mga operator ng pagpipinta ay nagpinta ng ilang partikular na naglalarawan sa sarili na mga bagay na graphics. Kabilang dito ang mga naka-sample na larawan, geometrically na tinukoy na mga shade, at buong stream ng nilalaman na naglalaman naman ng mga pagkakasunud-sunod ng mga graphics operator.
- Pinipili at ipinapakita ng mga operator ng teksto ang mga glyph ng character mula sa mga font (mga paglalarawan ng mga typeface para sa kumakatawan sa mga character ng teksto). Dahil tinatrato ng PDF ang mga glyph bilang mga pangkalahatang graphical na hugis, marami sa mga text operator ay maaaring igrupo sa graphics state o mga operator ng pagpipinta. Gayunpaman, ang mga istruktura at mekanismo ng data para sa pagharap sa glyph at mga paglalarawan ng font ay sapat na dalubhasa.
- Ang mga operator na may markang nilalaman ay nag-uugnay ng mas mataas na antas ng lohikal na impormasyon sa mga bagay sa stream ng nilalaman. Ang impormasyong ito ay hindi nakakaapekto sa nai-render na hitsura ng nilalaman; ito ay kapaki-pakinabang sa mga application na gumagamit ng PDF para sa pagpapalitan ng dokumento.