美文网首页重点关注pythonPython
Python提取多个pdf首页合并输出

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

作者: 生信交流平台 | 来源:发表于2021-02-07 09:59 被阅读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首页合并输出

    相关文章

      网友评论

        本文标题:Python提取多个pdf首页合并输出

        本文链接:https://www.haomeiwen.com/subject/cktztltx.html