我试图将PDF文档的页面转换为Linux机器上的图像文件。我正在使用Imagemagick,它非常适合英语PDF格式,例如:
en.pdf
但是对于阿拉伯语,对于以下文件small.pdf (您可以清楚地看到它没有损坏),当我运行转换命令时,它会给出以下错误消息:
-bash-3.2$ convert test_pdf_ar_small.pdf[1] small-1.jpg**警告:读取XREF表.时出错 *文件已损坏。这可能是由于转换或传输文件时出现问题而导致的*。** Ghostscript将尝试恢复数据。错误: /undefined in /BXlevel操作数栈: 65 0 1-dict:6/6(Ro)(G)- obj执行堆栈:%interp_exit .runexec2 -新字符串-- -新弦乐--新弦乐--2 %stopped_push -新弦乐--假1 %stopped_push 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop,新弦乐 -新弦乐--假1 %stopped_push --新弦乐--辞典栈:-辞典:1129/1686(Ro)(G)
我试着用鬼怪脚本打开PDF,它似乎也给出了同样的错误:
-bash-3.2$ gs test_pdf_ar_small.pdfESP Ghostscript 815.02 (2006-04-19)版权(C) 2004年artofcode有限责任公司,本西亚,加利福尼亚州.版权所有。这个软件没有保修:详情见文件公开。**警告:读取XREF表时出错。*文件已损坏。这可能是由于转换或传输文件时出现问题而导致的*。** Ghostscript将尝试恢复数据。错误: /undefined中的/BXlevel操作数堆栈: 65 0 1-裁定:6/6(Ro)(G)- obj执行堆栈: %interp_exit .runexec2 --新弦乐,新弦乐 -新弦乐--2 %stopped_push --新弦乐--假1 %stopped_push 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop . false =‘false 6’>字典栈:107/200(L)出口代码1
我试图使用Perl中的图像魔法,但是没有处理相同的错误。
然而,当我试图在窗口上使用鬼怪脚本时,它能够打开文件,尽管有一些警告。所以问题是在Linux上打开这些PDF。
有没有处理这些错误的方法,或者从PDF中提取图像的替代方法?
发布于 2013-06-19 15:12:37
您必须首先更新您的幽灵脚本,并以某种方式告诉imagemagick使用它(通过调优$PATH或delegate.xml)。
但是,您也可以直接使用鬼怪脚本,下面是一个示例:
gs -dNOPAUSE -sDEVICE=jpeg -dFirstPage=1 -dLastPage=1 \
-sOutputFile=out%d.jpg \
-dJPEGQ=100 -r300x300 -q \
test_pdf_ar_small.pdf -c quit请注意-sOutputFile选项,它是输出文件名的模板(其中%d是从FirstPage到LastPage的整数范围),因此在上面的示例中,单个输出文件将被称为out1.jpg。
学分转到@mkl以获得更好的gs错误解释。
https://stackoverflow.com/questions/17190437
复制相似问题