Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Python提取多个pdf首页合并输出

Python提取多个pdf首页合并输出

作者头像
生信交流平台
发布于 2022-09-21 05:55:13
发布于 2022-09-21 05:55:13
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

前面小编给大家分享过R如何提取,合并pdf文件,今天在给大家分享一下如何用python来实现。

比如说我这里有10篇ceRNA相关的文献,

我想先把他们的首页,abstract先打印出来看看,然后在决定哪些文章要精读。那么最简单的方法就是先把这10篇文献的首页提取合并到一个pdf文件中,然后打印,这样最省事,否者我还要打开这10个pdf文件,每一个都打印一遍。

来看看如何用python代码来实现

首先我们需要安装一个处理pdf文件的python包PyPDF2,在你的控制台输入如下命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install PyPDF2

然后我们开始干活

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import PyPDF2, os

# import sys
#
# if not sys.warnoptions:
#     import warnings
#     warnings.simplefilter("ignore")

#输入包含所有pdf文件的文件夹
dir = "c:/ceRNA"
#改变路径到该文件夹
os.chdir(dir)
#创建一个PdfFileWriter对象,后面用来保存提取的首页
pdfWriter = PyPDF2.PdfFileWriter()

#遍历文件夹中的每一个文件
for file in os.listdir(dir):
    #如果以.pdf为后缀
    if file.endswith(".pdf"):
        #打开这个pdf文件,以二进制的方式读取
        pdfFileObj = open(file, 'rb')
        #创建一个PdfFileReader对象,来读取pdf内容
        pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
        #获取首页
        pageObj = pdfReader.getPage(0)
        #添加到pdfWriter中
        pdfWriter.addPage(pageObj)

#新建一个pdf文件,用来保存所有的首页,以二进制的方式来写
pdfOutput = open('all_first_page.pdf', 'wb')
#将pdfWriter的内容写到文件中
pdfWriter.write(pdfOutput)
#关闭输出文件
pdfOutput.close()

运行完代码,1秒钟之后你就会在同一个文件夹看到

这个pdf文件里面就包括这10篇文献的首页

大功告成,赶紧去打印吧!

注意如果遇到如下报错信息,请把下面这几行代码前面的注释删掉

PdfReadWarning: Xref table not zero-indexed. ID numbers for objects will be corrected. [pdf.py:1736]

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# import sys
#
# if not sys.warnoptions:
#     import warnings
#     warnings.simplefilter("ignore")

参考资料:R如何提取,合并pdf文件

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信交流平台 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验