遍历并将基于 HTML 的文档目录转换为文本或 PDF

遍历并将基于 HTML 的文档目录转换为文本或 PDF

标准系统包的文档包含在:

 /usr/share/doc/rsyslog-5.8.10 (distros: RHEL 6/Centos 6)

然而它都是*.html。我想以正确的顺序遍历所有文件,并生成单个 PDF 文件或单个 TXT 文件,以便可以打印和离线阅读文档,而无需手动逐页阅读。

我该怎么做呢?

答案1

(find /usr/share/doc/rsyslog-5.8.10/ -type f -name \*.html -exec w3m -dump {} \; ) > /path/to/mydocs.txt

如果列出文件的顺序find符合您组织的喜好,您可以使用它w3m(控制台 HTTP 客户端)为您呈现 HTML,并将它们全部汇总到一个文件中。

如果您不喜欢该顺序,则可以避开该-exec参数来获取文件列表,然后在使用 咀嚼生成并排序的列表之前重新排序它们w3m

答案2

由于我没有w3m从我的系统上的先前答案中找到,我将安装html2text并运行:

find /usr/share/doc/rsyslog-5.8.10/ -type f -name \*.html -exec html2text {} >> all_docs.txt \;

答案3

为了让它们按正确的顺序排列,您必须检查目录并从中生成文件列表,按照各个部分/章节的顺序。一旦您有了该列表 $HTMLLIST,您就可以使用wkhtml生成 pdf:

wkhtmltopdf --enable-local-file-access index.html "$HTMLLIST" rsyslog.doc.pdf

确保您使用其中一个版本发布在这里,因为存储库中的通常只能处理单个 html。

相关内容