Я пробовал следующее на вашем PDF-файле и, похоже, извлекает много текста, я предполагаю, что это может быть не в лучшем макете, но я не могу сказать.
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
def convert_pdf_to_txt(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
with open(path, 'rb') as fp:
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
caching = True
pagenos = set()
for page in PDFPage.get_pages(fp, pagenos, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
text = retstr.getvalue()
device.close()
retstr.close()
return text
print convert_pdf_to_txt("Electoral roll - Faizabad.pdf")
Он показывает, как utf-8
, так что вы должны убедиться, что ваш вывод на консоль способна отображать с помощью этого.
Например:
भभग ससखखभककल मतदभतभ 11 1.रजजरभ आसशशकपपथममक ववददपलद रजजरप - सपमपनद779 420 359 0 779ननरभरचक नभमभरलल 2014 0S24उततर पददशवरधभन सभभ कदत कक ससखखभ ,नभम र आरकण सससनत:ललक सभभ कदत कक ससखखभ ,नभम र आरकण सससनत: 1 . पकनरलकण कभ वरररणपकनरलकण कभ ररर : 2014अहतभर कक नतथस: 01.01.2014पकनरलकण कभ सररप: ससककपत पकनरलकणपकभशन कक नतथस: 01.10.2013पकनरमकदण कक नतथस : 15.03.2014
Чтобы определить список шрифтов, которые он использует, вы можете просто загрузить PDF в устройство для чтения PDF, таких как Adobe Reader
или Foxit Reader
и выберите Properties
из меню Файл. Отсюда вы можете выбрать Fonts
. Когда я попытался это с Foxit Reader
он отображается следующие шрифты:
Mangal-Bold
Arial
Mangal
Arial Bold
Times-New-Roman-Bold
ли вы быть в состоянии добавить ссылку на оригинальный PDF? –
[Оригинал Pdf] (https://drive.google.com/file/d/0B6HtqTuwelWJeEtHb1F6Ty1YMlk/view?usp=sharing) –
@Gaurav: У вас были какие-то возможности получить решение для вышеупомянутых вопросов? –