我该如何克服描述中的 chm2pdf 错误?

我该如何克服描述中的 chm2pdf 错误?

错误是:

ERR011: Unable to parse HTML element on line 13!
PAGES: 2854
BYTES: 9759142
Something wrong happened when launching htmldoc.
exit value:  256
Check if output exists or if it is good.
Done.

我从跑步中学到chm2pdf --webpage '/home/brentonhorne/Drugs/CHM/Goodman and gillman.chm'

我查看了生成的 PDF,它有

ÿØÿàJFIFÿÛC  
$$$$$'--'7;7LLPÿÛC  
"$"'--'7;7LLfÿÀXÎ"ÿÄÿÄ^!1"A2Qaq#BRTbr¡²³Ò36CSst¢±Ñ$%45U´ÁÂÓ¿Dcd£âÃãðEáñ&euòÿÄ?ÓÉ,ãÍé:«+ÜcÃ#ÿJ¦sñÒñ´VУ¹æè ÿÒ5Fk»ÁO'ôÚÜC ÷ <
¦Ôð³NÀ·8¡»ºhA2ÉÃ4SLkæ;¤vȱ¬õ«xJì9þ-ÿf··¢gz«åMìê Ǻ³²Ü\ËÞ: Ê qê

第一页(书的封面)。它还无法渲染许多图像和方程式,许多文本格式丢失(原始 CHM 文件中许多粗体的内容不再是粗体)。我该如何克服这个问题?如果有帮助的话,我正在运行 32 位 12.10。

CHM2PDF_TEMP_WORK_DIR=tempfile.mkdtemp()
CHM2PDF_TEMP_ORIG_DIR=tempfile.mkdtemp()

位于 /usr/bin/chm2pdf python 脚本中。

答案1

当 HTML 包含其他语言(如 javascript)或包含格式错误时,这是​​一个正常错误。

使用--extract-only从中提取 HTML 文件CHM,将 HTML 文件更改为有效的 HTML,然后使用--dontextract将新文件转换为单个 PDF(--extract-only并且--dontextract创建选项只是为了克服这些类型的错误)。

关于提取和操作文件的一些指针可以在这里找到:

- 这这 3 个链接中的第一个显示 2 个选项CHM2PDF_TEMP_WORK_DIRCHM2PDF_TEMP_ORIG_DIR用于存储磁盘上的临时文件。来自链接:

这是脚本中唯一可更改的变量。用户可以将其更改为任何他喜欢的变量 - 无需其他更改。从 CHM2PDF_TEMP_WORK_DIR 和 CHM2PDF_TEMP_ORIG_DIR,chm2pdf 通过添加 CHM 文件的基本名称(不带 .chm 结尾)来计算其原始目录和工作目录。因此,如果您给它 /home/chris/my-file.chm 进行转换,它将使用 /tmp/chm2pdf/work/my-file 作为工作目录,并使用 /tmp/chm2pdf/orig/my-file 作为原始目录。它将 CHM 文件中包含的文件展开到原始目录中,然后将所需的文件复制到其工作目录中并继续在那里。原始的 TEMP_DIR 和 TEMP_OUT 根本无法开箱即用。

相关内容