Portál AbcLinuxu, 3. května 2025 07:19
Zejména v zemích na východ od zemí sousedících s východní hranicí EU jsou lidé, kteří převedení knížky do .CHM považují za dobrý nápad. Tyto knížky pak mají třeba 700 MB, což přináší další výhody, o kterých se zmíním dále. Prohlížeče CHM by se pro Linux nakonec našly, ale elektronická knížka patří do čtečky, ne ? Tak co s tím ...
Ve Windows mají jasno - existují komerční aplikace, které by to měly převést. Linuxáci máme Calibre, která by to měla umět taky. Možná taky umí. Každopádně když jsem jí předvrhnul 700MB CHM soubor, tak po chvíli zdechla s tím, že už to trvá moc dlouho a už jí to nebaví. Hmm.Nastavení tohoto času jsem nějak nenašel . Takže pěkně ručně stručně
Nejdřív uděláme z CHM soubory formátu MHT. K tomu poslouží program archmage, který by měl být ve většině dobrých distribucí. Jednoduchý příkaz archmage soubor.chm nám vygeneruje plný adresář menších mht souborů, nějaký index html s krásným javascriptem atd. Knihu jsme tedy rozsekali na kapitoly a z ošklivého Win formátu převedli na jiný ošlivý Win formát. Hurá.
V dalším kroku uděláme z MHT HTML+obrázky.K tomu zneužijeme program mhonarc, který též žádejte u vašich distributorů (v Debianu je). Příkaz mhonarc -add <file.mht vygeneruje soubor msg*.html a pomocné indexy, které nebudeme potřebovat. Pokud máte extrémní štěstí, máte HTML soubor i s obrázky, zvonečky a pískátky. Život ale nebývá tak jednoduchý a tak pravděpodobně nějaký Vasil použil software, který prozřetelně ukládá soubory s absolutní cestou. V tom případě vás mhonarc obšťastní chybovou hláškou typu: Warning: Invalid base url, "file:///C:/6EC79145/" to apply to file/image073.jpg" a obrázky vyskládá na konec dokumentu, což není zrovna praktické.
Pokud se nám něco takového tedy stane, tak se musíme obtěžovat a přečíst si chybovou hlášku a problém vyřešit například takhle: sed -e s/"file:\/\/\/C:\/6EC79145\/"//g -e s/"file_files\/"//g file.mht >file_fixed.mht a file_fixed.mht znovu prohlat mhonarcem. Obrázky pak jsou nejen na konci, ale i průběžně tam, kam patří. Toto řešení sice není nejelegantnější, ale mít ještě jednou zopakované obrázky na konci dokumentu může být někdy i užitečné. V tento okamžik tedy máme validní HTML z CHM souboru. Mimochodem - touto operací se knížka zázračně scvrkla o 37%. Tak ještě ho narvat do mobi a jsme hotovi.
Pokud nemáme čas a potřebujeme jen jednu kapitolu (což bude mít bonus, že se v Kindle bude rychleji otevírat), můžeme použít můj návod na knížky-rychlokvašky - protože je cover povinný, buď použijeme obrázek z knížky nebo něco najdeme na netu a převedeme na potřebnou velikost (třeba convert books.jpeg -geometry x800 cover.jpg). Do headu html přidáme metadata (<metadata><meta name="cover" content="cover.jpg" /></metadata>), případně upravíme title a přeložíme pomocí kindlegen. Pokud jsme puntičkáři tak ještě předtím vyhodíme navigační menu vygenerované mhonarcem, které má z pohledu kindlu rozbité odkazy.
Kindlegen vyzvracel tohle:
************************************************** * Amazon.com kindlegen(Linux) V1.2 build 33307 * * A command line e-book compiler * * Copyright Amazon.com 2011 * ************************************************** Info(prcgen): Added metadata dc:Title "Moje Knizka" Info(prcgen): Parsing files 0000002 Info(prcgen): Resolving hyperlinks Warning(prcgen): Hyperlink not resolved: /cesta/maillist.html#00000 Warning(prcgen): Hyperlink not resolved: /cesta/threads.html#00000 Warning(prcgen): Hyperlink not resolved: /cesta/threads.html#00000 Warning(prcgen): Some hyperlinks could not be resolved. Info(pagemap): No Page map found in the book Warning(SA): SA failed Info(prcgen): Computing UNICODE ranges used in the book Info(prcgen): Found UNICODE range: Basic Latin [20..7E] Info(prcgen): Found UNICODE range: Latin-1 Supplement [A0..FF] Info(prcgen): Found UNICODE range: General Punctuation - Windows 1252 [2013..2014] Info(prcgen): Found UNICODE range: Geometric Shapes [25A0..25FF] Info(prcgen): Building MOBI file, record count: 0000270 Info(prcgen): Final stats - text compressed to (in % of original size): 000.00% Info(prcgen): The document identifier is: "Moje_Knizka" Info(prcgen): The file format version is V5 Info(prcgen): Saving MOBI file Info(prcgen): MOBI File generated with WARNINGS!
Vznklý mobi ale nejde otevřít. Hmmm. Zkouším starší kindlegen (V1.0 build 85), který SA failed nepíše.Knížka jde normálně otevřít, obrázky jsou pochopitelně černobílé, ale kvality vyhovující (tedy až na ten přebal ).
Jak jsme na tom s velikostí výsledného souboru ? U druhé kapitoly se "rozbalením" MHT do html+jpg+png ušetřilo "jen" 27% velikosti, výsledný mobi soubor ale zabírá jen 19% původní velikosti MHT (t.j. úspora 81% !!).I když přihlédnu k faktu, že převodem všech kapitol z CHM do MHT data nabobtnala zhruba o 10%, nechápu proč se ty soubory s nápovědou používají !
Tiskni
Sdílej:
ebook-convert book.chm book.mobiZdroj
Já jsem nevěděl, že CHM na Kindle nejde otevřít a tak jsem ho otevřel.
Tak teď už to víš a ani si neškrtneš
Jen bych dodal, že CHM soubor umí do HTML struktury rozpakovat také 7zip (alespoň jeho Win verze ano, až budu doma, zkusím případně i to, zda toto podporuje i p7z či nadstavba K7Z, ale předpokládám, že by to mohlo umět obecně).
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.