PDF-tiedosto (.pdf)
ISO StandardiPortable Document Format (PDF) on laajalti käytetty digitaalisten asiakirjojen muoto, joka on suunniteltu esittämään asiakirjat yhdenmukaisesti sovellusohjelmistosta, laitteistosta ja käyttöjärjestelmästä riippumatta.
Muunna tiedostot muodosta PDF muotoon JPG
Ilmainen selaimessa toimiva muunnin, jolla voit muuntaa tiedostoja muodosta PDF muotoon JPG. Muunna tiedostot hetkessä laitteellasi.
Pakkaa PDF verkossa
Yksityisesti - tiedostot eivät koskaan poistu laitteeltasi
Tarkastele tiedostoa ja sen metatietoja
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat PDF-tiedostot tarkistamalla tiedoston alun binäärisarjan:
Otsaketunniste tavutasolla (tunnistetavut)
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat PDF-tiedostot tarkistamalla tiedoston alun binäärisarjan:
HEKSADEKSIMAALINEN TUNNISTE (SIJAINTI 0):
25 50 44 46ASCII-ESITYSTAPA: %PDF
Standardointi: ISO 32000-1 (2008) / ISO 32000-2 (2020)
Tekniset tiedot
| Säiliöarkkitehtuuri | Binaaristen ja ASCII-muotoisten objektien yhdistelmään perustuva rakenne, jossa käytetään ristiviittaustaulukkoa |
| Pakkaus | FlateDecode (Deflate), DCTDecode (JPEG), CCITT Fax, JBIG2, JPXDecode |
| Tavujärjestys (Endianness) | Big-endian (verkkotavujärjestys) binaarisissa oliovirroissa |
| Väriavaruudet | sRGB, Display P3, DeviceCMYK, Harmaasävy, Erikoisvärit (Pantone) |
| Kanavat ja rakenne | Monikerroksiset vektorit, typografia, rasterivirrat ja upotetut metatiedot |
| Suurimmat mitat | 200 x 200 tuumaa (UserUnit mahdollistaa jopa 15 000 000 tuumaa PDF 1.6+ -versiossa) |
| Läpinäkyvyys | Täysi alfaläpinäkyvyys, sekoitustilat ja peittävyysmaskit |
| Suoratoisto ja progressiivinen lataus | Linearisoitu PDF ('Fast Web View') mahdollistaa tavualueen suoratoiston HTTP Range -pyyntöjen kautta |
Tekninen vertailumatriisi: PDF vs. kilpailijat
| Tekninen attribuutti | PDF (Nykyinen) | DOCX | EPUB | HTML5 |
|---|---|---|---|---|
| Visuaalisen asettelun tarkkuus | Auttaa säilyttämään asettelun, mutta renderöinti riippuu katseluohjelmasta ja tulostuslaitteesta. | Virtauspohjainen; vaihtelee Word-versioiden ja asennettujen fonttien mukaan | Uudelleenvirtautuva lukuasettelu; ei kiinteitä typografiatakuita | Joustava CSS-laatikkomalli; näyttöriippuvainen renderöinti |
| Itsenäisyys | Fontit ja kuvat voidaan upottaa, mutta sisältö riippuu asiakirjasta ja sen luontiasetuksista. | Itsenäinen XML-säiliö (järjestelmäfontit yleensä upottamattomia) | Itsenäinen ZIP-säiliö (pakatut XHTML/CSS-resurssit) | Vaatii ulkoisia HTTP-resursseja, ellei niitä ole pakattu MHTML:n kautta |
| Kryptografiset allekirjoitukset | Natiivit PAdES- ja X.509-kryptografiset digitaaliset allekirjoitukset sisäänrakennettuna ISO-määrittelyyn | Office XML DSig -digitaaliset allekirjoitukset tuettuna | Vaatii mukautetut digitaalisen säiliön allekirjoitukset | Vaatii Web Crypto API:n tai ulkoiset TLS-siirtotakuut |
| Mobiiliresponsiivisuus | Kiinteän sivun canvas (vaatii zoomausta ja vieritystä pienillä näytöillä) | Erinomainen responsiivinen tekstin uudelleenvirtaus | Suunniteltu erityisesti sulavaan mobiililukuun | Natiivi responsiivinen asettelu CSS-medialausekkeilla |
| Standardointi | Avoin kansainvälinen standardi (ISO 32000-2:2020) | ECMA-376 / ISO/IEC 29500 | W3C / IDPF avoin standardi | W3C Living Standard / WHATWG |
Yleiset vioittumistavat ja heksadesimaalinen palautusopas
Acrobat tai PDF-katseluohjelma ilmoittaa 'Tiedosto on vahingoittunut eikä sitä voitu korjata', tai asiakirja avautuu täysin tyhjänä.
Perussyy: FTP- tai HTTP-siirto ASCII-tilassa muunsi binaariset tavujonot (korvaten arvon 0x0A arvolla 0x0D 0x0A), mikä rikkoi ristiinviittaustaulukon (xref) tavusiirtymät.
Korjaus: Modernit PDF-korjaustyökalut (esim. qpdf --repair tai File2File.app repair) skannaavat tiedoston uudelleen lineaarisesti, rakentavat oliosanakirjan uudelleen ja luovat uuden xref-taulukon.
PDF-katseluohjelma ei lataa asiakirjaa tai kaatuu viimeiselle sivulle.
Perussyy: Katkennut lataus tai keskeneräinen levylle kirjoitus, josta puuttuu '%%EOF'-tunniste ja loppuliitesanakirja.
Korjaus: Tarkasta tiedoston loppu komennolla 'tail -c 128 document.pdf'. Jos %%EOF puuttuu, tarkista, onko juuriluettelo-olio olemassa, ja lisää keinotekoinen xref-taulukko, joka osoittaa korkeimpaan kelvolliseen oliotunnisteeseen.
Upotetut fontit näkyvät lukukelvottomina symboleina, tyhjinä lohkoina (.notdef) tai kysymysmerkkeinä.
Perussyy: Upottamattomat osajoukkofontit viittaavat järjestelmäfontteihin, jotka puuttuvat katselukoneelta, tai ToUnicode CMap -taulukot ovat vioittuneet.
Korjaus: Upota puuttuvat fonttiosajoukot uudelleen Ghostscriptin avulla (gs -o fixed.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true broken.pdf) tai muunna tekstielementit vektorikäyriksi.
Tietoturva-analyysi ja tiedostojäsentimien hyökkäysvektorit
PDF tukee muun muassa aktiivisia skriptejä, upotettuja tiedostoja ja pakattuja oliovirtoja, jotka katseluohjelmien on käsiteltävä turvallisesti. Selainten PDF-katseluohjelmat voivat eristää asiakirjan käsittelyn hiekkalaatikkoon.
Tunnetut hyökkäysvektorit
- Upotettu Acrobatin JavaScript (JS API), joka suorittaa mielivaltaista koodia tai tietojenkalasteluhyökkäyksiä asiakirjan avaamisen yhteydessä.
- Käynnistystoiminnot (/Launch), jotka on konfiguroitu suorittamaan ulkoisia järjestelmän binääritiedostoja tai komentotulkkiskriptejä.
- Fonttien renderöintihaavoittuvuudet vanhentuneissa Type 1- ja TrueType-fonttien jäsennysmoottoreissa, jotka laukaisevat puskurin ylivuotoja.
- Palvelinpuolen pyyntöjen väärentäminen (SSRF) ja NTLM-tiivisteen varastaminen tunnistetietojen hankkimiseksi haitallisten URI-toimintojen (/URI) tai lomakkeen lähetysten kautta.
Tietoturvan parhaat käytännöt: Älä koskaan avaa epäluotettuja PDF-tiedostoja Adobe Acrobatissa, jos JavaScriptin suoritus on käytössä. Verkkokatselussa käytä aina selaimen hiekkalaatikossa toimivia WebAssembly/PDF.js-moottoreita tai muunna epäluotetut PDF-tiedostot puhdistetuiksi PDF/A-1b-asiakirjoiksi.
Historia ja virstanpylväät
Tärkeimmät edut
- Suunniteltu säilyttämään sivun asettelu eri järjestelmissä, vaikka ulkoasu voi vaihdella fonttien, katseluohjelman ja tulostusasetusten mukaan.
- Tukee digitaalisia kryptografisia allekirjoituksia, tietojen peittämistä ja DRM-käyttöoikeuksia.
- Voi sisältää vektorigrafiikkaa, fontteja ja pakattuja rasterivirtoja; fontteja ja muita resursseja ei aina upoteta.
Tekniset rajoitukset
- Kiinteän asettelun sivupohja tekee automaattisesta responsiivisesta rivityksestä haastavaa pienillä älypuhelimilla.
- Monimutkainen sisäinen oliovirtahierarkia voi johtaa paisuneisiin tiedostokokoihin ilman tiivistystä ja viittaamattomien olioiden poistoa.
- Upotettu JavaScript ja dynaamiset käynnistystoiminnot muodostavat laajan hyökkäyspinnan.
Mielenkiintoisia teknisiä faktoja
- Alkuperäinen Camelot-projektin asiakirja visioi asiakirjojen tulostamisen sähköisesti mistä tahansa sovelluksesta suoraan mille tahansa näytölle.
- Jokainen PDF-tiedosto päättyy tarkkaan merkkijonoon '%%EOF', joka merkitsee tiedoston lopun tunnistetta.
- Jotkin tuomioistuimet ja arkistointiorganisaatiot määrittävät PDF/A:n käytettäväksi säilytystyönkuluissa; vaatimukset vaihtelevat oikeudenkäyttöalueen ja organisaation mukaan.
Usein kysytyt tekniset kysymykset
Miksi PDF-sivut voivat näyttää samankaltaisilta eri näytöillä ja tulostimilla?
PDF tallentaa sivun sisällön kiinteillä koordinaateilla, mikä auttaa säilyttämään asettelun. Ulkoasu voi silti vaihdella fonttien, katseluohjelman, värinhallinnan ja tulostinasetusten mukaan.
Mikä ero on standardilla PDF:llä ja PDF/A:lla?
PDF/A (ISO 19005) on erikoistunut osajoukko, joka on suunniteltu pitkäaikaiseen arkistointiin. Se kieltää ehdottomasti ominaisuudet, jotka voivat vaarantaa tulevan luettavuuden, kuten JavaScriptin, ulkoisen fonttilinkityksen, salauksen, ääni- tai videoupotukset sekä laiteriippuvaiset väriavaruudet. Kaikkien fonttien ja väriprofiilien on oltava 100-prosenttisesti upotettuja.
Miten PDF-pakkaus toimii nykyaikaisissa asiakirjoissa?
PDF käyttää useita erillisiä pakkaussuodattimia, jotka on räätälöity sisältötyypeille. Teksti, vektorikomennot ja fonttimetriikat pakataan FlateDecode-menetelmällä (zlib/deflate). Valokuvakuvat käyttävät DCTDecode- (JPEG) tai JPXDecode-pakkausta (JPEG 2000), kun taas kaksitasoinen yksivärinen skannattu teksti käyttää JBIG2- tai CCITT Fax Group 4 -pakkausta.
Miksi PDF-tiedosto pysyy usein suurena sivujen tai kuvien poistamisen jälkeenkin?
PDF-tiedostoa muokatessaan monet editorit suorittavat 'inkrementaalisen päivityksen' - ne lisäävät uusia oliovirtoja ja uuden xref-taulukon tiedoston loppuun poistamatta vanhoja olioita, mikä mahdollistaa nopean kumoamisen. Tiedostokoon todellinen pienentäminen edellyttää optimointivaihetta, joka suorittaa viittaamattomien olioiden roskienkeruun.
Aiheeseen liittyvät PDF-muunnosparit
Muunna PDF-tiedoston jokainen sivu JPG-kuvaksi, jonka voit julkaista, lähettää chatissa tai lisätä diaan. Sivut renderöidään 150 dpi:n tarkkuudella, ja monisivuisesta PDF-tiedostosta saat ZIP-tiedoston, jossa on yksi JPG kutakin sivua kohden.
Tallenna PDF-tiedoston jokainen sivu häviöttömänä PNG-kuvana, joka on riittävän terävä tekstiä, taulukoita ja kaavioita varten. Sivut renderöidään 150 dpi:n tarkkuudella, ja monisivuisesta PDF-tiedostosta saat ZIP-tiedoston, jossa on yksi PNG jokaista sivua kohden.
Jaa PNG-kuvakaappaus tai -kaavio yksisivuisena PDF-tiedostona säilyttäen sen pikselit ja läpinäkyvyyden. PDF-sivu on kiinteä kuva, ei muokattava PNG-tiedosto.
Sijoita JPEG-valokuva yhdelle PDF-sivulle tarkastelua tai tulostusta varten. Olemassa oleva kuvadata upotetaan, mutta PDF ei tarjoa valokuvanmuokkaustyökaluja.
Luo yksisivuinen PDF WebP-grafiikasta asiakirjaa tai hyväksyntäkierrosta varten. Selain piirtää sen uudelleen kuvana, joten WebP-tiedot ja liike eivät säily.
Jaa SVG-logo tai -kuvitus yksisivuisena PDF-tiedostona. Sen skaalautuvista poluista tulee kiinteän resoluution kuva, joten lähentäminen ei tuo vektoriyksityiskohtia takaisin.
Muunna yksittäinen kuva HEIC-valokuvasta yksisivuiseksi PDF-tiedostoksi jakamista tai lomakkeita varten. Sivu käyttää 8-bittistä kuvadataa eikä sisällä HEIC-sekvenssejä tai HDR-lähdedataa.
Sijoita AVIF-verkkokuva yhdelle PDF-sivulle kampanjan tarkastelua varten. Se piirretään tavalliselle canvas-kuvalle, joten AVIF-koodaus ja HDR-apudata menetetään.