python处理pdf中二维码图片,批量生成图片

比如一种pdf页面上有很多二维码,这些二维码比如是用于停车的,每次打开pdf截图或者其他模式存下来,然后扫码使用是不是感觉很麻烦,可以使用python把每个二维码生成图片,然后保存起来使用,当然想方便的话还可以写个页面进行管理。具体看自己的需求

具体处理的代码如下:

pip install fitz pillow
import fitz
#这里要安装pillow库
from PIL import Image
import io
#免费领取爬虫ip:http://www.jshk.com.cn/mb/reg.asp?kefu=xjy
def extract_qr_codes_from_pdf(pdf_path):
    pdf = fitz.open(pdf_path)
    page_num = 1
    for page in pdf:
        img_list = page.get_images(full=True)
        for i, img in enumerate(img_list):
            xref = img[0]
            base_image = pdf.extract_image(xref)
            image_data = base_image["image"]

            img_io = io.BytesIO(image_data)
            img_obj = Image.open(img_io)
            img_save_path = f"{page_num}_{i+1}.jpg"
            img_obj.save(img_save_path)
            print(f"QR code saved to {img_save_path}")

        page_num += 1
    pdf.close()
# 调用函数示例
extract_qr_codes_from_pdf('input.pdf')

这个代码就不做详细解释 ,也很容易看得懂,还是很方便的,不懂的话就自己问gpt吧,再配合写个页面,可以用vue.js,php代码写个简单的停车券管理系统,妥妥的方便。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以使用 Python 的 `pdfminer` 库来提取 PDF 文件的文本,然后使用 `pyzbar` 库来识别二维码。以下是一个示例代码: ```python import io import pdfminer import pyzbar.pyzbar as pyzbar from PIL import Image # 从 PDF 文件提取文本 def extract_text_from_pdf(pdf_file): output = io.StringIO() with open(pdf_file, 'rb') as f: parser = pdfminer.pdfparser.PDFParser(f) doc = pdfminer.pdfdocument.PDFDocument(parser) for page in pdfminer.pdfinterp.PDFPageInterpreter(pdfminer.pdfinterp.PDFResourceManager(), pdfminer.pdfinterp.PDFPageInterpreter): page_resource_manager = pdfminer.pdfinterp.PDFResourceManager() device = pdfminer.pdfdevice.TagExtractor(page_resource_manager, outfp=output, laparams=None) interpreter = pdfminer.pdfinterp.PDFPageInterpreter(page_resource_manager, device) interpreter.process_page(page) return output.getvalue() # 在图像查找二维码 def find_qr_codes(image_file): img = Image.open(image_file) codes = pyzbar.decode(img) return [code.data.decode('utf-8') for code in codes if code.type == 'QRCODE'] # 从 PDF 文件查找二维码 def find_qr_codes_in_pdf(pdf_file): text = extract_text_from_pdf(pdf_file) codes = [] for line in text.split('\n'): codes += find_qr_codes(line.strip()) return codes # 示例用法 pdf_file = 'example.pdf' codes = find_qr_codes_in_pdf(pdf_file) print(codes) ``` 这个示例代码假设 PDF 文件的每行文本都是一个二维码。它首先使用 `pdfminer` 库提取 PDF 文件的文本,然后使用 `pyzbar` 库在其查找二维码。对于每个找到的二维码,它将其解码并将其作为字符串添加到结果列表

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

super_ip_

你的打赏将是我的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值