Python:自动化处理PDF文档集合,提取文献标题

本文介绍了一个Python项目,用于自动化处理PDF文档,包括提取标题、生成整洁目录、添加页码以及合并文件。通过利用文本提取库、动态内容生成库以及文档操作库,实现了对PDF文档的高效管理,适用于学术研究者、图书管理员等。
摘要由CSDN通过智能技术生成

目录页的生成考虑了标题的长度,对过长的标题进行适当的分行处理,确保目录的整洁性。页码的添加在页面底部中央,通过绘制白色矩形覆盖原有页码区域后添加新的页码信息,以避免页码重叠。最终,所有页面(包括目录页和带有新页码的原始页面)被合并成一个PDF文件。

技术亮点

  • 文本提取与处理:通过PyMuPDFPyPDF2库提取PDF文件的文本和元数据,使用正则表达式和文本处理技术清洗和格式化标题。
  • 动态内容生成:使用reportlab库动态生成包含自定义文本(如页码和目录项)的PDF页面。
  • 文档合并与修改:利用PyPDF2库合并PDF页面,并在合并过程中添加自定义内容。

通过这个Python项目,我们可以自动化处理一系列复杂的PDF文档管理任务,包括提取标题、生成目录、添加页码和合并文件。这大大减轻了手动处理的负担,使得管理大量PDF文档变得既简单又高效。无论是学术研究者、图书管理员还是文档管理专业人士,都可以从这个项目中受益。

代码

步骤一:提取PDF标题(Step_two.ipynb)

### 第一步:读取pdf\_dir路径下所有.pdf为后缀的文件,打开CSV文件以写入文件名和标题
### 第二步:手动对CSV文件内错误标题进行修改


 # 读取路径下所有.pdf为后缀的文件
pdf_dir = '老师的论文集/'
 # 合并后的PDF名字
output_pdf_path = "合并后/老师的论文集.pdf"
 # 用于中间 存放文件名与标题的CSV文件
TitlesCSV = '合并后/老师的论文集.csv'```

import csv
import html
import os
import re  # 导入正则表达式模块

import fitz  # PyMuPDF
from PyPDF2 import PdfReader


def find\_non\_text\_chars(sentence):
    # 用于检测提取的文本中是否出现非文本类型的,若有则通过类似title = title.replace("fi", "fi")替换
    import regex as re
    # 定义正则表达式,匹配非文本字符(除了字母、数字、空格和标点符号之外的字符)
    non_text_pattern = re.compile(r'[^a-zA-Z0-9\s\p{P}]', re.UNICODE)
    # 使用正则表达式搜索句子中的非文本字符
    non_text_chars = non_text_pattern.findall(sentence)
    # 打印出非文本字符及其类型
    for char in non_text_chars:
        print(title)
        print(f"非文本字符 '{char}' 的类型是 '{type(char)}\n\n'")
    return None


def get\_pdf\_title\_1(pdf_path):
    """读取PDF文件的标题,并进行处理。"""
    with open(pdf_path,
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值