从PDF文件提取标题?

14 投票
4 回答
11384 浏览
提问于 2025-04-15 11:50

我想写一个脚本,自动把下载的论文用它们的标题来重命名。我在想有没有什么库或者技巧可以用上?这些PDF文件都是通过TeX生成的,应该有一些“正式”的结构。

4 个回答

2

我可能会先用perl(因为我总是先想到这个)。有一些处理PDF文件的模块可以使用。如果你的PDF文件结构比较一致的话,可以用正则表达式来提取标题。

4

假设这些论文都是来自arXiv,你可以提取出arXiv的编号(我猜在PDF的文本中搜索“arXiv:”会一直找到这个编号,通常它是第一个出现的)。

一旦你得到了arXiv的参考编号(并且安装了pip install arxiv),你就可以用下面的代码获取论文的标题:

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

你可以试着使用 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')

撰写回答