PDFMiner编码为UTF-8

2024-04-25 15:19:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用PDFMiner将PDF转换为文本。然后我想把它编码成UTF-8,因为文本在Hebrew中。在

这是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

现在当我试图打印它时:

^{pr2}$

它让我把文本倒过来,像“rac”而不是“car”,而是希伯来语。在

我怎么纠正?在

我尝试过元组切片,但是它会反转邮件文本和电话号码文本,所以这不是一个选项。在

''.join(reversed(myString))

也不是一个选项:(


Tags: from文本importparserdevicepagepasswordpdfminer