需要用到 PyPDF2 模块,先 pip install PyPDF2 看下是否已下载,未下载则会直接下载,否则会提示已下载。

from PyPDF2 import PdfFileReader ,PdfFileWriter
# 提取PDF文件
if __name__ == "__main__":
    # 设置源pdf,如果和python脚本运行位置不一致,则建议加上绝对路径
    pdffile='test.pdf'
    reader=PdfFileReader(pdffile)
    writer=PdfFileWriter()
    # 开始和结束的页面号
    start=134
    stop=260
    # 生成新的pdf文件
    with open('new.pdf','wb') as wstream:
        for page in range(start,stop):
            temp=reader.getPage(page)
            writer.addPage(temp)
        writer.write(wstream)
    print('done!')

运行完后会出现'done!',此时可检查新的pdf文件情况。

报错处理一:

如pdf已加密,则会报错切割PDF文件,遇到 PdfReadError: File has not been decrypted

解决方案:

  1. 下载qpdf: https://sourceforge.net/projects/qpdf/
  2. 运行命令,解密文件为新文件
  3. ./qpdf --password=’’ --decrypt filename.pdf filename_new.pdf(注意文件路径以及文件路径名不建议有空格)
  4. 重新运行程序
from PyPDF2 import PdfFileReader ,PdfFileWriter# 提取PDF文件if __name__ == "__main__": pdffile=test.pdf' reader=PdfFileReader(pdffile) writer=PdfFileWriter() # 开始和结束的页面号 start=134 stop=260 # 生成新的pdf文件 with open('new.pdf','wb') pip install PyPDF2 pip install PyMuPDF Pdf操作相关代码实现:1.使用PyMuPDFPDF中提取图像2.#将单个pdf文件一页拆分出来,得到多个pdf3.在pdf中查找包含某个文本的页面4. 将pdf转化为一页页的pdf5.将某一批文件由word格式转化为pdf格式 1.使用PyMuPDFPDF中提取图像 1 基本思路 PDF文档遵循一定的规范1,例如精确定位了每个字符出现在页面上的坐标、根据坐标绘制的各种形状(线、矩形、曲线等)。所以,用PDF格式传输和打印文档可以保证格式的一致性,不会像Word那样因为渲染引擎的不同而出现格式错乱、多页少页等问题。 Word文档则是一种流式布局,元素之间的相对距离决定了其呈现在页面上的最终位置。因此适合编辑内容,前文内容的修改自动促发后续文档布局的更PDF
很多做法。1. 把文件用Google的Chrome浏览器打开,打印其中几页,另存为PDF。简单。2. 安装Adobe的Acrobat,里面会有更全的功能。然而,收费。3. 用Python的PyPDF2包。(Python 3,亲测有效)pip install PyPDF2from PyPDF2 import PdfFileWriter, PdfFileReader # 开始页 start_page...
PyPDF2python对于处理一些日常繁琐事物来说是很便捷的,比如今天我们要说的pdf操作。 需求如题,想从一个pdf文件中截取出指定的页面。我用的工具是py2pdf。 首先,我们需要读取待处理pdf文件。import PyPDF2 as pdfinputfile = "/path/to/your/pdf/file" outputfile = "/path/to/your/new/pdf/fi
Python中,要实现当log文件大小达到10M时自动生成文件,可以通过使用logging模块的RotatingFileHandler来完成。 RotatingFileHandler是logging模块中的一个类,可以实现循环写入日志,当日志文件大小达到一定值时,会自动切换到文件继续写入。为了达到log文件到10M自动生成文件的需求,我们可以在创建RotatingFileHandler对象时指定日志文件的最大大小为10M,例如: import logging from logging.handlers import RotatingFileHandler # 创建RotatingFileHandler对象,设置最大文件大小为10M handler = RotatingFileHandler(filename='log_file.log', maxBytes=10*1024*1024, backupCount=5) # 配置日志格式、级别等 handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s %(message)s')) logger = logging.getLogger() logger.setLevel(logging.INFO) logger.addHandler(handler) # 记录日志 logger.info('this is a log message') 上述代码中,RotatingFileHandler的第一个参数是指定日志文件文件名,maxBytes参数用于指定文件的最大大小,backupCount参数用于指定最多保存多少个日志文件备份。在这个例子中,当log_file.log文件的大小达到10M时,会自动生成一个的日志文件,最多保留5个备份文件。 这样,我们就可以使用Python来实现log文件到10M自动生成文件的功能了。
python中引入json文件报错:json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 1780 (char 17 25452 docker启动报错unable to configure the Docker daemon with file /etc/docker/daemon.json hongdounuoyan: 可以有空格,但空格是英文格式下敲的,如果用中文就不行。 Mysql报错:1172 - Result consisted of more than one row 良師益友: 参数和表字段名不能相同,改一下 VB合并excel表格(工作表和工作簿) NNNNN_0315: 请问将一个 Excel 工作簿中的多个工作表合并成一个工作表,显示下标越界应当如何修订?