PDF-formaatista

Henri Sivonen, korkeakouluharjoittelija, Kansallisarkisto

Henri Sivonen on laatinut tämän dokumentin Kansallisarkistossa kesällä 2002. Dokumentti sisältää Sivosen Kansallisarkistolle esittämän näkemyksen. Dokumentti ei välttämättä edusta Kansallisarkiston kantaa (eikä välttämättä edes Sivosen nykyistä kantaa).

PDF on PostScriptin pohjalta rakennettu monisivuinen vektorigrafiikkaformaatti tulosteiden ulkonäön digitaaliseen tallentamiseen. Vaikka PDF on perusluonteeltaan grafiikkaformaatti, siihen on liimattu päälle erilaisia ominaisuuksia, joilla siitä on yritetty tehdä yleisempi dokumentinvälitysformaatti.

PDF on Adoben määrittelmä formaatti.[PDF14]

PDF:n hyviä puolia

PDF:n yleisiä huonoja puolia

PDF:n huonoja puolia rakenteisiin dokumentteihin verrattuna

PDF:n huonoja puolia bittikarttoihin verrattuna

Fontit

Nykyään tietokoneiden kirjasimet ovat outline-fontteja, eli glyfien muodot on tallennettu parametrisinä käyrinä eikä bittikarttoina. Outline-fontit on tyypillisesti vähintäänkin naamioitu tietokoneohjelmiksi, jotta niille saataisiin yhtä tiukka tekijänoikeussuoja kuin sellaisille tietokoneohjelmille, jotka yleensä mielletään tietokoneohjelmiksi. Riippumatta siitä, ovatko outline-fontit oikeasti ohjelmia vai deklaratiivista dataa, ei ole mitään syytä olettaa, ettei niillä käytännössä olisi jonkinlaista tekijänoikeussuojaa.

Tästä seuraa se, että fontin upottaminen PDF:ään vaatii fontin oikeudenomistajan luvan. Yleisesti ottaen kaikki isot ja vakavasti otettavat fonttitoimittajat sallivat upotuksen PDF:ään PDF:n katselua ja tulostusta varten.

Sen sijaan jotkin pienemmät fonttitoimittajat haluavat kieltää upotuksen.

Toimistoasiakirjat voidaan luoda ja todennäköisesti luodaan käyttäen fontteja, joiden upotus on sallittua. Todennäköisesti valtion toimistoasiakirjat luodaan käyttäen Windowsin, Mac OS:n tai Linuxin mukana tulleita fontteja, eikä niiden upottaminen PDF:ään ole ongelma. Vuosikertomuksissa tai muissa vastaavissa ammattigraafikoilla teetetyissä julkaisuissa käytetään tyypillisesti Adobelta, Agfa Monotypeltä tai Linotypeltä lisensoituja fontteja.

Ongelmaksi jää siis se, miten varmistetaan, ettei vahingossa jouduta tekemisiin sellaisten fonttien kanssa, joiden upottamiseen liittyy juridisia esteitä. Tämä voidaan hoitaa vaikka siten, että PDF:ien upotettujen fonttien tiedot tarkistetaan eräajona, eli etsitään PDF:istä tiedot upotetuista fonteista ja verrataan niitä listaan sellaisista fonteista, jotka dokumentin tuottaja tietään luvallisiksi upotuksen kannalta.

”Turvallisuus”

PDF-tiedostot voivat olla ”turvallisia”. ”Turvallisuus” tarkoittaa sitä, että tiedostoon on merkitty, saako tiedoston tulostaa jne. ja sitten sisältö on salattu jollain menetelmällä. Luonnollisesti salaus joudutaan purkamaan, jotta dokumentin voisi esittää edes näytöllä.

Salauksen purkamisen jälkeen kaikki data onkin lukuohjelman käytettävissä ja estojen noudattaminen on vain sen varassa, että lukuohjelma kunnioittaa estoa. Tästä syystä Adobe on sisällyttänyt PDF-määritykseen ehdon, jonka mukaan Adobella on tekijänoikeus joihinkin PDF tietorakenteisiin (!) ja niiden käyttäminen edellyttää sitä, että lukuohjelman pitää kunnioittaa ”turvallisuutta”.

Koska ”turvallisuus” edellyttää lukuohjelmalta lisäominaisuuksia ja asettaa mahdollisesti migraatiota häiritseviä ehtoja, esitän, ettei arkistoon hyväksyttäisi lainkaan ”turvallisia” PDF:iä.

Inkrementaalinen päivitys

PDF-dokumentteja voidaan päivittää inkrementaalisesti siten, että tiedoston loppuun tallennetaan vain muutokset. Käytännössä näin tapahtuu silloin, kun PDF-tiedostoon tehdään muutoksia Adobe Acrobatilla käyttäen vain komentoa Save (eikä Save As...).

Tästä voi aiheutua kahdenlaisia ongelmia: tiedostosta tulee monimutkaisempi käsiteltävä ja tiedostoon on saattanut jäädä jotain poistetuksi luultua sisältöä, joka ei saisi välittyä arkiston käyttäjille. Onneksi PDF:n kohdalla nämä eivät ole niin suuria ongelmia kuin esim. tekstinkäsittelyformaattien kohdalla. Tekstinkäsittelydokumentteja käytetään usein uusien dokumenttien pohjana, jolloin tiedostoon voi jäädä täysiin asiaan liittymätöntä dataa. PDF:t taas generoidaan tyypillisesti puhtaalta pöydältä, joten jäännössisältö yleensä liittyy asiaan edes jotenkin eikä ole peräisin jostain aivan muusta dokumentista. Kuitenkin on teoriassa mahdollista, että viranomainen tekisi PDF-dokumentin, jota sitten kierrätettäisiin luettavana ja jotkut muut lisäisivät dokumenttiin luonteeltaan salaisia annotaatioita. Sitten joku poistaisi annotaatiot vain näennäisesti ja lähettäisi PDF:n arkistoon.

Inkrementaaliseen päivitykseen voidaan suhtautua kahdella tavalla: jättämällä vastuu siitä, mitä tiedostossa on, tiedoston tuottaneelle virastolle tai kieltämällä inkrementaalisesti päivitettyjen tiedostojen ottaminen arkistoon. Jälkimmäisessä tapauksessa tiedostolle pitäisi tehdä aina puhdas Save As... siinä tapauksessa, että PDF:ään on tehty muutoksia Acrobatissa.

Vähintäänkin olisi syytä suositella, että arkistoon lähetettävät PDF:t generoidaan nimenomaisesti arkistoa varten, eikä viraston sisällä kiertäneitä ja annotoituja PDF:iä lähetettäisi arkistoon, ellei nimenomaisesti olla arkistoimassa annotaatioita.

Vaihtelevat luontitavat

PDF:ien luontitavat vaihtelevat kovasti. PDF-tiedostoissa eri virtoja (esim. bittikartta on virta ja sivun piirto-operaatiot muodostavat virran) voidaan pakata ja koodata eri tavoin. Lisäksi fontit voidaan upottaa kokonaisina tai vain käytössä olevina osajoukkoina.

Pienimpiin tiedostokokoihin päästään silloin, kun fonteista tallennetaan osajoukot, valokuvat pakataan JPEG-pakkauksella, musta/valko-bittikartat pakataan CCITT Group 4:llä, kaikki loput pakataan deflatella eikä mitään binääridataa koodata ASCII:ksi. Näin voidaan tehdä esim. silloin, kun PDF luodaan PostScript-tulostustyöstä Distillerillä tai Ghostscriptillä.

PDF:n luonti PostScriptin kautta on kuitenkin vähemmän käyttäjäystävällistä kuin suorempi PDF:ksi tallentaminen, ja Distiller-lisenssistä aiheutuu kustannuksia. (Ghostscriptiä voidaan käyttää Distillerin tilalla silloin, kun PostScript-tiedostossa on mukana kaikki tarvittavat fontit Type 1 -muodossa. Ghostscript ei ainakaan vielä osaa upottaa TrueType-fontteja, vaikka se osaakin käyttää jonkin muun ohjelman upottamia TrueType-fontteja renderoidessaan PDF:iä.) Siksi olisi toivottavaa käyttää suoraa PDF-tallennusta niissä ohjelmissa, joissa sellainen on. Suoran PDF-tallennuksen laatu vaihtelee kuitenkin rankasti, joten arkiston pitäisi arvioida suoran tallennuksen kelpoisuus ohjelmakohtaisesti.

Esim. WordPerfect osaa tallentaa PDF:iä, jotka ovat visuaalisesti kunnollisia Acrobat Readerissa. Tiedostojen lopusta kuitenkin puuttuu CRLF, ja Ghostscript huomauttaa tästä. Tiedoston katselu kuitenkin onnistuu täysin myös Ghostscriptillä. WordPerfectin tallentamien PDF:ien koko on kuitenkin huimasti isompi kuin se koko, johon päästäisiin siinä tapauksessa, että sama dokumentti tislattaisiin PDF:ksi Ghostscriptillä. (Tislaaminen tarkoittaa PDF:n luontia PostScript-tulostustyöstä.) WordPerfect ei pakkaa tekstiä oletusarvoisesti ja silloinkin, kun pakkausta käytetään, syntynyt tavujono koodataan ASCII-merkeillä! Lisäksi näyttää siltä, että WP upottaa fonteista käyttämättömiäkin osia.

Myös FOP:ista tulleet PDF:t voivat olla sellaisia, että pakkauksen jälkeen datan kokoa on tarpeettomasti kasvatettu ASCII-koodauksella.

Sen sijaan esim. pdfLaTeX osaa käyttää järkevää pakkausta, mutta silti sen tuottamien PDF:ien muuntaminen PostScriptiksi ja tislaaminen voi pienentää tiedostokoon melkein puoleen.

Uudelleentislauksen käyttö ei kuitenkaan ole aina haitatonta. Suora eksportti antaa sovellukselle mahdollisuuden hyödyntää PDF:n lisäarvo-ominaisuuksia, joilla voidaan esim. edistää dokumentissa navigointia ja tekstin etsittävyyttä. Uudelleentislaus säilyttää dokumentin ulkonäön mutta saattaa rikkoa lisäarvo-ominaisuudet.

Silloin, kun PDF-eksportti on niin hyvä kuin pdfLaTeXissa tai Mac OS X:n tulostusarkkitehtuurissa, ei ole käytännöllistä sotkea uudelleentislausta asiaan.

Yhteenveto

PDF:iin liittyy siis ongelmia ja niiden kanssa pitää olla hyvin varovainen. Kuitenkin silloin, kun PDF toimii, se on ylivoimaisesti paras yleisesti käytetty tapa paperin digitaalisen kuvan esittämiseen. PDF:ää käyttämällä päästään huimasti pienempiin tiedostokokoihin muotoiltua tekstiä sisältäviä toimistodokumentteja esitettäessä kuin millään kohtuullisen tarkkojen bittikarttojen pakkauksella, jos PDF on tehty pätevästi.

Pääongelmaksi jääkin se, millaisia riskejä uskalletaan ottaa. Jos PDF-tiedosto voidaan renderoida onnistuneesti Acrobat Readerilla, Ghostscriptillä ja Xpdf:llä, on hyvä syy olettaa, että sama PDF-tiedosto voidaan renderoida näiden ohjelmien tulevillakin versioilla. Asiasta ei kuitenkaan koskaan voida olla yhtä varmoja kuin siitä, että bittikarttoja osataan lukea tulevaisuudessakin.

Työnkulun hyväksyminen

Koska PDF on suhteellisen monimutkainen formaatti, PDF:ien kelvollisuutta ei voida arvioida tyhjentävästi ohjelmallisesti. Voi esimerkiksi käydä siten, että syystä tai toisesta osa tekstistä jää näkymättä joidenkin työkalujen kanssa, mutta ilmiöstä ei aiheudu minkäänlaista virheilmoitusta. Tästä syystä tarvitaan ihminen varmistamaan, että PDF renderoituu kunnolla.

Käytännössä on kuitenkin todennäköistä, ettei jokaista arkistoon lähetettävää PDF-tiedostoa voida tarkistuttaa ihmisellä. Ongelma voidaan ratkaista siten, että kustakin työkulusta arvioidaan muutama esimerkkidokumentti ja luotetaan siihen, että muut samasta työnkulusta tulleet dokumentit ovat yhteensopivuusominaisuuksiltaan vastaavia.

Esitän, ettei mistään työnkulusta hyväksytä PDF-tiedostoja arkistoon, ellei arkiston edustaja ole ensin hyväksynyt työnkulkua kelvolliseksi.

Hyväksymiskriteerinä voidaan pitää esim. seuraavia:

Ehdotus arkistoon viemisen yhteydessä tehtävistä tarkistuksista

Ehdotan, että jokaisen PDF-tiedoston arkistokelpoisuus testataan ainakin alla kuvatulla tavalla. Toimenpiteet edellyttävät ohjelman kirjoittamista tarpeeseen, mutta PDF:ien jäsentämiseen on olemassa valmiita kirjastoja (esim. Xpdf:n PDF-kirjasto).

Ehdotusmenettelyjä PDF-tiedostojen luomiseen

Toimisto-ohjelma Mac OS X:llä

Käytetään Mac OS X:n sisäänrakennettua PDF-tallennusta. Valitaan tulostusdialogista PDF-tallennus.

DTP-ohjelma Mac OS X:llä

Selvittämättä. Näiden ohjelmien kehitys on kesken.

Vanha Mac OS (ei OS X), yleispätevä tapa

Tulostetaan Applen LaserWriter -ajurilla tai Adoben AdobePS-ajurilla PostScriptiksi ja tislataan PDF:ksi Acrobat Distiller 5:lla. Sisällytetään PDF:ään fontit sikäli kuin sallittu.

Vanha Mac OS, halpa tapa, käytössä vain Type 1 -fontteja

Tulostetaan Applen LaserWriter -ajurilla PostScriptiksi ja sisällytetään kaikki fontit mukaan. Tislataan PDF:ksi Ghostscript 7:lla (sisällyttäen edelleen fontit).

Vanha Mac OS, halpa tapa, käytössä vain Times, Helvetica ja Courier

Tulostetaan Applen LaserWriter -ajurilla PostScriptiksi ja sisällyttämättä fontteja mukaan. Tislataan PDF:ksi Ghostscriptillä. (Huom! Times New Roman, Arial ja Courier New eivät käy!)

Office 2000 for Windows

Käytetään Adobe PDFMaker 5.0 -makroa (sisältyy Acrobat 5.0 -pakettiin).

Windows, yleispätevä tapa

Tulostetaan PostScriptiksi. Tislataan PDF:ksi Distillerillä. Sisällytetään PDF:ään fontit sikäli kuin sallittu.

Windows, halpa tapa, käytössä vain Type 1 -fontteja

Tulostetaan PostScriptiksi ja sisällytetään kaikki fontit mukaan. Tislataan PDF:ksi Ghostscript 7:lla (sisällyttäen edelleen fontit).

Linux ym. Unixin kaltaiset järjestelmät

Tulostetaan PostScriptiksi sisällyttäen fontit mukaan. Tislataan PDF:ksi Ghostscript 7:lla tai Acrobat Distiller 5:lla sisällyttäen fontit PDF:ään.

LaTeX

Pyritään käyttämään Type 1 -fontteja, mikäli vain mahdollista. Käytetään joko uusinta pdfLaTeXia tai dvips:ää optiolla -Ppdf ja sitten Ghostscript 7:ää (tai Distiller 5:ttä).

Viitteet

[PDF14] PDF reference: Adobe portable document format version 1.4. 3. laitos. Adobe Systems Incorporated. Addison-Wesley. 2001. URL: http://partners.adobe.com/asn/developer/acrosdk/docs/filefmtspecs/PDFReference.pdf

[Adobe-note] Font embedding notification. Adobe Systems, Inc. URL: http://www.adobe.com/type/embedding.html

[Linotype] Font-Software License Agreement. Linotype Library GmbH. URL: http://www.fontexplorer.com/isroot/FontStore/content/00_home/images/terms_license/license.pdf

[Agfa] Agfa Monotype Corporation End User License Agreement. Agfa Monotype Corporation. URL: http://www.fonts.com/legal/legal_home.asp?con=eula

[Emigre] Embedding License Addendum. Emigre, Inc. URL: http://www.emigre.com/Embedding.php

[PSY/OPS] End User Software License. PSY/OPS. URL: http://www.psyops.com/html/i_licensing.html