Python 提取pdf为图片并转化gif

Python 提取pdf为图片并转化gif

提取PDF为图片,之后便为gif

首先使用wand这个包
可以使用pip3安装对应的包

pip3 install wand

wand 这个包会依赖一些环境
要用brew 进行辅助安装
ImageMagick
gs

brew install imagemagick@6
brew install gs

注意这里安装imagemagick@6(6.0的版本),如果直接安装的话,会默认安装7.0的版本,导致无法使用
在强制链接6.0 的版本

 brew link imagemagick@6 --force

最后在加入对应的环境中

echo 'export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"' >> ~/.bash_profile

这里主要看你的环境变量是什么
我的是~./zshrc

安装相关转换gif的对应的包

pip3 install imageio

下一步提取你的文件名,我这里需要按照相关的排序,由于名称
sort排序问题,由于我的名字排序有问题,所以我才用list来存储我的文件。

from wand.image import Image
import os
import imageio
list1=[]
list2=[]
#进入我的子文件夹下
os.chdir('/Users/li/Desktop/dongtu')
#定义相应的函数,来转换pdf,resolution是图片的分辨率可以调节。
def convert_pdf_to_jpg(filename):
    with Image(filename=filename+'.pdf',resolution=1000) as img:
        print('pages = ', len(img.sequence))

        with img.convert('jpeg') as converted:
            converted.save(filename=str(filename)+'.jpeg')
#生成调用的文件名
for i in range(0,2420,20):
        b = 'a10_h30_chs70_rc0.66.skip_gene.mCRASH-'+str(i)+'-ortho_number_Gene_count'
        list1.append(b)
#使用for循环来调用相关的文件名
for m in list1:
    convert_pdf_to_jpg(m)

#使用上面生成的jpeg文件生成gif
for i in range(0,2420,20):
        b = 'a10_h30_chs70_rc0.66.skip_gene.mCRASH-'+str(i)+'-ortho_number_Gene_count.jpeg'
        list2.append(b)
#生成gif,duration是图片闪动间隔的时间
for filename in list2:
    image.append(imageio.imread(filename))
imageio.mimsave('all.gif',image,duration=1)



谢谢大家观看,点一个赞再走呗,嘿嘿

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值