首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中从PDF文件中提取文本?

如何在Python中从PDF文件中提取文本?
EN

Stack Overflow用户
提问于 2013-03-23 12:57:36
回答 1查看 27.5K关注 0票数 20

如何在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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-23 23:19:17

如果你运行的是linux或mac,你可以在你的代码中使用ps2ascii命令:

import os

input="someFile.pdf"
output="out.txt"
os.system(("ps2ascii %s %s") %( input , output))
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15583535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档