精华内容
下载资源
问答
  • PyPDF2

    千次阅读 2017-07-28 14:25:02
    安装直接使用 pip 安装就可以了pip install PyPDF2PyPDF2 包含了 PdfFileReader PdfFileMerger PageObject PdfFileWriter 四个常用的主要 Class。 简单读写 PDFfrom PyPDF2 import PdfFileReader, PdfFileWriter ...

    安装

    直接使用 pip 安装就可以了
    pip install PyPDF2

    PyPDF2 包含了 PdfFileReader PdfFileMerger PageObject PdfFileWriter 四个常用的主要 Class。

     简单读写 PDF

    from PyPDF2 import PdfFileReader, PdfFileWriter
    infn = 'infn.pdf'
    outfn = 'outfn.pdf'
    # 获取一个 PdfFileReader 对象
    pdf_input = PdfFileReader(open(infn, 'rb'))
    # 获取 PDF 的页数
    page_count = pdf_input.getNumPages()
    print(page_count)
    # 返回一个 PageObject
    page = pdf_input.getPage(i)
    
    # 获取一个 PdfFileWriter 对象
    pdf_output = PdfFileWriter()
    # 将一个 PageObject 加入到 PdfFileWriter 中
    pdf_output.addPage(page)
    # 输出到文件中
    pdf_output.write(open(outfn, 'wb'))
    

    应用实例 合并分割 PDF

    from PyPDF2 import PdfFileReader, PdfFileWriter
    
    def split_pdf(infn, outfn):
        pdf_output = PdfFileWriter()
        pdf_input = PdfFileReader(open(infn, 'rb'))
        # 获取 pdf 共用多少页
        page_count = pdf_input.getNumPages()
        print(page_count)
        # 将 pdf 第五页之后的页面,输出到一个新的文件
        for i in range(5, page_count):
            pdf_output.addPage(pdf_input.getPage(i))
        pdf_output.write(open(outfn, 'wb'))
    
    def merge_pdf(infnList, outfn):
        pdf_output = PdfFileWriter()
        for infn in infnList:
            pdf_input = PdfFileReader(open(infn, 'rb'))
            # 获取 pdf 共用多少页
            page_count = pdf_input.getNumPages()
            print(page_count)
            for i in range(page_count):
                pdf_output.addPage(pdf_input.getPage(i))
        pdf_output.write(open(outfn, 'wb'))
    
    if __name__ == '__main__':
        infn = 'infn.pdf'
        outfn = 'outfn.pdf'
        split_pdf(infn, outfn)
    

    应用实例源代码可以在 github.com/xchaoinfo/Py 找到。

    Refer: PyPDF2 Documentation

    转自:https://zhuanlan.zhihu.com/p/26647491

    Easy Concatenation with pdfcat

    PyPDF2 contains a growing variety of sample programs meant to demonstrate its features. It also contains useful scripts such as pdfcat, located within the Scripts folder. This script makes it easy to concatenate PDF files by using Python slicing syntax. Because we are slicing PDF pages, we refer to the slices as page ranges.

    Page range expression examples:

    :all pages-1last page
    22just the 23rd page:-1all but the last page
    0:3the first three pages-2second-to-last page
    :3the first three pages-2:last two pages
    5:from the sixth page onward-3:-1third & second to last

    The third stride or step number is also recognized:

    ::20 2 4 ... to the end
    1:10:21 3 5 7 9
    ::-1all pages in reverse order
    3:0:-13 2 1 but not 0
    2::-12 1 0

    Usage for pdfcat is as follows:

    >>> pdfcat [-h] [-o output.pdf] [-v] input.pdf [page_range...] ...
    

    You can add as many input files as you like. You may also specify as many page ranges as needed for each file.

    Optional arguments:
    -h--helpShow the help message and exit
    -o--outputFollow this argument with the output PDF file. Will be created if it doesn’t exist.
    -v--verboseShow page ranges as they are being read

    Examples:

    >>> pdfcat -o output.pdf head.pdf content.pdf :6 7: tail.pdf -1
    

    Concatenates all of head.pdf, all but page seven of content.pdf, and the last page of tail.pdf, producing output.pdf.

    >>> pdfcat chapter*.pdf >book.pdf
    

    You can specify the output file by redirection.

    >>> pdfcat chapter?.pdf chapter10.pdf >book.pdf
    

    In case you don’t want chapter 10 before chapter 2.



    其它转化工具:pdftk

    用法:

    pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf


    展开全文
  • PyPDF2 编码问题 PyPDF2.utils.PdfReadError Illegal character in Name Object 参考资料:https://github.com/mstamy2/PyPDF2/issues/438 使用 PyPDF2 做合并 PDF 文件时报错如下: Traceback (most recent ...

    PyPDF2 编码问题 PyPDF2.utils.PdfReadError Illegal character in Name Object

    参考资料:https://github.com/mstamy2/PyPDF2/issues/438

    使用 PyPDF2 做合并 PDF 文件时报错如下:

    Traceback (most recent call last):
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\generic.py", line 484, in readFromStream
        return NameObject(name.decode('utf-8'))
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcb in position 8: invalid continuation byte
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "D:\projects\myproject\apps\backstage\views\busi_contract_manage_view.py", line 703, in post
        merge_pdf_result = merge_pdf(final_files, pdf_path)
      File "D:\projects\myproject\apps\utils\doc_convert_util.py", line 86, in merge_pdf
        pdf_writer.write(new_file)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 482, in write
        self._sweepIndirectReferences(externalReferenceMap, self._root)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 571, in _sweepIndirectReferences
        self._sweepIndirectReferences(externMap, realdata)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 547, in _sweepIndirectReferences
        value = self._sweepIndirectReferences(externMap, value)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 571, in _sweepIndirectReferences
        self._sweepIndirectReferences(externMap, realdata)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 547, in _sweepIndirectReferences
        value = self._sweepIndirectReferences(externMap, value)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 556, in _sweepIndirectReferences
        value = self._sweepIndirectReferences(externMap, data[i])
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 571, in _sweepIndirectReferences
        self._sweepIndirectReferences(externMap, realdata)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 547, in _sweepIndirectReferences
        value = self._sweepIndirectReferences(externMap, value)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 547, in _sweepIndirectReferences
        value = self._sweepIndirectReferences(externMap, value)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 547, in _sweepIndirectReferences
        value = self._sweepIndirectReferences(externMap, value)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 577, in _sweepIndirectReferences
        newobj = data.pdf.getObject(data)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\pdf.py", line 1611, in getObject
        retval = readObject(self.stream, self)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\generic.py", line 66, in readObject
        return DictionaryObject.readFromStream(stream, pdf)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\generic.py", line 579, in readFromStream
        value = readObject(stream, pdf)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\generic.py", line 60, in readObject
        return NameObject.readFromStream(stream, pdf)
      File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\generic.py", line 492, in readFromStream
        raise utils.PdfReadError("Illegal character in Name Object")
    PyPDF2.utils.PdfReadError: Illegal character in Name Object

    找到对应的报错文件 

    File "D:\projects\myproject\venv\lib\site-packages\PyPDF2\generic.py", line 484

    第484行 原代码:

    try:
        return NameObject(name.decode('utf-8'))
    except (UnicodeEncodeError, UnicodeDecodeError) as e:
        # Name objects should represent irregular characters
        # with a '#' followed by the symbol's hex number
        if not pdf.strict:
            warnings.warn("Illegal character in Name Object", utils.PdfReadWarning)
            return NameObject(name)
        else:
            raise utils.PdfReadError("Illegal character in Name Object")

    在 except 中加入代码 

    return NameObject(name.decode('gbk'))

    修改后

    try:
        return NameObject(name.decode('utf-8'))
    except (UnicodeEncodeError, UnicodeDecodeError) as e:
        try:
            return NameObject(name.decode('gbk'))
        except (UnicodeEncodeError, UnicodeDecodeError) as e:
            # Name objects should represent irregular characters
            # with a '#' followed by the symbol's hex number
            if not pdf.strict:
                warnings.warn("Illegal character in Name Object", utils.PdfReadWarning)
                return NameObject(name)
            else:
                raise utils.PdfReadError("Illegal character in Name Object")

    修改后仍会报错,需要修改修改另一处

    Lib/site-packages/PyPDF2/utils.py 第238行

    原代码

    r = s.encode('latin-1')
    if len(s) < 2:
        bc[s] = r
    return r

     修改后代码:

    try:
        r = s.encode('latin-1')
    except Exception as e:
        r = s.encode('utf-8')
    if len(s) < 2:
        bc[s] = r
    return r

     

    展开全文
  • 主要介绍了解决pyPdf和pyPdf2在合并pdf时出现异常的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 若处理对象是 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模块和英文文档

    2017-09-13 09:38:22
    PyPDF2的模块及类函数的英文介绍,PyPDF2的模块及类函数的英文介绍,PyPDF2的模块及类函数的英文介绍,PyPDF2的模块及类函数的英文介绍
  • PyPDF2模块

    2019-09-11 23:58:44
    PyPDF2.PdfFileReader(stream,strict = True,warndest = None,overwriteWarnings = True) stream:*File 对象或支持与 File 对象类似的标准读取和查找方法的对象,也可以是表示 PDF 文件路径的字符串。* strict...

    1、PdfFileReader

    构造方法:
    
    PyPDF2.PdfFileReader(stream,strict = True,warndest = None,overwriteWarnings = True)
    
    stream:*File 对象或支持与 File 对象类似的标准读取和查找方法的对象,也可以是表示 PDF 文件路径的字符串。*
    strict(bool): 确定是否应该警告用户所用的问题,也导致一些可纠正的问题是致命的,默认是 True
    warndest : 记录警告的目标(默认是 sys.stderr)
    overwriteWarnings(bool):确定是否 warnings.py 用自定义实现覆盖 Python 模块(默认为 True)
    
    
    PdfFileReader 对象的属性和方法
    
    属性和方法																		描述
    getDestinationPageNumber(destination)			检索给定目标对象的页码
    getDocumentInfo()												检索 PDF 文件的文档信息字典
    getFields(tree = None,retval = None,fileObj= None)	如果此 PDF 包含交互式表单字段,则提取字段数据,
    getFormTextFields()								从文档中检索带有文本数据(输入,下拉列表)的表单域
    getNameDestinations(tree = None,retval= None)			检索文档中的指定目标
    getNumPages()														计算此 PDF 文件中的页数
    getOutlines(node = None,outline = None,)				检索文档中出现的文档大纲
    getPage(pageNumber)											从这个 PDF 文件中检索指定编号的页面
    getPageLayout()														获取页面布局
    getPageMode()														获取页面模式
    getPageNumber(pageObject)									检索给定 pageObject 处于的页码
    getXmpMetadata()													从 PDF 文档根目录中检索 XMP 数据
    isEncrypted																显示 PDF 文件是否加密的只读布尔属性
    namedDestinations													访问该getNamedDestinations()函数的只读属性
    

    练习:

    from PyPDF2 import PdfFileReader,PdfFileWriter
    filer=r"C:\Users\________________MRlv\Desktop\Python项目开发实战+第2版.pdf"
    #获取pdfFileReader对象
    pdfFileReader =PdfFileReader(filer)
    # print(pdfFileReader )
    #获取文档信息
    documentInfo=pdfFileReader.getDocumentInfo()
    print("documentInfo={}".format(documentInfo))
    #获取页面布局
    pageLayout=pdfFileReader.getPageLayout()
    print("pageLayout={}".format(pageLayout))
    #获取页面模式
    PageMode=pdfFileReader.getPageMode()
    print("PageMode={}".format(PageMode))
    
    xmpMetadata=pdfFileReader.getXmpMetadata()
    print("xmpMetadata={}".format(xmpMetadata))
    
    #获取PDF文件页数
    PageNumber=pdfFileReader.getNumPages()
    print("PageNumber={}".format(PageNumber))
    for index in range(0,PageNumber):
        # 返回指定页编号的 pageObject
        pageobj=pdfFileReader.getPage(index)
        print('index = {} , pageObj = {}'.format (index, type(pageobj)))  # <class 'PyPDF2.pdf.PageObject'>
        # 获取 pageObject 在 PDF 文档中处于的页码
        PageNumber=pdfFileReader.getPageNumber(pageobj)
        print("PageNumber={}".format(PageNumber))
    
    

    2、PdfFileWriter

    属性和方法																	描述
    addAttachment(fname,fdata)									在 PDF 中嵌入文件
    addBlankPage(width= None,height=None)				追加一个空白页面到这个 PDF 文件并返回它
    addBookmark(title,pagenum,parent=None,
    color=None,bold=False,italic=False,fit=’/fit,*args’)	
    addJS(javascript)											添加将在打开此 PDF 是启动的 javascript
    addLink(pagenum,pagedest,rect,border=None,fit=’/fit’,*args)	从一个矩形区域添加一个内部链接到指定的页面
    addPage(page)			添加一个页面到这个PDF 文件,该页面通常从 PdfFileReader 实例获取
    getNumpages()														页数
    getPage(pageNumber)							从这个 PDF 文件中检索一个编号的页面
    insertBlankPage(width=None,height=None,index=0)			插入一个空白页面到这个 PDF 文件并返回它,如果没有指定页面大小,就使用最后一页的大小
    insertPage(page,index=0)	在这个 PDF 文件中插入一个页面,该页面通常从 PdfFileReader 实例获取
    removeLinks()									从次数出中删除连接盒注释
    removeText(ignoreByteStringObject = False)							从这个输出中删除图像
    write(stream)								将添加到此对象的页面集合写入 PDF 文件
    
    

    pdf写操作

    def addBlankpage():
        readFile = 'C:/Users/Administrator/Desktop/RxJava 完全解析.pdf'
        outFile = 'C:/Users/Administrator/Desktop/copy.pdf'
        pdfFileWriter = PdfFileWriter()
    
        # 获取 PdfFileReader 对象
        pdfFileReader = PdfFileReader(readFile)  # 或者这个方式:pdfFileReader = 	  											PdfFileReader(open(readFile, 'rb'))
        numPages = pdfFileReader.getNumPages()#获取文档的总页数
    
        for index in range(0, numPages):
            pageObj = pdfFileReader.getPage(index)
            pdfFileWriter.addPage(pageObj)  # 根据每页返回的 PageObject,写入到文件
            pdfFileWriter.write(open(outFile, 'wb'))#写入文件内容
    
        pdfFileWriter.addBlankPage()   # 在文件的最后一页写入一个空白页,保存至文件中
        pdfFileWriter.write(open(outFile,'wb'))
    
    

    分割文档

    def splitPdf():
        readFile = 'C:/Users/Administrator/Desktop/RxJava 完全解析.pdf'
        outFile = 'C:/Users/Administrator/Desktop/copy.pdf'
        pdfFileWriter = PdfFileWriter()
    
        # 获取 PdfFileReader 对象
        pdfFileReader = PdfFileReader(readFile)  # 或者这个方式:pdfFileReader = PdfFileReader(open(readFile, 'rb'))
        # 文档总页数
        numPages = pdfFileReader.getNumPages()
    
        if numPages > 5:
            # 从第五页之后的页面,输出到一个新的文件中,即分割文档
            for index in range(5, numPages):
                pageObj = pdfFileReader.getPage(index)
                pdfFileWriter.addPage(pageObj)
            # 添加完每页,再一起保存至文件中
            pdfFileWriter.write(open(outFile, 'wb'))
    
    

    合并文档

    def mergePdf(inFileList, outFile):
        '''
        合并文档
        :param inFileList: 要合并的文档的 list
        :param outFile:    合并后的输出文件
        :return:
        '''
        pdfFileWriter = PdfFileWriter()
        for inFile in inFileList:
            # 依次循环打开要合并文件
            pdfReader = PdfFileReader(open(inFile, 'rb'))
            numPages = pdfReader.getNumPages()
            for index in range(0, numPages):
                pageObj = pdfReader.getPage(index)
                pdfFileWriter.addPage(pageObj)
    
            # 最后,统一写入到输出文件中
            pdfFileWriter.write(open(outFile, 'wb'))
    
    

    3、PageObject

    PageObject(pdf=None,indirectRef=None)
    

    此类表示 PDF 文件中的单个页面,通常这个对象是通过访问 PdfFileReader 对象的 getPage() 方法来得到的,也可以使用 createBlankPage() 静态方法创建一个空的页面。

    参数:

    pdf : 页面所属的 PDF 文件。
    indirectRef:将源对象的原始间接引用存储在其源 PDF 中

    PageObject 对象的属性和方法
    
    属性或方法	描述
    static createBlankPage(pdf=None,width=None,height=None)	返回一个新的空白页面
    extractText()	找到所有文本绘图命令,按照他们在内容流中提供的顺序,并提取文本
    getContents()	访问页面内容,返回 Contents 对象或 None
    rotateClockwise(angle)	顺时针旋转 90 度
    scale(sx,sy)	通过向其内容应用转换矩阵并更新页面大小
    
    

    粗略读取 PDF 文本内容

    def getPdfContent(filename):
        pdf = PdfFileReader(open(filename, "rb"))
        content = ""
        for i in range(0, pdf.getNumPages()):
            pageObj = pdf.getPage(i)
    
            extractedText = pageObj.extractText()
            content += extractedText + "\n"
            # return content.encode("ascii", "ignore")
        return content
    
    
    展开全文
  • 主要介绍了Python PyPDF2模块安装使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • python3 集成PyPDF2.pdf

    2021-09-13 10:29:27
    python3 集成PyPDF2.pdf
  • PyPDF2模块的安装指导

    2018-12-04 22:01:04
    这里是Python中PyPDF2模块的安装指导,亲测可用。里面介绍了好几种方法,如在anaconda prompt或navigator中安装,或者pip install或者通过取网上下载whl文件进行安装。
  • 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是一个...
  • PyPDF2 处理PDF

    2020-12-06 00:09:43
    PyPDF2是一个纯Python包,可通过使用PyPDF2包在Python中处理已先存在的PDF。 提取PDF中的文档信息 旋转页面 合并PDF 拆分PDF 添加水印 加密PDF 1、安装 pip install pypdf2 #假设你直接使用Python conda ...
  • 工作中可能会涉及处理pdf文件,PyPDF2就是这样一个库, 使用它可以轻松的处理pdf文件,它提供了读、写、分割、合并、文件转换等多种操作。官方地址:http://mstamy2.github.io/PyPDF2/ 安装 RPM式系统(Redhat、...
  • PyPDF2中文配置

    2020-09-14 09:55:49
    目录标题PyPDF2 中文设置快速方法:(覆盖文件)自定义:(自己修改配置文件) PyPDF2 中文设置 PyPDF2 默认是 Latin-1 编码的,当处理中文文档的时候就会报错。 本文内容 Linux 与 Windows 通用 已测试 快速方法...
  • Rebooting PyPDF2 Maintenance

    2021-01-09 02:54:03
    <div><p>As I have had numerous other occupations keeping me busy, it has been some time since PyPDF2 has been actively maintained. That's absolutely unfair to those of you have taken the time to ...
  • PyPDF2详解

    2017-11-29 10:16:00
    工作中可能会涉及处理pdf文件,PyPDF2就是这样一个库, 使用它可以轻松的处理pdf文件,它提供了读、写、分割、合并、文件转换等多种操作。官方地址:http://mstamy2.github.io/PyPDF2/ 安装 1. RPM式系统(Redhat...
  • Windows py -3.8 -m pip install PyPDF2 Mac and Linux python 3.8 -m pip install PyPDF2
  • PyPDF2分割PDF

    2021-07-31 12:13:57
    # PyPDF2分割pdf from PyPDF2 import PdfFileReader, PdfFileWriter import os path1 = input("请输入源文件所在的位置:") path = r"%s"%path1 print(path) splitPages = input("请输入每份的页数:") for fl...
  • PyPDF2库使用

    2020-03-07 10:14:34
    简介 这是Python提供的操作PDF文件的库。 提取文档信息(标题,作者,…) ...pip install PyPDF2 import PyPDF2 从PDF中提取文字 import PyPDF2 #打开文件 pdfFile = open('example.pdf','rb') #读取PDF p...
  • python-PyPDF2

    千次阅读 2018-05-08 14:54:26
    作用:处理PDF文档提取文本,旋转页面,叠加页面1.pdfFileObj = open('meetingminutes.pdf','rb')#打开pdf文档2.pdfReader = PyPDF2.PdfFileReader(pdfFileObj)#获取pdf文档数据3.pdfReader.numPages#获取页数4....
  • 主要介绍了Python实现PyPDF2处理PDF文件的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • PyPDF2库基本操作

    2020-09-05 17:02:06
    PyPDF2模块的安装: pip install PyPDF2 初次使用: import PyPDF2 pdfObj = open("1.pdf", 'rb') pdfreader = PyPDF2.PdfFileReader(pdfObj) print(pdfreader.numPages) # 输出页数 pageObj = pdfreader....
  • 主要介绍了Python利用PyPDF2库获取PDF文件总页码实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了PyPDF2读取PDF文件内容保存到本地TXT实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • PyPDF2的使用

    2019-11-14 10:17:54
    pdf使用Adobe公司开发,现在由国际标准化组织ISO进行维护。PDF合成包含链接和按钮,表单字段,音频,视频和业务逻辑 在这篇文章中,我们将学习如何做一些pdf的操作: 从PDF中提取文字 ...PyPDF2是作为PDF...
  • Python中通过PyPDF2实现PDF拆分
  • python3 集成PyPDF2

    2021-01-17 02:28:28
    使用PyPDF2它可以轻松的处理 pdf 文件,它提供了读,割,合并,文件转换等多种操作。 安装: pip install pypdf2 核心类 PdfFileReader 构造方法: PyPDF2.PdfFileReader(stream,strict = True,warndest = ...

空空如也

空空如也

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

PyPDF2