重点关注pythonPython

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文件

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

上一篇下一篇

猜你喜欢

热点阅读