2009-05-26 29 views
13

İndirilen makaleleri otomatik olarak başlıklarıyla yeniden adlandırmak için bir komut dosyası yazmak istiyorum. Kullanabileceğim kütüphane veya püf noktaları olup olmadığını merak ediyorum. PDF'lerin hepsi TeX tarafından üretilmiştir ve bazı 'resmi' yapılara sahip olmalıdır.PDF dosyalarından başlıklar ayıklanıyor mu?

+0

kullanarak başlık alabilirim? Bu bilgilerin PDFs belge özelliklerinden veya PDF içeriğinden alınması mı gerekiyor yoksa bu bilgiyi başka bir kaynaktan mı çıkarıyorsunuz? – Rowan

+0

[Araştırma ödevlerinin PDF'lerinden bilgi çıkarma] 'nın olası kopyası (http://stackoverflow.com/questions/1813427/extracting-information-from-pdfs-of-research-papers) – Seanny123

cevap

13

pyPdf ve this example'u kullanmayı deneyebilirsiniz. örneğin

:

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

benim için 'title = untitled' – ar2015

+0

pyPdf .utils.PdfReadError: EOF işaretçisi bulunamadı – Victor

2

Muhtemelen perl ile başlayacağım (her zaman ulaştığım ilk şey olduğu için). several modules for handling PDFs vardır. Tutarlı bir yapınız varsa, başlıkları zapt etmek için regex'i kullanabilirsiniz.

2

Sen, bunun yerine arXiv kimliği çıkarılamadı olabilir Jython

0

bütün bu kağıtlar arXiv gelmektedir varsayarsak ile iText kullanmayı deneyebilirsiniz (aradığım olduğunu tahmin ediyorum PDF'nin metnindeki "arXiv:" ifadesi, sürekli olarak ilk isabet olarak kimliği gösterir. Eğer arXiv referans numarasına sahip (ve bir pip install arxiv yapmış) Bir kere

, size gelen PDF'leri başlığını alabilirim

paper_ref = '1501.00730' 
arxiv.query(id_list=[paper_ref])[0].title