因为昨天生成的检测报告数量多,总体的文件包大了很多,这样下载就需要非常长的时间,所以动了压缩文件的念头。
通过Python压缩pdf文件,网上一般都是推荐使用PyMuPDF包。其实原理跟我原先文字识别图片版pdf一样,就是通过将PDF文件切分转化为相应压缩率的图片,保存到本地后,再将图片合成PDF文件。
测试了几个文件后,效果并不好,体积减少一半后清晰度就非常差了。
于是转换一下方式,不再通过PyMuPDF包转化图片,而是使用原先的pdf2image包,这样可以指定图片的分辨率,能更好保证图片质量。
但运行程序的时候遇到麻烦,系统提示未安装poppler。使用pip安装总是提示失败。
上次使用这个程序,还是儿子上网课的时候,时间久远,已经忘了当时怎么解决。于是上网搜寻解决办法,基本都是git源码,然后编译,而且之前还要编译最新版的Cmake。
经过一番折腾,问题依然如同pip安装失败提示一样。
最后脑子似乎有点印象,使用sudo apt-get install poppler-utils,问题轻松解决。
换了新方法之后,在100dpi分辨率下,无论使用img2pdf,还是PyMuPDF包生成pdf文件,同体积下清晰度都有了明显提升。