Názor k článku Calibre 2.1: ještě lepší e-knihovna od Tomáš Hofman - Calibre je pro ruční práci s knihami fajn...

  • Článek je starý, nové názory již nelze přidávat.
  • 2. 9. 2014 19:41

    Tomáš Hofman

    Calibre je pro ruční práci s knihami fajn nástroj (ačkoliv je Sigil více autorsky zaměřený nástroj, připadá mi Calibre opravu lepší). Co mě na něm ovšem schází je ovladatelnost z příkazové řádky (pominu-li těch pár argumentů, které jsou spíš pro formu). Pro dávkové zpracování knih to není a co je horší, pro dávkové zpracování elektronických knih neexistují prakticky žádné rozumné nástroje (tedy minimálně co se formátu EPUB a MOBI týče, pro práci s PDF je nástrojů a knihoven dost).

    Validace by se ještě jakž takž dala zvládnout s epubcheckem (C++kový flightcrew je kupodivu pomalejší než javový epubcheck, nemluvě o tom, že jeho výstupy nejsou právě ideální - nedokáže detekovat některé nedostatky ve validitě OPF souborů, hlavně co se metadat týče). Pro práci s MOBI soubory lze sice jakž takž použít kindlegen, ale taky žádná sláva (chybové zprávy vypisuje do stdout, nemluvě o tom, že při dostatečně nevalidní knize - stačí non-well-formed XML v OPF souboru - prostě zdechne a neřekne vůbec nic).

    Pokud byste pak chtěli řešit třeba něco složitějšího, jako třeba generování náhledů z EPUBů, dávkové změny metadat, apod., máte smůlu a nezbude vám nic jiného, než si napsat utility vlastní, což je lidově řečeno masakr. Specifikace formátů jsou sice známé, nicméně už jen zběžné prostudování formátu OPF, nebo NCX vás od něčeho takového bezpečně odradí (čeká vás XML ve dvou vzájemně se prolínajících namespacech - už jen normalizace je práce pro vraha).

    Samostatnou kapitolou je pak manipulace s obsahovými částmi knihy. Například dávkově modifikovat obálku knihy je nesnadný úkol (chcete mít všechny knihy upravené tak, že na titulní stránce bude obrázek přebalu bez "keců" od vydavatele? Jde to, ale zapotíte se). Rovněž práce s obsahem/navigací může být zbytečně složitá. Nutno podotknout, že to je důsledek (podle mého názoru) poněkud přebujelé specifikace EPUB formátu. Vzhledem k tomu, že drtivá většina běžně dostupných knih (minimálně na českém trhu) je generována v Adobe InDesignu (který interně používá knihovnu Sigil), můžete se těšit i na to, že struktura tímto nástrojem vygenerovaného OPF souboru je otřesná (běžně chybí dc:language, dc:identifier se vyskytuje vícekrát, bez označení schématu, nedostatečné uvedení rolí dc:creator, jednou je namespace DC uvedený v kontejneru metadata, podruhé je u namespace inline v každém elementu metadat, a podobně).

    Vím že tento příspěvek je dost off-topic, píšu jej sem spíše jako varování těch, kteří by si snad (nedej bože) chtěli napsat nějaké nástroje na dávkové zpracování elektronických knih - tuto myšlenku s klidem zavrhněte a zůstaňte u ruční editace knih v Calibre. Neříkám, že to nejde (mluvím z vlastní zkušenosti - jeden takový on-line systém jsem komerčně napsal), ale za ty nervy co vás to bude stát, to prostě nestojí a opensource (a kupodivu ani closedsource) řešení neexistují.

    Zlaté Calibre!