2009-05-26 22 views
13

Chcę napisać skrypt, aby zmienić nazwę pobranych dokumentów z ich tytułami automatycznie, zastanawiam się, czy jest jakaś biblioteka lub sztuczki, z których mogę skorzystać? Wszystkie pliki PDF są generowane przez TeX i powinny mieć pewne "formalne" struktury.Wyodrębnianie tytułów z plików PDF?

+0

Skąd tytuł pliki PDF? Czy te informacje muszą zostać wyodrębnione z właściwości dokumentu PDF lub z treści PDF lub czy wyodrębniłeś te informacje z innego źródła? – Rowan

+0

Możliwy duplikat [Wyodrębnianie informacji z plików PDF z prac badawczych] (http://stackoverflow.com/questions/1813427/extracting-information- from-pdfs-of-research-papers) – Seanny123

Odpowiedz

13

można spróbować użyć pyPdf i this example.

na przykład:

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') 
+0

dla mnie 'title = untitled' – ar2015

+0

pyPdf .utils.PdfReadError: Nie znaleziono znacznika EOF – Victor

0

Zakładając te wszystkie papiery są z arXiv, można zamiast wydobyć id arXiv (Przypuszczam, że poszukiwania "arXiv:" w tekście PDF konsekwentnie ujawni identyfikator jako pierwsze trafienie).

Po uzyskaniu numeru arXiv (i zrobili pip install arxiv), można uzyskać tytuł korzystając

paper_ref = '1501.00730' 
arxiv.query(id_list=[paper_ref])[0].title 
Powiązane problemy