我试图将pdf文档转换为txt文件。 (pdf文件示例link)
所以我试了一下。
但是提取的文本很奇怪,就像??챘#?遏?h첨챦_철?‾n?~w??¬?k
我怎样才能修好它?
#!/usr/bin/python
# -*- coding: cp949 -*-
# -*- coding: utf-8 -*-
# -*- coding: latin-1 -*-
# -*- coding: euc-kr -*-
import codecs
import pyPdf
filename = "d:/data/processed_data/paper/iscram/2006/iscram1.pdf"
#pdf = codecs.open(filename, "rb", encoding = 'utf-8')
pdf = codecs.open(filename, "rb", encoding = 'latin1')
for page in pdf:
print page.encode('utf-8')
我用的是win7-64位韩文版本。
我尝试了另一种方法,使用pyPdf,如下所示
import os
import glob
from pyPdf import PdfFileReader
import pdfminer
f=open("d:/data/processed_data/paper/iscram/2006/iscram1.txt",'w')
parent = "d:/data/processed_data/paper/iscram/2006"
os.chdir(parent)
filename = os.path.abspath('iscram1.pdf')
input = PdfFileReader(file(filename, "rb"))
for page in input.pages:
f.write(page.extractText())
但它不起作用,出现“ascii”编解码器无法对位置602中的字符u'\u0152'进行编码:序号不在范围(128)内的错误
以前的代码根本不能工作,PDF根本不一定包含直接可读的文本。不过,使用pyPdf的后一个代码看起来更有希望。
之所以引发^{} ,是因为pages in PDF(The
page
)不是字符串,但f.write
希望看到字符串。因此,您可以尝试使用文档中的
extractText
方法:相关问题 更多 >
编程相关推荐