我想转换一本在线书籍(我可以将 html 文件(包括链接的 html 文件)转换为 pdf 文件。
我尝试了两步法http://kmkeen.com/mirror/2009-02-05-14-00-00.html
首先,通过以下方式下载html文件
wget -nd -mk http://www.unknownroad.com/rtfm/gdbtut/
但它下载了很多不相关的文件。所以我必须删除不相关的文件。
然后,我尝试将下载的 html 书转换为 pdf 文件:
htmldoc --webpage -f gdb.pdf html/index.html html/*.html
但 pdf 文件中的页面顺序不正确。
我想知道下载在线书籍(链接的 html 文件)并将其转换为 pdf 文件的好方法是什么?
我的操作系统是 Ubuntu 12.04。
答案1
正如您链接的说明中所述:
默认的全局扩展将页面按字母顺序排列。
索引页链接到九个不同的文档,其名称不按字母顺序排列。当您说 时htmldoc ... *.html
,工具会按该顺序查看它们,并按字母顺序将页面放入文档中。您需要按照要htmldoc
处理的顺序在命令行上列出文件。
在这种特定情况下,您可以生成文件名的有序列表,因为它们在索引中链接为:
awk '/http:|\.\./ {next}; /<a href.*\.html/ { gsub(/.*href="/, "") ; gsub(".html.*", ".html") ; print }' index.html | uniq
所以
htmldoc --webpage -f gdb.pdf index.html $(awk '/http:|\.\./ {next}; /<a href.*\.html/ { gsub(/.*href="/, "") ; gsub(".html.*", ".html") ; print }' index.html | uniq)
就会达到你想要的效果。