PDFMinerを使用してPDFをテキストに変換しています。次に、テキストがヘブライ語であるため、 UTF-8にエンコードしたいと思います。
これは PDFMiner のコードです。
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO
from pdfminer.pdfparser import PDFParser
def convert_pdf_to_txt(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = file(path, 'rb')
parser = PDFParser(fp)
doc = PDFDocument(parser)
parser.set_document(doc)
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
maxpages = 0
caching = True
pagenos=set()
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
text = retstr.getvalue()
fp.close()
device.close()
retstr.close()
return text
今私がそれを印刷しようとすると:
elif file[-4:] == ".pdf":
text = convert_pdf_to_txt("C:\Users\Vadim\Desktop\Python\New_cvs\\" + file)
print text
「car」ではなく「rac」のようにテキストが逆になりますが、ヘブライ語です。
どうすれば修正できますか?
tuple slicing を試してみましたが、メール本文と電話番号本文が逆になってしまうので、仕方ありません。
''.join(reversed(myString))
また、オプションではありません:(