Страницы

Поиск по вопросам

воскресенье, 16 февраля 2020 г.

Конвертировать текст на русском из pdf в txt python

#python #pdf


Пытаюсь конвертировать кирилицу из pdf в txt c помощью PyPDF2 в Python:

import PyPDF2
pdf_file = open('mail_cir.pdf', 'rb')
read_pdf = PyPDF2.PdfFileReader(pdf_file)
number_of_pages = read_pdf.getNumPages()
page = read_pdf.getPage(0)
page_content = page.extractText()
print (page_content.encode('utf-8'))


Ошибки не выдает, но и текст не видит.

Пыталась изменить:

 pdf_file = codecs.open('mail_cir.pdf', 'rb', encoding='utf-8')


Тогда выдается ошибка: 


  TypeError: Can't convert 'bytes' object to str implicitly


И другой вопрос:

Если конвертировать стих, то после окончания строки на пустом месте выводится \n
\n. Как избавиться от этих символов?
    


Ответы

Ответ 1



Можно воспользоваться PDFMiner, чтобы текст, включающий русские буквы, из pdf достать: #!/usr/bin/env python import sys import pdfminer.high_level # $ pip install pdfminer.six with open('mail_cir.pdf', 'rb') as file: pdfminer.high_level.extract_text_to_fp(file, sys.stdout) pdf2txt.py показывает как эта функция может быть использована—можно много опций передать. Ввод (в pdf) English 🇬🇧 На русском 🇷🇺 Smiley: ☺ non-BMP smiley: 😂 Вывод (текст в консоли) English На русском Smiley: ☺non-BMP smiley: Русский текст нормально извлёкся, но non-BMP смайлик 😂 (U+1F602) и флаги 🇬🇧 (U+1F1EC U+1F1E7), 🇷🇺 (U+1F1F7 U+1F1FA) потерялись при конвертации. Код с PyPDF2, похожий на приведённый в вопросе, смог извлечь только символы в ASCII диапазоне.

Комментариев нет:

Отправить комментарий