Saját PDF/A konverter összeállítása ÉTDR-hez, második kör haladóknak

Egy korábbi cikkben röviden bemutattunk néhány alkalmazást az építési engedélyezéshez (ÉTDR) feltétlenül szükséges PDF/A formátumú fájlok előállításához kapcsolódva. Először felsoroltuk (teljesség igénye nélkül) a tervezők által leggyakrabban használt alkalmazásokat, és azok PDF/A exportálási képességeit. Végül megemlítettünk két fizetős és két (kvázi) ingyenes virtuális nyomtatót, amelyek minden szoftver esetén lehetővé teszik a megfelelő PDF/A formátumú fájlok elkészítését. Feltűnhetett, hogy több szoftvernél is a Ghostscript szerepel, mint használt PDF könyvtár.

Nos, ebben a cikkben azt fogjuk bemutatni, hogy miként lehet nagyon egyszerűen kihasználni a Ghostscript lehetőségeit PDF/A fájlok előállításához, illetve meglévő PDF fájljaink PDF/A formátumra való konvertálásához. Az első eset azok számára add megoldást, akik nem kívánnak változtatni jelenlegi PDF előállítási szokásukon és eszköztárukon. Az utóbbi akkor lehet érdekes, ha egy tervezőiroda PDF formátumban őrizte meg terveit, dokumentumait archiválási célból és azokat át szeretné konvertálni PDF/A formátumra.

A cikk három részből áll. Az első részből megismerheti, hogyan épül fel és miként működik egy virtuális nyomtató, jelen esetben egy PDF nyomtató. A második részben lépésről lépésre bemutatjuk, hogyan helyettesíthető a virtuális nyomtató a Ghostscript segítségével. Az utolsó részben arra adunk javaslatot, miként lehet egyszerre több PDF fájlt PDF/A formátumra konvertálni ugyancsak a Ghostscript segítségével.

Figyelem: A cikkben szereplő leírások és végrehajtandó feladatok az átlagos számítógép ismertnél magasabb tapasztalatot és ismeretet igényelnek! Kérjük, tartsa ezt szem előtt.

Virtuális nyomtató felépítése, működése

A virtuális nyomtató egy olyan speciális szoftverként megvalósított nyomtató illesztőprogram, amely nem csatlakozik tényleges nyomtatóhoz. Ezt a megközelítést használja számos olyan alkalmazás, amelynek a dokumentumokat más formátumra kell konvertálnia.

Az alapvető működési elve egy virtuális nyomtatónak a következő. A szoftver telepítése után megjelenik egy új nyomtató a rendszerben. Amikor egy dokumentumot küld rá erre, a program megpróbálja kinyomtatni a fájlt egy szabványos adatfolyamba (általában PostScript nyelven). Egy hagyományos nyomtató illesztőprogramja ezt átalakítja egy sor parancsra a nyomtatófej fizikai vezérléséhez. A virtuális nyomtató az adatfolyamot másképpen kezeli, például elmenti annak tartalmát egy speciális formátumú (pl. PDF) grafikus fájlba.

Ha összehasonlítanánk egy virtuális nyomtatót egy hagyományos dokumentum konverterrel, akkor ez rávilágítana az előbbi két fontos előnyére. Az első a rugalmasság. A virtuális nyomtató képes átalakítani bármilyen forrás dokumentumot, tekintet nélkül azok formátumára. Az egyetlen feltétel az, hogy a felhasználónak rendelkeznie kell szoftverrel a kérdéses fájl megnyitásához, hogy azt el tudja küldeni a nyomtatóra. A másik előnyt az egyszerű használat jelenti a végfelhasználók számára. Minden olyan személy, aki tudja, hogyan kell kinyomtatni egy fájlt, minden előzetes képzés nélkül képes lesz használni egy virtuális nyomtatót dokumentumok konvertálására.

Virtuális nyomtatókat gyakran használnak modulként a többcélú szerkesztő programokban a dokumentumok kívánt formátumra konvertálásához. Ezen kívül, a piacon a virtuális nyomtatók kategóriájában egy viszonylag nagy számú önálló termék található. Ezek általában kifinomultabb funkcionalitással rendelkeznek.

PDF/A konverter összeállítása Ghostscript segítségével

A PDF/A konverter összeállításához a következőkre lesz szükség:

  • GPL Ghostscript 9.07 vagy újabb telepítése
  • Színprofil letöltése és definíciós fájl létrehozása
  • A konvertálást végrehajtó parancsfájl elkészítése
  • Használat és tesztelés
Megjegyzés: A cikkben leírtakhoz a Windows 7 64 bites verzióját és a GPL Ghostscript 9.07-es verzióját használtuk. Más operációs rendszereken az egyes műveletek eltérők lehetnek.

Ghostscript és telepítése

A Ghostscript egy olyan szoftvercsomag, amely egy értelmezőt ( interpretert) biztosít a PostScript (TM) nyelvhez. A Ghostscript képes a PostScript nyelvű fájlokat átalakítani több raszteres formátumra, megjeleníteni azokat a képernyőn és kinyomtatni olyan nyomtatókon, amelyek nem rendelkeznek beépített PostScript nyelvi képességgel. Ugyanilyen képességekkel rendelkező értelmezőt tartalmaz a Portable Document Format (PDF) fájlokhoz is. Alkalmas PostScript fájlokat PDF (néhány korlátozással) formátumra konvertálni és fordítva.

A Ghostscript teljesen C nyelven íródott, különös tekintettel arra, hogy jól működjön a legkülönbözőbb rendszereken, beleértve az Windows, Apple MacOS, a sokféle Unix és Unix-szerű platformokat és VMS rendszereket.

A Ghostscript nem ingyenesen használható termék, csak a GPL Ghostscript névvel ellátott verziója terjeszthető ingyenesen és kereskedelmi céllal a GNU Affero General Public License feltételei szerint.

Ghostscript telepítése

  1. Töltse le a GPL Ghostscript 64 bites verzióját vagy 32 bites verzióját operációs rendszerének megfelelően.
  2. Indítsa el a telepítő programot.
  3. Indítsa el a StartMinden programGhostscriptGhostscript 9.07 programot.

Sikeres telepítés után ennek kell megjelennie a képernyőn:

ghostscript_gpl_dialog

Színprofil letöltése és definíciós fájl létrehozása

Azért, hogy a konvertált PDF/A fájlban a színek eszközfüggetlenek legyenek egy színprofilt kell alkalmazni a konvertáláshoz. Az Európai Color Initiative (ECI) egy szakértői csoport, amely a digitális kiadvány rendszerek színes adatainak eszközöktől független feldolgozásán dolgozik. Többek között szín szabványok kidolgozásával is foglalkoznak, aminek eredményeként elérhetővé tesznek egy szabványos színprofilt (eciRGB ICC).

  1. Hozzon létre az Asztalon egy mappát PDF2PDFA névvel.
  2. Töltse le az ecirgbv20.zip fájlt a European Color Initiative oldaláról.
  3. Csomagolja ki a letöltött fájl a PDF2PDFA mappába.
  4. Másolja át a  C:\Program Files\gs\gs9.07\lib\PDFA_def.ps fájlt a PDF2PDFA mappába és nevezze át PDFA_def_custom.ps névre.
  5. Nyissa meg a PDFA_def_custom.ps fájlt egy szerkesztővel.
  6. Keresse meg a következő sort:
    /ICCProfile (ISO Coated sb.icc)   % Customize.

    és javítsa ki a következőre:

    /ICCProfile (eciRGB_v2.icc)   % Customize.
  7. Mentse el a módosított fájlt.

A PDF2PDFA mappában most a következő fájlok vannak:

pdfa ghostscript icc profil

Parancsfájl létrehozása

A konvertáláshoz létre kell hozni egy parancsfájlt, amely tartalmazni fogja az összes szükséges beállítást. Ezzel a parancsfájllal egyszerre csak egy fájlt lehet feldolgozni.

  1. Hozzon létre egy parancsfájlt a PDF2PDFA mappába pdf2pdfa.bat névvel.
  2. Nyissa meg a pdf2pdfa.bat fájlt egy szerkesztővel és másolja át a következő kódot:
    @echo off
    SET GSPATH=%ProgramFiles%\gs\gs9.07
    SET ORIGPATH=%PATH%
    SET PATH=%PATH%;%GSPATH%\bin;%GSPATH%\lib;
    
    cd /d %0\..
    
    gswin64c.exe -dPDFA -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sPDFACompatibilityPolicy=2 -sFONTPATH=%windir%/fonts;xfonts;. -sDEVICE=pdfwrite -r300 -sOutputFile=%1.pdfa.pdf PDFA_def_custom.ps %1 >%1.log
    
    SET PATH=%ORIGPATH%
  3. Mentse el a módosított fájlt.

Ezzel el is készült a PDF/A konverter.

Használat és tesztelés

A konverter úgy működik, hogy az eredeti PDF fájl érintetlenül hagyja, miközben az eredetivel azonos mappába létrehoz egy naplófájlt a konvertálási üzenetek számára, illetve a konvertált PDF/A formátumú PDF fájlt. A fájlok elnevezése a következőképpen néz ki:

  • dokumentum.pdf (eredeti PDF fájl)
  • dokumentum.pdf.log (konvertálási napló)
  • dokumentum.pdf.pdfa.pdf (konvertált PDF fájl)

A konvertáló legegyszerűbb használata, ha a pdf2pdfa.bat fájlhoz létrehoz egy parancsikont az Asztalon és konvertálni kívánt PDF fájlt egyszerűen csak ráhúzza a parancsikonra.

Ennek egy szofisztikáltabb megoldása, ha helyi menübe integráljuk a konverterünket:

  1. Indítsa el a Windows Explorert (Win+E).
  2. Írja be címsorba a következőt shell:sendto
  3. Megnyílik a bejelentkezett felhasználó profiljában a helyi menü Küldés menüpontjához tartozó mappa.
  4. Hozzon létre ide is egy parancsikont és nevezze át pdf2pdfa névre.
    pdfa sendto shortcut
  5. Keressen a Windows Explorerben egy PDF fájlt.
  6. Kattintson a jobb egérgombbal a PDF fájlra, majd a helyi menüben a Küldéspdf2pdfa parancsra.
    pdfa sendto shortcut 2
  7. Létrejön a naplófájl és a konvertált PDF/A formátumú fájl.

Meglévő PDF fájlok kötegelt konvertálása PDF/A formátumra

Ebben a részben a korábbi konvertáló script ki lesz egészítve egy új képességgel, amely lehetővé fogja tenni több PDF fájl egy menetben történő konvertálását.

  1. Nyissa meg a a PDF2PDFA mappába a pdf2pdfa.bat fájlt egy szerkesztővel és másolja át a következő kódot:
    @echo off
    set GSPATH=%ProgramFiles%\gs\gs9.07
    set ORIGPATH=%PATH%
    set PATH=%PATH%;%GSPATH%\bin;%GSPATH%\lib;
    
    setlocal disableDelayedExpansion
    set args=%*
    set "dragDrop="
    
    setlocal enableDelayedExpansion
    set "cmd=!cmdcmdline!"
    set "cmd2=!cmd:*%~f0=!"
    if "!cmd2!" neq "!cmd!" (
     set dragDrop=1
     set "args=!cmd2:~0,-1! "
     set "args=!args:* =!"
    )
    
    cd /d %0\..
    
    for %%F in (!args!) do (
     if "!!"=="" endlocal & set "dragDrop=%dragDrop%"
    
    echo Process file "%%~F"
     cd /d %0\..
     gswin64c.exe -dPDFA -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sPDFACompatibilityPolicy=2 -sFONTPATH=%windir%/fonts;xfonts;. -sDEVICE=pdfwrite -r300 -sOutputFile="%%~F.pdfa.pdf" PDFA_def_custom.ps "%%~F" >"%%~F.log"
    )
    
    if defined dragDrop (
     pause
     exit
    )
    
    set PATH=%ORIGPATH%
  2. Mentse el a módosított fájlt.

Ha az előzőekben létrehozta a Küldés mappába a megfelelő parancsikont, akkor mostantól több PDF fájlt is kijelölhet egy mappában, mielőtt a helyi menüben a Küldéspdf2pdfa parancsra kattintana.

Összefoglalás

Amennyiben idáig eljutott és minden működik, akkor sikeresen összeállított magának egy PDF/A konvertert. A fentiekből látható, hogy egy egyszerű parancsorral és a megfelelő paraméterek beállításával könnyedén át lehet alakítani PDF fájlokat PDF/A formátumra.

Most pedig kitérnék arra, hogy a cikk elején miért lett megemlítve az ÉTDR. Azért, mert a PDF fájlok konvertálását igen egyszerűen és automatikusan el lehetne végezni az ÉTDR futtató rendszeren is központosítva, a változó igények és követelmények folyamatos figyelembevétele mellett. Nem kellene a több ezer tervezőt ezzel terhelni. Az engedélyezési tervdokumentáció hosszútávú archiválási szempontjai is az ÉTDR oldalán jelentkeznek, amit jelenleg másokra terhelnek át.

Korlátozások:

  • A megnyitási jelszóval (OwnerPassword) védett PDF fájlokat nem lehet konvertálni.
  • Az eredeti PDF fájl ne tartalmazzon átlátszó kitöltést, mert ebben az esetben a teljes tartalom bitképre lesz konvertálva, hogy megőrizze a dokumentum eredeti kinézetét.
  • Az eredeti PDF fájlba legyenek beágyazva a betűtípusok, ellenkező esetben azok a konvertálást végző számítógépen található betűtípusokkal lesznek helyettesítve. A naplófájlból tájékozódhat a cseréről.
  • A külön fóliákra helyezett elemek az alapértelmezett fóliára lesznek áthelyezve.

Hivatkozások: