Python PDF摘图片

 

 

 

 

IDE:pycharm

 

先安装需要的开发包

Pymupdf

安装Fitz

编写代码,引入模块

IDE有自动检查功能,

1:如果引入模块是灰色,说明该模块的方法未被调用

2:如果引入模块带红色下划线,说明该模块是名字错误 或者 未安装,编译器找不到

3:如果引入模块是亮色,说明正常使用  (如下图)

 

首先打开(加载)PDF文件到项目中,先用简单的功能测试PDF的页数和实际是否相同

file = "V253.pdf"
p_pages = fitz.open(file)
pdf_len = len(p_pages)
print("这个PDF有%d页" % pdf_len)

导入图片处理的包IPL

Pillow-pil

 文件io  直接import

# -- coding: utf-8 --
import fitz
from PIL import Image
import io

file = "V253.pdf"
p_pages = fitz.open(file)
pdf_len = len(p_pages)
print("这个PDF有%d页" % pdf_len)


for i in range(0, pdf_len):
    page = p_pages[i]
    image_list = page.getImageList()
    pic_num = len(image_list)
    print("第%d页pdf中有%d张图片" % (i+1, pic_num))
    pic_index = 0
    if pic_num > 0:
        for img in image_list:
            hg = img[0]
            b_image = p_pages.extractImage(hg)
            image_b = b_image["image"]
            pic = Image.open(io.BytesIO(image_b))
            pic_index += 1
            pic_name = file[:-4] + "的第%d页第%d张.png" % (i+1, pic_index)
            pic.save(open(pic_name, "wb"))

执行结果

 

posted @ 2021-03-16 14:21  沧海小米粒儿  阅读(165)  评论(0)    收藏  举报