Python提取多个pdf首页合并输出
2021-02-07 本文已影响0人
生信交流平台
前面小编给大家分享过R如何提取,合并pdf文件,今天在给大家分享一下如何用python来实现。
比如说我这里有10篇ceRNA相关的文献,
我想先把他们的首页,abstract先打印出来看看,然后在决定哪些文章要精读。那么最简单的方法就是先把这10篇文献的首页提取合并到一个pdf文件中,然后打印,这样最省事,否者我还要打开这10个pdf文件,每一个都打印一遍。
来看看如何用python代码来实现
首先我们需要安装一个处理pdf文件的python包PyPDF2,在你的控制台输入如下命令
pip install PyPDF2
然后我们开始干活
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]
# import sys
#
# if not sys.warnoptions:
# import warnings
# warnings.simplefilter("ignore")
参考资料:R如何提取,合并pdf文件