Как читать PDF-файлы на азиатских языках (китайский, японский, тайский и т. Д.) И хранить их в виде строки в python

1

Я использую PyPDF2 для чтения PDF файлов в python. Хотя он хорошо работает для языков на английском и европейском языках (с алфавитами на английском языке), библиотека не читает азиатские языки, такие как японский и китайский. Я пробовал encode('utf-8'), decode('utf-8') но ничего не работает. Он просто печатает пустую строку при извлечении текста.

Я пробовал другие библиотеки, такие как textract и PDFMiner, но пока ничего не добился.

Когда я копирую текст из PDF и вставляю его в блокнот, символы превращаются в текст случайного формата (возможно, в другой кодировке).

def convert_pdf_to_text(filename):
    text = ''
    pdf = PyPDF2.PdfFileReader(open(filename, "rb"))
    if pdf.isEncrypted:
        pdf.decrypt('')
    for page in pdf.pages:
        text = text + page.extractText()
    return text

Может кто-то указать мне верное направление?

Теги:
nlp
unicode
text-extraction
pdf-reader

1 ответ

1
Лучший ответ

Я тоже сталкивался с подобной проблемой. Я мог бы решить это, используя библиотеку "tika-python".

import tika
tika.initVM()
from tika import parser
parsed = parser.from_file('fileName.pdf')
print(parsed["metadata"])
print(parsed["content"])

Вы можете найти дополнительную информацию о библиотеке здесь

  • 0
    Кажется, это именно то, что я искал. Спасибо вам большое!
  • 0
    что делает tika.initVM ()?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню