python读取扫描形成的pdf_使用python从PDF中提取扫描页面

这个问题在以前的堆栈溢出帖子中已经讨论过。在

请在提问前检查之前的帖子。在

编辑:

包括供将来参考的工作脚本。程序适用于Windows上的Python3.6:# coding=utf-8

# Extract jpg's from pdf's. Quick and dirty.

import sys

with open("Link/To/PDF/File.pdf", "rb") as file:

pdf = file.read()

startmark = b"\xff\xd8"

startfix = 0

endmark = b"\xff\xd9"

endfix = 2

i = 0

njpg = 0

while True:

istream = pdf.find(b"stream", i)

if istream < 0:

break

istart = pdf.find(startmark, istream, istream + 20)

if istart < 0:

i = istream + 20

continue

iend = pdf.find(b"endstream", istart)

if iend < 0:

raise Exception("Didn't find end of stream!")

iend = pdf.find(endmark, iend - 20)

if iend < 0:

raise Exception("Didn't find end of JPG!")

istart += startfix

iend += endfix

print("JPG %d from %d to %d" % (njpg, istart, iend))

jpg = pdf[istart:iend]

with open("jpg%d.jpg" % njpg, "wb") as jpgfile:

jpgfile.write(jpg)

njpg += 1

i = iend

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值