问题描述
我想提取pdf文本并使用一些常规wxpression来过滤信息。 我正在使用fitz在Python 3.7.4中进行编码以解析pdf。 PDF是用德语编写的。我的代码如下:
doc = fitz.open(pdfpath)
pagecount = doc.pageCount
page = 0
content = ""
while (page < pagecount):
p = doc.loadPage(page)
page += 1
content = content + p.getText()
打印内容时,我意识到文档的前半部分(也是重要的部分)被解码为日语(?)符号和其他符号的奇怪组合,如下所示:ョ。 オ ウ キ ・ ゥ エ オ ョ ァ @ ュ。 我尝试通过不同的解码方式(latin-1,'iso-8859-1')解决该问题,编码肯定是在utf-8中进行的。
content= content+p.getText().encode("utf-8").decode("utf-8")
有什么建议吗? 预先感谢!
import minecart
file = open(pdfpath,'rb')
document = minecart.Document(file)
for page in document.iter_pages():
for lettering in page.letterings :
print(lettering)
..这会导致相同的问题。
使用textract,前半部分是一个空字符串:
import textract
text = textract.process(pdfpath)
print(text.decode('utf-8'))
与PyPDF2相同:
import PyPDF2
pdfFileObj = open(pdfpath,'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
for index in range(0,pdfReader.numPages) :
pageObj = pdfReader.getPage(index)
print(pageObj.extractText())
我没问题,因为它看起来像是带有普通文本的普通PDF。另外,某些pdf也不存在此问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)