【DCTDECODE JPG】

张开发
2026/6/5 2:11:57 15 分钟阅读
【DCTDECODE JPG】
import time import PyPDF2 import pdfplumber from PIL import Image def extract_image(page): try: # 提取第2页图片从0开始计数 page_image pdf_image_reader.getPage(pageNumber1) extract_image(page_image) if /XObject in page[/Resources]: xObject page[/Resources][/XObject].getObject() for obj in xObject: if xObject[obj][/Subtype] /Image: size (xObject[obj][/Width], xObject[obj][/Height]) data xObject[obj].getData() if xObject[obj][/ColorSpace] /DeviceRGB: mode RGB else: mode P # 保存图片的文件名前缀 img_pre str(int(time.time()*1000)) if /Filter in xObject[obj]: if xObject[obj][/Filter] /FlateDecode: img Image.frombytes(mode, size, data) img.save(img_pre .png) elif xObject[obj][/Filter] /DCTDecode: img open(img_pre .jpg, wb) img.write(data) img.close() elif xObject[obj][/Filter] /JPXDecode: img open(img_pre .jp2, wb) img.write(data) img.close() elif xObject[obj][/Filter] /CCITTFaxDecode: img open(img_pre .tiff, wb) img.write(data) img.close() else: img Image.frombytes(mode, size, data) img.save(img_pre .png) else: print(本页无图片) except: print(图片提取失败)

更多文章