如何在Python中从PDF文件中提取文本?
我尝试了以下几种方法:
import sys
import pyPdf
def convertPdf2String(path):
content = ""
pdf = pyPdf.PdfFileReader(file(path, "rb"))
for i in range(0, pdf.getNumPages()):
content += pdf.getPage(i).extractText() + " \n"
content = " ".join(content.replace(u"\xa0", u" ").strip().split())
return content
f = open('a.txt','w+')
f.write(convertPdf2String(sys.argv[1]).encode("ascii","xmlcharrefreplace"))
f.close()
但结果如下,而不是可读的文本:
728;ˆˆˆ˜#$·ˆ˚ˆˇˆ#$%&('%$&))$$+%#,-.+&&˝()*˝+,-./012)(ˆ˝˛˛˛˛ˆ˜ˆˆˆ˘ˆ˛)ˆ“ˆ˘,-3·ˆ˘˛ˆ˜/0245)ˇˆ˜˚ˇˇ!”“˘ˇˆ,+2,+/!#!!&ˆ˝˛˛˛˛ˆ˜ˆˆˆ˘ˆ˛1”%˘20˛˛3ˆ07%4!˘“6˛ˆ˝ˆˆ˘&/&4”9ˆ%6ˇ%4%4&5˘2)˘˘˛%:6
发布于 2013-03-23 23:19:17
如果你运行的是linux或mac,你可以在你的代码中使用ps2ascii命令:
import os
input="someFile.pdf"
output="out.txt"
os.system(("ps2ascii %s %s") %( input , output))
https://stackoverflow.com/questions/15583535
复制相似问题