Извлечение заголовков из файлов PDF?
Я хочу написать script, чтобы автоматически переименовать загруженные документы с их заголовками, мне интересно, есть ли какая-нибудь библиотека или трюки, которыми я могу воспользоваться? Все файлы PDF генерируются TeX и должны иметь некоторые "формальные" структуры.
Ответы
Ответ 1
Вы можете попытаться использовать pyPdf и этот пример.
, например:
from pyPdf import PdfFileWriter, PdfFileReader
def get_pdf_title(pdf_file_path):
with open(pdf_file_path) as f:
pdf_reader = PdfFileReader(f)
return pdf_reader.getDocumentInfo().title
title = get_pdf_title('/home/user/Desktop/my.pdf')
Ответ 2
Я бы, наверное, начинал с perl (видя, что это всегда первое, что я достигаю). Существуют несколько модулей для обработки PDF файлов. Если у вас есть согласованная структура, вы можете использовать регулярное выражение для удержания заголовков.
Ответ 3
Вы можете использовать iText с Jython
Ответ 4
Предполагая, что все эти документы взяты из arXiv, вы могли бы извлечь идентификатор arXiv (я бы предположил, что поиск "arXiv:" в тексте PDF будет постоянно показывать идентификатор как первый хит).
Как только у вас есть ссылочный номер arXiv (и выполнил pip install arxiv
), вы можете получить заголовок, используя
paper_ref = '1501.00730'
arxiv.query(id_list=[paper_ref])[0].title