ŠKEŘÍK, P. Python skripty pro úpravu PDF dokumentů [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2024.
BP pana Škeříka byla náročná v tom, že opravovat PDF soubory popsaným způsobem se ješte nikdo jiný nepokusil, takže nebylo z čeho vycházet. Student přesto během zimního semestru vytvořil funkční základ skriptu. O to více mne zklamal jeho přístup v letním semestru, student totiž na první konzultaci přišel až 3 týdny před termínem odevzdání. Skript proto na mnohých časopisech padá (unhandled exception), neumí opravit fonty s různými názvy a dává uživateli nedostatečné informace o své činnosti. Návod pouze popisuje, jak skript spustit, ale už ne jak ho reálně použít na jiné PDF soubory (tj. jak je analyzovat, vytvořit pro ně jinou mapovací tabulku atd.). I když formálně byla většina zadání splněna, skript je celkově nedotažený a pro zamýšlenou aplikaci prakticky nepoužitelný, protože opravené soubory fungují pouze v některých PDF prohlížečkách. I na textu práce je poznat, že byl vytvořen ve velkém spěchu. Z těchto důvodů navrhuji BP hodnotit stupněm D.
Bakalářská práce studenta Patrika Škeříka se zabývá analýzou PDF souborů, konkrétně jejich fonty a opravou ToUnicode tabulek. V teoretické části popisuje historii a vznik PDF standardu, způsoby kódování znaků v rámci něj a důvody vzniku chyb kódování. V praktické části student rovnou popisuje návrh řešení oprav kódování a samotnou implementaci jeho práce. Výstupem práce je Python skript, jež dle závěrů studenta zvládá opravovat kódování PDF souborů obsahující fonty Arial. Ačkoli lze spuštěním skriptu potvrdit, že Arial fonty skript opraví, je zde velký prostor pro zlepšení. Na velkých souborech (+-40MB) trvá oprava více jak dvě minuty a v kombinaci s opravou pouze jedné rodiny fontu (Arial) je i dost nepoužitelná v praxi. Díky nefunkčnosti opravených PDF v aplikaci Adobe Acrobat lze konstatovat, že pro velkou část uživatelů bude oprava nefunkční. Skript samotný padá na některých souborech, jelikož nemá korektně ošetřeny všechny chybové stavy, což lze při skriptu o délce 103 řádků považovat za nedostatečné. Dále by bylo vhodné rozšířit práci o více fontů (je možné, že některé budou mít shodnou či velice podobnou ToUnicode tabulku), možnost spouštět skript pomocí parametrů (např. pro cestu k input souborům apod.) či jej zkusit zoptimalizovat pro rychlejší průběh. Z formálního hlediska práce obsahuje řadu nedokonalostí jako předcházející se číslování obrázků vůči jejich výskytu v textu, špatná kvalita některých z nich či přetékání okrajů u tabulky. Z pohledu obsahu práce by bylo vhodné více se věnovat popisu samotného problému, jež se řeší v praktické části a nezačínat praktickou část rovnou popisem řešení. V aktuálním stavu práce působí jako sepsaná na poslední chvíli, což odpovídá dojmu získanému z dodaného kódu i jeho popisu na githubu… Přes všechny zmíněné nedostatky však zadání práce student splnil, i když v minimálním rozsahu. Z výše uvedených důvodů doporučuji práci k obhajobě a hodnotím D, 68 bodů.
eVSKP id 159110