PDF Splitter
Popis
PDF Splitter je aplikácia, ktorá slúži na rozdelenie PDF dokumentu na menšie dokumenty na základe určitých pravidiel. Nachádza využitie predovšetkým v prípadoch, keď sa jedná o dokumenty generované reportovacím nástrojom a teda je možné určiť, na ktorej strane začína nový dokument. Aby nebolo nutné rozdeľovať dokumenty po jednom, aplikácia požaduje ako vstup adresár obsahujúci dokumenty určené na rozdelenie. Jednotlivé časti sa ukladajú do cieľového adresára a ich názvy sú generované na základe určeného formátu.
Užívateľské prostredie je prehľadné a poskytuje užívateľovi možnosti uloženia a načítania nastavení a otestovania zadaných vzorov.
Vyhľadávanie textu
Text je vyhľadávaný porovnaním skutočného textu s vyhľadávaným vzorom. Vzorom sa myslí regulárny výraz (angl. regular expression alebo regex). Vzory na vyhľadávanie oddeľovačov a textov, na základe ktorých sa generujú názvy súborov sú teda regulárne výrazy, ktoré definujú ako by mali tieto texty vyzerať. Na internete sa dá nájsť veľa článkov o regulárnych výrazoch a o tom, ako ich písať.
Zadaním skutočného textu do poľa “Testovaní text” a stlačením tlačidla “Test” je možné zistiť, či je vzor správne napísaný. Odporúča sa do poľa “Testovací text” zadať celý jeden riadok originálneho textu, keďže vyhľadávanie prebieha po riadkoch a v regulárnom výraze je možné definovať okrem iného aj začiatok a/alebo koniec textu.
Určenie pozície textu na strane
Niekedy je ťažké alebo dokonca nemožné zadať vhodný vzor, pretože časti textu vyhovujúce vzoru sa v dokumente vyskytujú vo veľkom počte a nie vždy je treba pri takomto výskyte dokument rozdeliť.
Aby sa dosiahla čo najväčšia presnosť vo vyhľadávaní textu, je v takýchto prípadoch vhodné okrem vzoru definovať aj miesto na strane, kde sa oddeľovač alebo text definujúci názov čiastkového dokumentu očakáva. Je možné vybrať z nasledujúcich pozícií na strane:
- Záhlavie / Prvý riadok
- Špecifický riadok
- Zápätie / posledný riadok
- Kdekoľvek na strane
Upozornenie: Na rozdiel od prehliadačov PDF dokumentov nie je možné s istotou z PDF dokumentu získať záhlavie, zápätie a samotný obsah strany v správnom poradí, nie vždy sa dá spoľahnúť na to, kde v extrahovanom texte sa tieto budú nachádzať. Preto ak sa oddeľovače alebo údaje potrebné na vygenerovanie názvu súboru vyskytujú vždy na rovnakom mieste, odporúčame vybrať možnosť Špecifický riadok a zadať jeho číslo. Správne číslo riadku je možné zistiť pomocou nástroja Analýza dokumentu prístupného z nástrojovej lišty.
Generovanie názvov dokumentov
Ak aplikácia zistí, že na aktuálnej strane dokumentu sa nachádza oddeľovač, na tej istej strane sa vyhľadá text, ktorý by vyhovoval vzoru pre text obsahujúci údaje potrebné pre vygenerovanie názvu nového čiastkového dokumentu. Názov súboru sa vygeneruje podľa zadaného formátu.
Ak sa takýto text nenájde, zobrazí sa o tom správa a nasledujúce strany sa vynechajú, až pokiaľ sa nevyskytne ďalší oddeľovač.
When a separator text is found on a page, the application looks for file name source at the same page by trying to find a part of text that matches the pattern. If nothing is found, an error message is displayed and following pages are skipped until another separator is found. Otherwise, a file name is generated according to the file name format.
Formát názvu súboru pozostáva z voliteľných pevných častí a aspoň jednej variabilnej časti (aby bolo možné novovygenerované dokumenty uložiť, musia mať rôzny názov súboru). Variabilné časti sú definované celým číslom kladným v zložených zátvorkách (napr. {2}).
Príklad vzoru zapísaného regulárnym výrazom:
(\d{4})\.\s*(\w+)
Tento vzor predstavuje text kdekoľvek na riadku začínajúci štvorčíslím nasledovaným bodkou nasledovanou akýmkoľvek počtom prázdnych znakov (vrátane žiadneho) nasledovaným minimálne jedným alfanumerickým znakom. Tieto texty vyhovujú zadanému vzoru:
- Toto je text. Toto je 1234.iný text
- Toto je text. Toto je 1234. iný text
Tieto texty nevyhovujú zadanému vzoru:
- Toto je text. Toto je 123.iný text menej ako 4 čísla
- Toto je text. Toto je 12345.iný text viac ako 4 čísla
- Toto je text. Toto je 123 iný text chýba bodka
- Toto je text. Toto je 1234./iný text ‚/’ nie je alfanumerický
Časti vzoru možu byť uzavreté v zátvorkách a definovať skupiny. V predchádzajúcom príklade sú definované dve skupiny:
(\d{4})\.\s*(\w+)
Skupiny sú číslované od 1 zľava doprava. V prípade vnorených skupín vonkajšia skupina predchádza vnorené skupiny. Na skutočnú hodnotu skupiny sa odkazuje celým kladným číslom uzavretým do zložených zátvoriek.
Príklad
V tomto príklade použijeme predtým definovaný vzor:
(\d{4})\.\s*(\w+)
a formát názvu súboru čiastkového dokumentu
HR Report {1}-{2}.pdf
Pri rozdelení dokumentu budú vygenerované čiastkové dokumenty s nasledovnými názvami súborov:
Text nájdený v dokumente Názov súboru čiastkového dokumentu
- 2008.Január HR Report 2008-Január.pdf
- 2002.Júl HR Report 2002-Júl.pdf
- 1998. Marec03 HR Report 1998-Marec03.pdf
Spustenie aplikácie
PDF Splitter má jeden voliteľný parameter:
- –conf cesta ku konfiguračnému XML súboru
Ak súbor neexistuje (alebo nie je zadaný), aplikácia sa pokúsi nájsť súbor config.xml v adresári, z ktorého bola spustená. Ak ho nenájde, otvorí sa prázdne okno.