精华内容
下载资源
问答
  • 主要介绍了PyPDF2读取PDF文件内容保存到本地TXT实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • PyPDF2读取PDF文件内容保存到本地TXT

    千次阅读 2018-05-31 16:41:17
    PyPDF2读取PDF文件内容保存到本地TXT

    利用PyPDF2读取PDF文件内容保存到本地TXT

    from PyPDF2.pdf import PdfFileReader
    import pandas as pd
    
    
    def Pdf_to_txt(pdf):
    
        for i in range(0, pdf.getNumPages()):
            title = []
            lin1, lin2, lin3, lin4, lin5, lin6, lin7, lin8 = [], [], [], [], [], [], [], []
            extractedText = pdf.getPage(i).extractText()
            text = extractedText.split('\n')
            num = 0
            for lin in text:
                if num == 0:
                    title.append(lin)
                elif num == 1:
                    lin1.append(lin)
                elif num == 2:
                    lin2.append(lin)
                elif num == 3:
                    lin3.append(lin)
                elif num == 4:
                    lin4.append(lin)
                elif num == 5:
                    lin5.append(lin)
                elif num == 6:
                    lin6.append(lin)
                elif num == 7:
                    lin7.append(lin)
                elif num == 8:
                    lin8.append(lin)
                    num = 0
                num += 1
            Lin_num = len(lin8)
            data = {'Lin1': lin1[:Lin_num], 'Lin2': lin2[:Lin_num], 'Lin3': lin3[:Lin_num], 'Lin4': lin4[:Lin_num], 'Lin5': lin5[:Lin_num], 'Lin6': lin6[:Lin_num], 'Lin7': lin7[:Lin_num], 'Lin8': lin8[:Lin_num]}
            df = pd.DataFrame(data, columns=['Lin1', 'Lin2', 'Lin3', 'Lin4', 'Lin5', 'Lin6', 'Lin7', 'Lin8'])
            file_name = title[0] + '_page' + str((i + 1))
            df.to_csv('tool/pdf解析/%s.txt' % file_name, index=False, sep='\t')
    
    
    if __name__ == '__main__':
        filename = 'E:/SVN/采集框架V2/analyse_code/政策/pdf/con026465.pdf'
        pdf = PdfFileReader(open(filename, "rb"))
        Pdf_to_txt(pdf)
    展开全文
  • PyPDF4读取pdf文件的MetaData

    千次阅读 2018-08-24 07:02:17
    #encoding : utf-8 ...import PyPDF4 import optparse from PyPDF4 import PdfFileReader def printMeta(filename): pdfFile = PdfFileReader(open(filename, 'rb')) docInfo = pdfFile.getDocumentInfo() ...
    #encoding : utf-8
    
    import PyPDF4
    import optparse
    from PyPDF4 import PdfFileReader
    
    def printMeta(filename):
       pdfFile = PdfFileReader(open(filename, 'rb'))
       docInfo = pdfFile.getDocumentInfo()
       print('[*] PDF MetaData For: {}'.format(filename))
       for metaItem in docInfo:
          print('[+] {0} : {1}'.format(metaItem, docInfo[metaItem]))
    
    
    def main():
       parser = optparse.OptionParser('usage %prog + -F <PDF file name>')
       parser.add_option('-F' , dest='filename' , type='string' , help='specify PDF file name')
       (options, args) = parser.parse_args()
       fileName = options.filename
       if fileName == None:
          print(parser.usage)
          exit(0)
       else:
          printMeta(fileName)
    
    if __name__ == '__main__':
        main()
    
    展开全文
  • 若处理对象是 PDF 文档本身,则推荐使用 pypdf2,如对 PDF 文档进行分割, 合并, 插入等操作.若处理对象是 PDF 文档中的文本,表格等内容,则推荐使用 pdfplumber.pypdf2PdfFileMerger。该类用来合并 pdf 文件,该类...

    这两天学习了一些处理 PDF 文档的方法,网上查找资料的过程中发现很多处理 PDF 文件的库,多方尝试后推荐两个比较好用的。若处理对象是 PDF 文档本身,则推荐使用 pypdf2,如对 PDF 文档进行分割, 合并, 插入等操作.若处理对象是 PDF 文档中的文本,表格等内容,则推荐使用 pdfplumber.

    pypdf2

    PdfFileMerger。

    该类用来合并 pdf 文件,该类的构造方法有一个参数:PdfFileMerger(strict=True),注意这里的参数后面会介绍:

    常用方法:

    addBookmark(title, pagenum, parent=None):给 pdf 添加一个书签,title 是书签的标题,pagenum 是该书签指向的页面。

    append(fileobj, bookmark=None, pages=None, import_bookmarks=True):将指定的 fileobj 文件添加到文件的末尾,bookmark 是赎前,pages 可以使用 (start, stop[, step]) 或者一个 Page Range 来设定将 fileobj 中的指定范围的页面进行添加。

    merge(position, fileobj, bookmark=None, pages=None, import_bookmarks=True):与 append 方法类似,不过可以使用 position 参数指定添加的位置。

    write(fileobj):将数据写入到文件中。

    使用的时候可以创建一个 PdfFileMerger 实例,然后使用 append 或者 merge 将想要融合的 pdf 文件依次添加进去,最后使用 write 保存即可。

    def merge_pdf():

    下面看一下 PdfFileMerger(strict=True) 中的这个参数:

    官方对这个参数的解释:

    strict (bool) – Determines whether user should be warned of all problems and also causes some correctable problems to be fatal. Defaults to True.

    确定是否应该警告用户所有问题,并且还会导致一些可纠正的问题。

    刚开始感觉这个参数就是用来是否警告用户一些错误的,直接使用默认即可,但是当本人尝试合并带中文的 pdf 时,出现了如下错误:

    call 

    在源码包中使用 utf 解码的时候出错了,尝试修改此处源码,让其使用 gbk,但是还出现了其他的错误。最后发现当把构造函数中的 strict 设置为 False 时,控制台会打印下面的错误:

    in Name 

    但是两个文件成功的合并了,并且大概看了下合并后的文件有时好又是坏,同样的代码运行多次,有时候能够正常处理中文,但有时候中文乱码。

    除了列出的方法还有一些其他的方法,比如添加书签、添加链接等等,可以参考官方文档。

    PdfFileReader。

    该类主要提供了对 pdf 文件的读操作,其构造方法为:

    True, warndest=

    第一个参数可以传入一个文件流,或者一个文件路径。后面三个参数都是用来设置警告的处理方式,直接使用默认的即可。

    得到实例之后,就可以对 pdf 进行一些操作了。主要的有以下几个操作:

    • decrypt(password):如果 pdf 文件加密的话,可以使用该方法对其解密。

    • getDocumentInfo():检索 pdf 文件的一些信息。其返回值为一个 DocumentInformation 类型,直接输出的话会得到类似下面的信息:

    '/Author':

    getNumPages():这个获取 pdf 文件中的页数。

    getPage(pageNumber):会得到 pdf 文件中对应的 pageNumber 页数的页面对象,返回值为 PageObject 实例。在得到 PageObject 实例之后就可以将其加添、插入等操作。

    • getPageNumber(page):与上面的方法对立,可以传入 PageObject 实例,然后得到该实例是 pdf 文件中第几页的。

    • getOutlines(node=None, outlines=None):检索文档中出现的文档大纲。

    • isEncrypted:记录该 pdf 是否加密。如果文件本身加密,即使在使用解密 decrypt 方法之后,还是会返回 true。

    • numPages:pdf 总共的页数,相当于访问 getNumPages() 的只读属性。

    PdfFileWriter 。

    该类支持对 pdf 文件进行写操作,通常是使用 PdfFileReader 读取一些 pdf 数据,然后使用该类进行一些操作。

    创建该类的实例时不需要参数。

    其主要的方法有:

    • addAttachment(fname, fdata):向 pdf 添加文件。

    • addBlankPage(width=None, height=None):给 pdf 添加一个空白页到最后,如果没有指定大小就使用当前 Weiter 中 pdf 最后一页的大小。

    • addPage(page):添加 page 到 pdf 中,通常这个 page 是由上面的 Reader 获取的。

    • appendPagesFromReader(reader, after_page_append=None):将 reader 中的数据拷贝到当前的 Writer 实例中,并且如果指定 after_page_append 的话,最后还有回掉该函数并且将 writer 中的数据传入其中。

    • encrypt(user_pwd, owner_pwd=None, use_128bit=True):将 pdf 进行加密,其中官方说 userpwd 是允许用户使用一些限制的权限打开 pdf 文件,也就是使用该密码的话可能会有一些限制,但是本人并没有在文档中找到设置权限的内容。而 ownerpwd 则是允许用户无限制的使用。第三个参数是是否使用 128 位加密。

    • getNumPages():得到 pdf 页数。

    • getPage(pageNumber):得到对应页数的 Page,是一个 PageObject 对象,可以使用上面的 addPage 方法将 page 进行添加。

    • insertPage(page, index=0):将 page 添加到 pdf 中,index 指定的是被插入的位置。

    • write(stream):将该 Writer 中的内容写入到文件中。

    汇总代码:

    from PyPDF2 

    pdfplumber

    本库最重要的应用是提取页面上的文本和表格,用法如下:

    import pdfplumber

    pdfplumber 还可以获得页面上的所有单词、直线、方格、乃至曲线的位置信息,具体可以看看官网的说明:https://github.com/jsvine/pdfplumber

    5c54f01219bb46f0d1ab9bc4d03b828d.gif

    b337a6b11827aa196e79d2565e48cb51.png

    333a25e3488cea70773864d6be4de64e.png

    展开全文
  • PyPDF2 处理PDF

    2020-12-06 00:09:43
    PyPDF2是一个纯Python包,可通过使用PyPDF2包在Python中处理已先存在的PDF。 提取PDF中的文档信息 旋转页面 合并PDF 拆分PDF 添加水印 加密PDF 1、安装 pip install pypdf2 #假设你直接使用Python conda ...

    PyPDF2是一个纯Python包,可通过使用PyPDF2包在Python中处理已先存在的PDF。

    1. 提取PDF中的文档信息
    2. 旋转页面
    3. 合并PDF
    4. 拆分PDF
    5. 添加水印
    6. 加密PDF

     

    1、安装

    pip install pypdf2
    #假设你直接使用Python
    conda install pypdf2
    #假设你在anconda环境下使用Python

     

    2、提取文档信息

    使用PyPDF2可提取PDF文档的一些元数据和文本信息。当你做一些关于PDF文档的自动化处理时,这些信息是非常有用的。

    我们可以提取哪些具体信息呢?

    • Author
    • Creator
    • Producer
    • Subject
    • Title
    • Number of pages
    #extract_doc_info.py
    
    from PyPDF2 import PdfFileReader
    
    def extract_information(pdf_path):
        with open(pdf_path,'rb') as f:
            pdf = PdfFileReader(f)
            information = pdf.getDocumentInfo()
            number_of_pages = pdf.getNumPages()
            
        txt = f"""
        Information about {pdf_path}:
        
        Author:{information.author}
        Creator:{information.creator}
        Producer:{information.producer}
        Subject:{information.subject}
        Title:{information.title}
        Number of pages:{number_of_pages}
        """
        
        print(txt)
        return information
    
    if __name__ == '__main__':
        path = r'C:\Users\23909\Desktop\The World in 2020.pdf'
        #这是我个人PDF的路径
        extract_information(path)
    
    #输出结果
    Information about C:\Users\23909\Desktop\The World in 2020.pdf:
        
        Author:Python真香
        Creator:calibre 3.30.0 [https://calibre-ebook.com]
        Producer:calibre 3.30.0 [https://calibre-ebook.com]
        Subject:None
        Title:The World in 2020
        Number of pages:630
    

    首先,我们从PyPDF2包中导入PdfFileReader包。PdfFileReader是此包的一个类,拥有与PDF文档交互的多种方法,我调用了这个类创造了一个可用来读取的对象,这个对象的名称为pdf。在这个例子中,我对pdf使用了.getDocumnetInfo()方法,它返回一个DocumentInformation实例,名称为information,这个实例包含了我想提取的大部分信息。当然,我也对pdf使用了.getNumPages()方法,这个方法返回pdf的页数。

    我们用一些方法去按需调取information实例的属性(即我们想要的信息)。不过,如果我们想调取文本信息,最好不要对information使用.extractText()方法,因为它有时会返回空字符串。如果想要从PDF提取文本,建议应该看一下PDFMiner项目。PDFMiner更加强大,专门用于从PDF中提取文本。

     

    3、旋转页面

    有时,PDF的页面是横向的,而不是纵向的,甚至是倒放的。当你扫描文档或者邮件时,这些情况很有可能发生。我们可以打印出来纸质版并阅读它,或者我们可借助Python强大的力量来旋转那些有问题的页面。

    # rotate_pages.py
    
    from PyPDF2 import PdfFileReader, PdfFileWriter
    
    def rotate_pages(pdf_path):
        pdf_writer = PdfFileWriter()
        pdf_reader = PdfFileReader(path)
        # 向右旋转90度
        page_1 = pdf_reader.getPage(0).rotateClockwise(90)
        pdf_writer.addPage(page_1)
        # 向左旋转90度
        page_2 = pdf_reader.getPage(1).rotateCounterClockwise(90)
        pdf_writer.addPage(page_2)
        # 在正常方向上添加一页
        pdf_writer.addPage(pdf_reader.getPage(2))
    
        with open('rotate_pages.pdf', 'wb') as fh:
            pdf_writer.write(fh)
    
    if __name__ == '__main__':
        path = r'C:\Users\23909\Desktop\The World in 2020.pdf'
        rotate_pages(path)

    此次,你需要额外再导入PdfFileWriter类,因为最后你还要生成一个新的PDF对象并保存。rotatepages()函数以旧PDF文件的路径作为参数。在这个函数内部,我创造了一个可读取的对象,名称为pdf_reader,以及可写入的对象,名称为pdf_writer。

    接下来,你对pdf_reader使用.GetPage()方法去取得就PDF文件的目标页,这里我选取了第一页,也就是此方法的参数为整数零,此方法返回一个页面对象,名称为page_1。我们对page1使用.rotateClocwise()方法,使其旋转90度,默认方向为右,我们对pafwriter对象使用.addPage()方法,将page_1加上去。对page_2对象,我们使用rotateCounterClockwise(),使page_2对象旋转90度,方向为左,我们对pdf_writer对象使用.addPage()方法,将page_2加上去。

    然后我们又调用pdf_writer对象的.addPage()方法,去把旧PDF文件的第三页也加上去,只不过我们不对这个第三页做任何旋转。

    最后,我们调用.write函数去把这个包含三页页面的新文档存储起来。.write函数以类文件路径作为参数。

     

    4、合并PDF

    在许多情况,你也许有把多个PDF合并成一个PDF文件的需要。比如,你需要给多张PDF报告加一个标准的PDF封面。你可以用Python帮你做这类事情。

    # pdf_merging.py
    
    from PyPDF2 import PdfFileReader, PdfFileWriter
    
    def merge_pdfs(paths, output):
        pdf_writer = PdfFileWriter()
    
        for path in paths:
            pdf_reader = PdfFileReader(path)
            for page in range(pdf_reader.getNumPages()):
                # 把每张PDF页面加入到这个可读取对象中
                pdf_writer.addPage(pdf_reader.getPage(page))
    
        # 把这个已合并了的PDF文档存储起来
        with open(output, 'wb') as out:
            pdf_writer.write(out)
    
    if __name__ == '__main__':
        paths = ['document1.pdf', 'document2.pdf']
        merge_pdfs(paths, output='merged.pdf')

    假如有一个要合并到一起的 pdf 列表,你可以直接使用 merge_pdf 函数完成。但此函数采用了输入路径和输出路径作为参数。

    首先遍历输入的 paths,并为每个输入创建一个 PDF 阅读对象,名称为pdfreader。然后遍历 PDF 文件中的所有页面,并使用.addpage() 将这些页面写入 pdf_writer 对象。当完成对列表中所有 PDF 的所有页面的写入后,将在末尾写入新的结果中。

    如果不想合并每个 PDF 的所有页面,可以通过添加一系列要添加的页面来稍微增强这个脚本。挑战一点的话,也可以使用 Python 的 argparse 模块为这个函数创建一个命令行接口。

     

    5、拆分PDF

    在许多时候,我们需要把一个PDF文件拆分成多个PDF文件。尤其是PDF文件包含过多需要浏览的内容时,当然你也许其他重要的原因。

    以下是如何使用 PyPDF2 将 PDF 拆分为多个文件:

    # pdf_splitting.py
    
    from PyPDF2 import PdfFileReader, PdfFileWriter
    
    def split(path, name_of_split):
        pdf = PdfFileReader(path)
        for page in range(pdf.getNumPages()):
            pdf_writer = PdfFileWriter()
            pdf_writer.addPage(pdf.getPage(page))
    
            output = f'{name_of_split}{page}.pdf'
            with open(output, 'wb') as output_pdf:
                pdf_writer.write(output_pdf)
    
    if __name__ == '__main__':
        path = r'C:\Users\23909\Desktop\The World in 2020.pdf'
        split(path, 'jupyter_page')

    在这个例子中,你再一次创造一个可读取的PDF对象,名称为pdf,然后遍历它的页数。

    对于pdf的每一页,你创造了一个可读取的PDF实例,并向其添加单个页面。然后,将该页面写入一个唯一命名的文件。脚本运行完毕后,就可以将原始 PDF 的每个页面拆分为单独的 PDF。

     

    6、添加水印

    水印是纸质或者电子文档上的图像或图案,一些水印只能在特殊照明条件下才能看到。水印的重要性在于它可以保护你的知识产权,例如图像或 PDF。

    我们可以使用 Python 和 PyPDF2 为文档添加水印,而且是拥有仅包含水印图像或文本的 PDF。下面是向 PDF 添加水印方法:

    # pdf_watermarker.py
    
    from PyPDF2 import PdfFileWriter, PdfFileReader
    
    def create_watermark(input_pdf, output, watermark):
        watermark_obj = PdfFileReader(watermark)
        watermark_page = watermark_obj.getPage(0)
    
        pdf_reader = PdfFileReader(input_pdf)
        pdf_writer = PdfFileWriter()
    
        # Watermark all the pages
        for page in range(pdf_reader.getNumPages()):
            page = pdf_reader.getPage(page)
            page.mergePage(watermark_page)
            pdf_writer.addPage(page)
    
        with open(output, 'wb') as out:
            pdf_writer.write(out)
    
    if __name__ == '__main__':
        create_watermark(
            input_pdf=r'C:\Users\23909\Desktop\The World in 2020.pdf', 
            output='watermarked_notebook.pdf',
            watermark='watermark.pdf')

    上面 create_watermark 有三个参数:

    1. input_pdf:要加水印的 PDF 文件路径
    2. output:要保存 PDF 的水印版本的路径
    3. watermark:包含水印图像或文本的 PDF

    在代码中,打开水印 PDF 并从文档中抓取第一页,因为这是水印应该驻留的位置。然后使用 input_pdf 和通用 pdf_writer 对象创建 PDF 的 writer 对象,以写出带水印的 PDF。

    下一步是遍历 input_pdf 中的页面,然后调用.mergePage() 并以用上面读取的水印对象 watermark_page 为参数,这样会将 watermark_page 覆盖在当前页面的顶部,然后再将新合并的页面添加到 pdf_writer 对象中。遍历完成后,最后将新加水印的 PDF 写入磁盘。

     

    7、PDF加密

    PyPDF2 目前仅支持将用户密码和所有者密码添加到预先存在的 PDF。在 PDF 版本中,所有者密码会提供 PDF 的管理员权限,并允许设置文档的权限,而用户密码只允许打开文档。

    实际上,PyPDF2 是不允许设置文档的任何权限的,即使它允许设置所有者密码的情况下。但无论如何,这是可以加密的方式,也将固有地加密 PDF:

    # pdf_encrypt.py
    
    from PyPDF2 import PdfFileWriter, PdfFileReader
    
    def add_encryption(input_pdf, output_pdf, password):
        pdf_writer = PdfFileWriter()
        pdf_reader = PdfFileReader(input_pdf)
    
        for page in range(pdf_reader.getNumPages()):
            pdf_writer.addPage(pdf_reader.getPage(page))
    
        pdf_writer.encrypt(user_pwd=password, owner_pwd=None, 
                           use_128bit=True)
    
        with open(output_pdf, 'wb') as fh:
            pdf_writer.write(fh)
    
    if __name__ == '__main__':
        add_encryption(input_pdf='reportlab-sample.pdf',
                       output_pdf='reportlab-encrypted.pdf',
                       password='twofish')

    add_encryption 以输入输出 PDF 路径和要添加到 PDF 的密码为参数。由于需要加密整个输入 PDF,因此需要遍历其所有页面并将其添加到 writer 编写器。

    最后一步是调用.encrypt(),以用户密码,所有者密码以及是否应该添加 128 位加密为参数。默认情况下,要启用 128 位加密。如果将其设置为 False,则将应用 40 位加密。

    搬运只是问了更好的记录查找:https://zhuanlan.zhihu.com/p/98626155

    展开全文
  • pypdf2 存储pdfPyPDF2 is a pure-python library to work with PDF files. We can use the PyPDF2 module to work with the existing PDF files. We can’t create a new PDF file using this module. PyPDF2是一个...
  • 主要介绍了python3用PyPDF2解析pdf文件,用正则匹配数据方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • PyPDF2提取pdf书签

    千次阅读 2017-03-10 09:09:12
    #coding=utf-8 import os,re,sys import codecs import io import subprocess import bookmark_class ...from PyPDF2.pdf import PdfFileReader,PdfFileWriter # from PdfBookmark import PdfBookmark
  • 你不懂得安排自己的人生,会有很多人帮你安排,他们需要你做的事。 PDF文件我们经常用,尤其是这两个场景: 下载参考资料,如各类报告、文档 分享只读资料,方便...PyPDF2:模块成熟,最后一次更新在2年前,适合
  • Python中通过PyPDF2实现PDF加密资源以及示例代码
  • Python3.X+PyPDF2解析指定文件夹下的pdf文件,提取文件内容并写入mysql数据库
  • [Python] PyPDF2解析pdf文件

    万次阅读 2016-10-19 17:54:19
    环境Python3.X + PyPDF2需求:Python解析指定文件夹下pdf文件读取需要的数据并写入数据库1 - PyPDF2安装pip install PyPDF22 - pdfread.py脚本编写from PyPDF2.pdf import PdfFileReader import pymysql import os ...
  • 总结:PyPDF2读取文件内容的功能支持有限,往往得不到想要的结果,上述例子同样也是只得到了换行符 文章链接:https://www.blog.pythonlibrary.org/2018/06/07/an-intro-to-pypdf2/
  • Python 深入浅出 - PyPDF2 处理 PDF 文件

    万次阅读 多人点赞 2018-01-14 14:04:33
    实际应用中,可能会涉及处理 pdf 文件,PyPDF2 就是这样一个库,使用它可以轻松的处理 pdf 文件,它提供了读,割,合并,文件转换等多种操作。 文档地址:http://pythonhosted.org/PyPDF2/ PyPDF2 安装 PyCharm...
  • 在日常工作中我们经常需要从一个大的PDF文档中提取我们所需要的页面,所以今天我们将教你用Django + PyPDF2开发个小Web应用: 用户上传一个PDF文档,输入需要提取的页面号码,点击确定后浏览器会自动给用户返回想提取...
  • 实际应用中,可能会涉及处理 pdf 文件,PyPDF2 就是这样一个库,使用它可以轻松的处理 pdf 文件,它提供了读,割,合并,文件转换等多种操作。PyPDF2 安装PyCharm 安装:File -> Default Settings -> Project ...
  • PyPDF2的安装: pip install PyPDF2 ...pdf_in = reader(self.path_pdf) # 读取PDF文件 self.pdf_out = writer() # 创建一个可写的PDF对象 pdf_in.getNumPages() # 获取PDF页数 self.pdf_out.addPage(pdf
  • 参考:https://www.jianshu.com/p/17ff11efaba7 from PyPDF2 import PdfFileReader, PdfFileWriter def spltting_pdf(file, page_begin=1, page_end=5): pdf = PdfFileReader(file) writer = PdfFileWriter(...
  • import PyPDF2 import re pdf_file = open('xxx.pdf', mode='rb') read_pdf = PyPDF2.PdfFileReader(pdf_file) # 获取pdf文件的所有页数 number_of_pages = read_pdf.getNumPages() # print...
  • 实际应用中,可能会涉及处理 pdf 文件,PyPDF2 就是这样一个库,使用它可以轻松的处理 pdf 文件,它提供了读,割,合并,文件转换等多种操作。文档地址:http://pythonhosted.org/PyPDF2/PyPDF2 安装PyCharm 安装:...
  • 有时我们需要向指定的pdf添加一些文字,在python 3.x 提供了PyPDF2和io.BytesIO,我们可以使用它们来完成次任务。Python3.x 示例如下:from PyPDF2 import PdfFileWriter, PdfFileReaderimport iofrom reportlab....
  • 朋友需要对一个pdf文件进行分割,在网上查了查发现这个pypdf2可以完成这些操作,所以就研究了下这个库,并做一些记录。首先pypdf2是python3版本的,在之前的2版本有一个对应pypdf库。 可以使用pip直接安装: 官方...
  • 主要介绍了Python利用PyPDF2库获取PDF文件总页码实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • #!python3 #-*- coding:utf8 -*- #PyPDF2可能会打不开某些pdf文档,也不能提取图片,图表或者其他媒介从PDF文件中。但是它能提取文本从PDF中,转化为字符。 ...import PyPDF2 ...#读取pdf文档 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,600
精华内容 640
关键字:

pypdf2读取pdf