需要用到
PyPDF2
模块,先
pip install PyPDF2
看下是否已下载,未下载则会直接下载,否则会提示已下载。
from PyPDF2 import PdfFileReader ,PdfFileWriter
if __name__ == "__main__":
pdffile='test.pdf'
reader=PdfFileReader(pdffile)
writer=PdfFileWriter()
start=134
stop=260
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
- 下载qpdf: https://sourceforge.net/projects/qpdf/
- 运行命令,解密文件为新文件
./qpdf --password=’’ --decrypt filename.pdf filename_new.pdf
(注意文件路径以及文件路径名不建议有空格)- 重新运行程序
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.使用PyMuPDF从PDF中提取图像2.#将单个pdf文件每一页拆分出来,得到多个pdf3.在pdf中查找包含某个文本的页面4. 将pdf转化为一页页的pdf5.将某一批文件由word格式转化为pdf格式
1.使用PyMuPDF从PDF中提取图像
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: