PDF Splitter
PDF Splitter je aplikace, která slouží k rozdělení PDF dokumentu na menší dokumenty na základě určitých pravidel. Nachází využití především v případech, kdy se jedná o dokumenty generované reportovacím nástrojem a tedy je možné určit, na které straně začíná nový dokument. Aby nebylo nutné rozdělovat dokumenty po jednom, aplikace požaduje jako vstup adresář obsahující dokumenty určené k rozdělení. Jednotlivé části se ukládají do cílového adresáře a jejich názvy jsou generovány na základě určeného formátu.
Uživatelské prostředí je přehledné a poskytuje uživateli možnosti uložení a načítání nastavení a otestování zadaných vzorů.
Vyhledávání textu
Text je vyhledáván porovnáním skutečného textu s vyhledávaným vzorem. Vzorem se myslí regulární výraz (angl. regular expression nebo regex). Vzory na vyhledávání oddělovačů a textů, na základě kterých se generují názvy souborů jsou tedy regulární výrazy, které definují jak by měly tyto texty vypadat. Na internetu se dá najít spoustu článků o regulárních výrazech ao tom, jak jejich psát.
Zadáním skutečného textu do pole “Testovací text” a stisknutím tlačítka “Test” je možné zjistit, zda je vzor správně napsán. Doporučuje se do pole “Testovací text” zadat celý jeden řádek originálního textu, protože vyhledávání probíhá po řádcích av regulérním výrazu lze definovat mj. i začátek a / nebo konec textu.
Určení pozice textu na straně
Někdy je obtížné nebo dokonce nemožné zadat vhodný vzor, protože části textu vyhovující vzoru se v dokumentu vyskytují ve velkém počtu a ne vždy je třeba při takovém výskytu dokument rozdělit.
Aby se dosáhlo co největší přesnost ve vyhledávání textu, je v takových případech vhodné kromě vzoru definovat i místo na straně, kde se oddělovač nebo text definující název dílčího dokumentu očekává. Je možné vybrat z následujících pozic na straně:
- Záhlaví / První řádek
- Specifický řádek
- Zápatí / poslední řádek
- Kdekoliv na straně
Upozornění: Na rozdíl od prohlížečů PDF dokumentů není možné s jistotou z PDF dokumentu získat záhlaví, zápatí a samotný obsah stránky ve správném pořadí, ne vždy se dá spolehnout na to, kde v extrahovaném textu se tyto budou nacházet.Proto pokud se oddělovače nebo údaje potřebné k vygenerování názvu souboru vyskytují vždy na stejném místě, doporučujeme vybrat možnost Specifický řádek a zadat jeho číslo. Správné číslo řádku je možné zjistit pomocí nástroje Analýza dokumentu přístupného z nástrojové lišty.
Generování názvů dokumentů
Pokud aplikace zjistí, že na aktuální stránce dokumentu se nachází oddělovač, na téže straně se vyhledá text, který by vyhovoval vzoru pro text obsahující údaje potřebné pro vygenerování názvu nového dílčího dokumentu. Název souboru se vygeneruje podle zadaného formátu.
Pokud se takový text nenajde, zobrazí se o tom zpráva a následující strany se vynechají, dokud se nevyskytne další oddělovač.
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 souboru skládá z volitelných pevných částí a alespoň jedné pohyblivé části (aby bylo možné novovygenerované dokumenty uložit, musí mít různý název souboru). Variabilní části jsou definovány celým číslem kladným ve složených závorkách (např. {2}).
Příklad vzoru zapsaného regulárním výrazem:
(\ D {4}) \. \ S * (\ w +)
Tento vzor představuje text kdekoliv na řádku začínající čtyřčíslí následovaným tečkou následovanou jakýmkoliv počtem prázdných znaků (včetně žádného) následovaným minimálně jedním alfanumerickým znakem. Tyto texty vyhovují zadanému vzoru:
- Toto je text. Toto je 1234.iný text
- Toto je text. Toto je 1234. jiný text
Tyto texty nevyhovují zadanému vzoru:
- Toto je text. Toto je 123.iný text méně než 4 čísla
- Toto je text. Toto je 12345.iný text více než 4 čísla
- Toto je text. Toto je 123 jiný text chybí tečka
- Toto je text. Toto je 1234./iný text, / ‘není alfanumerický
Části vzoru mohou být uzavřeny v závorkách a definovat skupiny. V předchozím příkladu jsou definovány dvě skupiny:
(\ D {4}) \. \ S * (\ w +)
Skupiny jsou číslovány od 1 zleva doprava. V případě vnořených skupin vnější skupina předchází vnořené skupiny. Na skutečnou hodnotu skupiny se odkazuje celým kladným číslem uzavřeným do složených závorek.
Příklad
V tomto příkladu použijeme předtím definovaný vzor:
(\ D {4}) \. \ S * (\ w +)
a formát názvu souboru dílčího dokumentu
HR Report {1} – {2}. Pdf
Při rozdělení dokumentu budou vygenerovány dílčí dokumenty s těmito názvy souborů:
Text nalezený v dokumentu Název souboru dílčího dokumentu
- 2008.Január HR Report 2008-Január.pdf
- 2002.Júl HR Report 2002-Júl.pdf
- 98. Marec03 HR Report 1998-Marec03.pdf
Spuštění aplikace
PDF Splitter má jeden volitelný parametr:
- – conf cesta konfigurační XML souboru
Pokud soubor neexistuje (nebo není zadán), aplikace se pokusí najít soubor config.xml v adresáři, ze kterého byla spuštěna. Pokud ho nenajde, otevře se prázdné okno.