2009-05-26 94 views
13

Tôi muốn viết một kịch bản để đổi tên các giấy tờ đã tải xuống với tiêu đề của chúng tự động, tôi tự hỏi liệu có bất kỳ thư viện hoặc thủ thuật nào tôi có thể sử dụng không? Các tệp PDF đều được tạo bởi TeX và phải có một số cấu trúc 'chính thức'.Trích xuất tiêu đề từ tệp PDF?

+0

Nơi nào bạn nhận được danh hiệu PDF từ đâu? Thông tin đó có cần được trích xuất từ ​​các thuộc tính tài liệu PDF hoặc từ nội dung của tệp PDF hoặc bạn có trích xuất thông tin đó từ một số nguồn khác không? – Rowan

+0

Bản sao có thể có của [Trích xuất thông tin từ tệp PDF của các tài liệu nghiên cứu] (http://stackoverflow.com/questions/1813427/extracting-information-from-pdfs-of-research-papers) – Seanny123

Trả lời

13

Bạn có thể thử sử dụng pyPdfthis example.

ví dụ:

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

cho tôi 'title = untitled' – ar2015

+0

pyPdf .utils.PdfReadError: Không tìm thấy dấu EOF – Victor

2

Tôi có thể bắt đầu với perl (nhìn thấy nó luôn là thứ đầu tiên tôi tiếp cận). Có several modules for handling PDFs. Nếu bạn có một cấu trúc nhất quán, bạn có thể sử dụng regex để snag các tiêu đề.

0

Giả sử tất cả những giấy tờ từ arXiv, bạn thay vì có thể trích xuất các id arXiv (tôi đoán rằng tìm kiếm "arXiv:" trong văn bản của PDF sẽ liên tục tiết lộ id là lần truy cập đầu tiên).

Một khi bạn có số tham chiếu arXiv (và đã làm một pip install arxiv), bạn có thể nhận được danh hiệu sử dụng

paper_ref = '1501.00730' 
arxiv.query(id_list=[paper_ref])[0].title 
Các vấn đề liên quan