PDF处理小技巧-批量首页合并

项目场景:

信息检索可要求检索导师发表的所有文章,并将每篇文章的首页合并为一个PDF文件,还需要一个简单的目录。

解决方式:

由于之前已将检索到的文章都下载在了文件夹中,因此对文件夹中的所有PDF文件进行读取: 首先需要导入pdfrw库中的PdfReader, PdfWriter,以及os模块。
pip install pdfrw
from pdfrw import PdfReader, PdfWriter
import os

# PDF所在文件路径
path = r'E:/学习资料/其他/信息检索/英文/'

# 获取指定文件夹中所有PDF格式的文件名并合成文件路径
def findAllFile(path):
    count = 0
    # 在获取文件名时顺便将简单的目录做好
    exfile = open(path+'目录.doc', 'w')
    for root, ds, fs in os.walk(path):
        for f in fs:
            count = count + 1
            if f.endswith('.pdf'):
                fullname = os.path.join(root, f)
                yield fullname
                exfile.write(str(count) + '.' + f +'\n')

然后将每个PDF文件的首页依此加入到PdfWriter中,最后输出保存,以达到将首页拼接的效果

# 将每个PDF文件的首页依此加入到PdfWriter中,最后输出保存
def main():
    output = path+'英文论文首页.pdf'
    writer = PdfWriter()
    for i in findAllFile(path):
        pdf_obj = PdfReader(i)
        writer.addpage(pdf_obj.pages[0])

    writer.write(output)


if __name__ == '__main__':
    # main函数是用来形成首页合集和目录的
    main()

其他内容:

由于要将目录与首页合集整合在一个文件里,不知道在软件里咋整,就又用程序来处理了。

# 后面这些是将目录的pdf版本和生成的首页合集拼接起来的,可用可不用
output = path + '英文论文首页.pdf'
writer = PdfWriter()
pdf_obj = PdfReader(path + '目录.pdf')
total_pages = len(pdf_obj.pages)
for i in range(total_pages):
	writer.addpage(pdf_obj.pages[i])
pdf_obj = PdfReader(output)
total_pages = len(pdf_obj.pages)
for i in range(total_pages):
	writer.addpage(pdf_obj.pages[i])
writer.write(path + '英文论文合集.pdf')

后记:

只是个很小的技巧,应用面也很窄,可以当做Python进行PDF处理的一个入门小案例吧。仅作参考~分享出来做个小记录,希望能有点用。

欢迎批评指正~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值