Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

украинская кодировка в pyPDF


(kom) #1

Нужно получить текст из pdf файла с укр. и англ. текстом :
Использую код с http://code.activestate.com/recipes/511465-pure-python-pdf-to-text-converter/:

import os
import glob
import pyPdf
import codecs

parent = "C:/Python"
os.chdir(parent)
filename = os.path.abspath('receipts.pdf')

def getPDFContent(path):
    content = ""
    # Load PDF into pyPDF
    pdf = pyPdf.PdfFileReader(file(path, "rb"))
    # Iterate pages
    for i in range(0, pdf.getNumPages()):
        # Extract text from page and add to content
        content += pdf.getPage(i).extractText() + "/n"
    # Collapse whitespace
    #content = " ".join(content.replace(u"/xa0", " ").strip().split())
    return content


print getPDFContent(filename).encode("cp1251", "xmlcharrefreplace")  

Пробовал разные кодировки, но в результате на экране все равно не то либо крякозябры, либо цифры и англ. буквы, украинских никогда не видно


(kom) #2

Проблема решена с помощью утилиты pdfminer