提取pdf中可能的图片

import re

input_pdf = 'Ch05-2006.pdf'
output_base = input_pdf.replace('-2006','').split('.')[0]

with open(input_pdf,'rb') as f:
    pdf = f.read()

jpg_pattern = re.compile(rb'\xff\xd8.*?\xff\xd9\x0a',re.DOTALL)
png_pattern = re.compile(rb'\x89\x50\x4e\x47.*?\xae\x42\x60\x82',re.DOTALL)
jpgs = jpg_pattern.findall(pdf)
pngs = png_pattern.findall(pdf)

jpgn = jpgs.__len__()
pngn = pngs.__len__()
print('Find {} jpg and {} png in {}'.format(jpgn,pngn,input_pdf))

if jpgn:
    for i,jpg in enumerate(jpgs):
        output_jpg = '{}-{}.jpg'.format(output_base,str(i + 1).zfill(3))
        print('  Export {}'.format(output_jpg))
        with open(output_jpg,'wb') as f:
            f.write(jpg)
if pngn:
    for i,pngn in enumerate(pngn):
        output_png = '{}-{}.png'.format(output_base,str(i + 1).zfill(3))
        print('  Export {}'.format(output_png))
        with open(output_jpg,'wb') as f:
            f.write(jpg)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天儿子自己起来并叫了外卖,还是蛮有自立能力的,中午自己还休息了一会,并给他找了4:00到4:30的车,后...
    丰盛富足心想事成阅读 694评论 0 0
  • 高晓涵阅读 803评论 0 0
  • 一.我的目标: 从19.4.10--19.7.20日之间,每天开心轻松挣钱,实现家庭资金顺畅,财富丰盛,个人工作月...
    金刚家人阅读 1,085评论 0 0
  • 燕华的神情有些呆滞,似乎没有听到姐姐的劝说,这时小依依正在玩游戏的手机响了起来,她熟练地用她那幼嫩的右手食指轻...
    心如止水幸福阅读 1,391评论 0 0
  • 澳大利亚作家邦妮·韦尔女士在《临终前最后悔的五件事》一书中说,她在八年里照顾了许多临终的病人,当她问这些人有什么遗...
    喜欢空谷幽兰阅读 1,553评论 0 0