安装Scraperwiki时出现错误:未找到pdftohtml
我一直在尝试为Python安装Scraperwiki模块。但是,它出现了一个错误:
""用户警告:本地Scraperlibs需要pdftohtml,但在PATH中找不到pdftohtml。你可能需要安装它"。
我查了一下poppler,因为他们有pdftohtml这个文件,但我不知道它是怎么工作的——我需要安装一个Python库还是一个.exe文件?我该怎么安装它呢?我是在Windows系统上运行。
非常感谢
1 个回答
0
如果你不打算使用 scraperwiki.pdftoxml()
这个功能,那么这个警告就和你无关了。不过,这并不妨碍你安装 scraperwiki
这个包。
另外,这个功能在Windows上根本无法正常使用,因为它使用了 NamedTemporaryFiles
,而这个在Windows和Linux上的表现是有区别的,具体可以参考这篇文章。
如果你确实想使用这个功能,最简单的方法是在Windows上下载 Calibre Portable 的最新版本。(在Sourceforge上的版本比较旧。)
你可以把它安装在任何地方;你只需要从中提取几个文件。从你安装的文件夹中,找到包含 calibre.exe 的文件夹,把 pdftohtml.exe
复制到你的工作文件夹里,同时还需要从 Calibre 安装目录下的 DLLs
文件夹中复制 freetype.dll
、jpeg.dll
、libpng12.dll
和 zlib1.dll
。
你还需要基于 scraperwiki.pdftoxml()
的其他代码,比如:
def pdftoxml(pdfdata, options):
"""converts pdf file to xml file"""
# lots of hacky Windows fixes c.f. original
with open('input.pdf', 'wb') as f:
f.write(pdfdata)
cmd = 'pdftohtml -xml -nodrm -zoom 1.5 -enc UTF-8 -noframes '
if options:
cmd += options
cmd += 'input.pdf output.xml'
cmd = cmd + " > NUL 2>&1"
os.system(cmd)
with open('output.xml', 'r') as f:
return f.read()
(我最近在帮一个Windows用户解决这个问题;我会保持这个代码片段的更新。)