htmldoc 的编码问题以及与 htmldoc 类似的程序?

htmldoc 的编码问题以及与 htmldoc 类似的程序?

我想将一些 html 文件转换为单个 pdf 文件。

  1. 我用了htmldoc

    htmldoc --webpage --header "/" --footer "" -f all.pdf   0010.html 0099.html
    

    输出结果all.pdf有些部分转换得不太好。例如,数学表达式⌈(1.02 n)⌉(红色框中)显示不正确,并且添加了一些小图标(绿色框中)。(见下图。)

    有一个--charset选项htmldochttp://sunsite.ualberta.ca/Documentation/Misc/htmldoc-1.8.23/htmldoc.html。我没找到utf-8。哪一个可以很好地显示数学表达式?

    我该如何htmldoc正确使用将html文件转换并合并为pdf文件,以尽可能避免上述问题?

  2. 我通过在 Google Chrome 浏览器中将 html 文件打印为 pdf 文件来排除问题来自 html 文件的可能性。它看起来很好,没有上述问题。(见下图。)

    但我喜欢命令行解决方案,它最好能够像htmldoc使用选项将 html 文件结构化为 pdf 文件一样工作--book

    是否有类似的命令行程序htmldoc可供我尝试,看看它们是否可以正常工作而不会出现上述问题?

我的所有文件(html 文件和生成的 pdf 文件)都在这个 tar 档案

0010_files 0010.html 0099.html 0099_files  all.pdf 0010.pdf    

其中是由两个 html 文件all.pdf生成的单个 pdf 文件, 是在 Google Chrome 中打开并打印生成的 pdf 文件。htmldoc0010.pdf0010.html

输出htmldoc和我手动添加的三个轮廓框:

在此处输入图片描述

0010.htmlGoogle Chrome打印的输出:

在此处输入图片描述

答案1

html2doc 不支持 UTF-8。可能在 1.9 版中会支持。

这是另一个选择:

安装wkhtmltopdf:使用 WebKit 将 html 转换为 pdf 或图像的命令行实用程序。

sudo apt-get install wkhtmltopdf

并安装poppler-utils

sudo apt-get install poppler-utils

转到你的 html 文件:

cd <your_html_path>

并使用以下命令开始单个文件的转换:

wkhtmltopdf 0010.html 0010.pdf
wkhtmltopdf 0099.html 0099.pdf

或者一次针对所有文件:

for f in *.html; do wkhtmltopdf "$f" "${f%%.*}.pdf"; done

将所有单个pdf文件转换为一个:

pdfunite *.pdf out.pdf

或者作为脚本:

#!/bin/bash
# Convert all html files in the current folder into one pdf
#
for f in *.html; do wkhtmltopdf "$f" "${f%%.*}.pdf"; done
pdfunite *.pdf out.pdf

有关 wkhtmltopdf 的更多信息和选项这里

相关内容