středa 29. června 2016

Máme vůbec chtít normalizovat PDF do PDF/A 1a?

Asi jste si všimli, že i v České republice platí nařízení, podle kterého jsou pro archivaci v Národní digitálním archivu vyžadovány objekty ve formátu PDF/A  úrovně 1a. 

Existuje Usnesení vlády ČR ze dne 3. listopadu 2008 č. 1338, které podepsal ještě premiér Topolánek, kde se píše: 
.............
I . s c h v a l u j e jako výstupní datový formát statických dokumentů v digitální podobě ze systémů spisové služby vykonávaných elektronickou formou za použití výpočetní techniky a jako datový formát statických dokumentů v digitální podobě připravovaných pro předání do Národního digitálního archivu 
1. formát PDF/A-1a (ISO 19005-1 – Portable Document Format – Electronic document file format for long-term preservation) pro statické textové, obrazové a kombinované dokumenty v digitální podobě, 

2. formáty PNG (ISO/IEC 15948:2004 – Portable Network Graphics) a TIFF (Tagged Image File Format – revize 6 – nekomprimovaný) pro statické obrazové dokumenty v digitální podobě;

--------------

Tohle je sice nařízení týkající se elektronických spisových služeb, ale v praxi má takové doporučení Národního archivu (mj. vyjádřené například také ve studii proveditelnosti NDA, ZD na NDA a jinde) dalekosáhlý dopad i na další projekty, knihovny, akademické instituce. 

Odhlédněme teď od problému, že Usnesení vlády ani žádný další předpis pokud vím neříká, co vlastně je PDF/A 1a - jak ho poznáme - čili, jak technicky prokázat, že nějaký objekt je validní reprezentací PDF/A 1a.  V tomhle bude jistě brzy jasněji, a online dostupný validátor PDF/A na webu NDA bude doplněn v polovině dalšího roku o validátor VeraPDF, kterýžto se v ideálním případě stane etalonem pro firmy produkující nástroje pro validaci, konverzi a produkci PDF. 

Tím ale nejasnosti nekončí. Zásadní požadavky na PDF/A 1a jsou:  
  • dokument musí obsahovat fonty se znaky v unicode (resp. znaky musí mít mapování na unicode) 
  • dokument musí být "tagovaný", tj. musí obsahovat popis všech komponentů (průběžné hlavicky stránek, čísla stránek) a hlavně vyjádření logické struktury. 
Zajímavý text na tohle téma na webu Ghostscriptu http://ghostscript.com/FAQ.html k tomu ale uvádí, že není v silách jakéhokoli obecného konvertoru PDF rozeznat v dokumentu poznámky pod čarou nebo nadpisy a korektně je označit, ba ani nemusí být schopen z dokumentu získat a vytvořit správnou logickou strukturu jednotlivých elementů, tak aby bylo zachováno autorem zamýšlené pořadí čtení.  
A dál citují standard PDF, kde se píše:
"PDF/A-1 writers should not add structural or semantic information that is not explicitly or implicitly present in the source material solely for the purpose of achieving conformance." ... "It is inadvisable for writers to generate structural or semantic information using automated processes without appropriate verification."
Jinými slovy, automaticky z PDF PDF/A 1a dělat nemáme. Podobně se standard PDF vyjadřuje k automatickému převodu/mapování znaků na unicode.

Co si z toho teď odnést? 
  • pokud máme velkou sbírku existujících PDF a chtěli bychom je ochránit, asi bychom se měli spokojit s PDF/A 1b
  • pokud už dokument PDF tagovaný je (jak to poznáme - viz dole k VeraPDF) a je ve fontech mapovaných na unicode, asi je šance, že se nám podaří vytvořit honest PDF/A 1a. Do PDF/A -1a ale nemůžeme s klidným srdcem (automaticky a bez asistence tvůrce dokumentu) dostat nic, co neobsahuje tagování a mapování na unicode
  • pokud nám nějaký nástroj poskytuje brute force konverzi do PDF/A 1a, měli bychom si být vědomi toho, že jde o "formální konverzi pro dosažení validace." Takový objekt projde validátory, ale je možné, že aby konverzí do PDF/A 1a prošel, bylo třeba něco oželet (některé znaky nemusí být ok, tak je prostě přeskočil), a struktura a tagování nevyjadřují - možná -záměry tvůrce dokumentu.
  • formálně vytvořený PDF/A 1a zkrátka nezaručí to, co PDF/A 1a zaručit má 
Komentář ve FAQ Ghostscriptu končí větou: For these reasons, at present we have no plans to implement PDF/A1-a in pdfwrite. Což je myslím docela výmluvné.

Jak tady může pomoci VeraPDF (díky Elišce) 
VeraPDF lze pustit i na soubory, které nejsou PDF/A 1a, a lze tak zjistit, jak daleko od standardu soubory jsou. Z výstupu extrakce VeraPDF poznáme přesně, kde se objekt od standardu PDF/A 1a liší:

A podmínky jsou pak vidět na githubu v seznamu pravidel:

K tomu směřovala krátká debata na semináři k VeraPDF v Praze na Pasigu. Teoreticky by archiv mohl být spokojen i se "skoro PDF/A 1a." Vytvoří si vlastní validační profil, který bude méně přísný něž striktní PDF/A 1a, a bude přijímat i objekty se známými chybami - například ty, které nejsou v RGB, nebo jim pouze chybí deklarace shody s PDF/A 1a (https://github.com/veraPDF/veraPDF-validation-profiles/wiki/PDFA-Part-1-rules#rule-6711-3) i když jinak se s PDF/A 1a shodují....

Žádné komentáře:

Okomentovat