У меня есть два отчета в формате PDF с одинаковым форматом из того же источника, единственная разница - дата отчета - одна для 2016 года, другая - для 2015 года. Вот как получить pdf-файлы:Python не смог извлечь PDF-текст
- Перейти к https://www.ffiec.gov/nicpubweb/nicweb/InstitutionProfile.aspx?parID_Rssd=1039502&parDT_END=99991231
- выберите 2016-06-30 и нажмите кнопку Создать отчет рядом с четвертым докладом из верхней части (т.е. банковской организация доклада системного риска (FR Y-15))
- нажмите Ваш запрос готово для получения финансового отчета и загрузки pdf, который открывается
- Повторите шаги 1-3, но вместо этого выберите 2015-12-31 на этапе 2
Эти два документа являются нормативными документами для JP Morgan. Информация, которую я хочу, это цифры в синем цвете, которые можно однозначно идентифицировать по клавишам слева. Например, первая позиция на стр. 2 - a. Текущее воздействие контрактов на производные - может быть однозначно идентифицировано M337.
Вот что я пытался получить номера:
- Я открыл два PDF-в Notepad ++ и Ctrl-F для "M337". Для 2016 года в формате pdf строка была там, и соответствующее число не отставало. Для 2015 года PDF, однако, ни строка, ни число может быть найдено
я открыл в PDF-питон в виде двоичных файлов
with open('2016.pdf', 'rb') as handle: pdf_str = handle.read()
и искали M337 в pdf_str. Строку можно найти в 2016.pdf, но не в 2015.pdf
- Я попытался использовать функцию Adobe Acrobat Save As Other для сохранения pdf-файлов в формате txt и получил те же результаты - строка была в 2016.txt, но не в 2015.txt
Кто-нибудь знает, что происходит?
Спасибо, что ознакомили меня с 'pdftotext'. Я попробовал инструмент, но полученный txt был «плоским», поскольку он игнорирует относительный интервал содержимого в исходном pdf. Например, следующие три сегмента находятся в одной строке в pdf, но находятся в отдельных строках в txt: 'a. Текущее воздействие контрактов на производные, 'M337',' 71624000'. Любая идея, как я могу заставить их отображаться в одной строке в txt? – Nero
К сожалению, PDF - это ужасный формат файла для анализа данных. Он предназначен для отображения контента точно и последовательно на всех устройствах, и поэтому содержимое PDF не может быть организовано в полезные таблицы на двоичном уровне, даже если это похоже на чтение в PDF-ридере. Мой лучший совет - попытаться использовать библиотеку Python, предназначенную для анализа PDF-файлов, и посмотреть, есть ли у нее инструменты, чтобы дать вам нужные результаты. – twrightsman
Добавление -layout как опция при запуске pdftotext дает мне то, что я хотел. – Nero