From 9662e8f233970249e47c1854445f395a47838e51 Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Wed, 17 Mar 2021 11:17:15 +0200 Subject: Initial pdf image extract --- verify.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'verify.py') diff --git a/verify.py b/verify.py index db3c589..a42106d 100644 --- a/verify.py +++ b/verify.py @@ -1,5 +1,6 @@ import argparse import base64 +import fitz import json from pathlib import Path @@ -54,6 +55,12 @@ def read_qr_code(image_path): return pyzbar.decode(Image.open(image_path))[0].data +def read_pdf(pdf_path): + doc = fitz.open(pdf_path) + for (xref, *_) in doc.get_page_images(0, full=True): + img = fitz.Pixmap(doc, xref) + img.writePNG(f"{xref}.png") + def create_arg_parser(): parser = argparse.ArgumentParser("Green Pass QR code verifier") group = parser.add_mutually_exclusive_group(required=True) @@ -64,6 +71,13 @@ def create_arg_parser(): help="Path to an image with the QR code", default=None, ) + group.add_argument( + "-p", + "--pdf-path", + type=Path, + help="Path to PDF file", + default=None, + ) group.add_argument( "-t", "--txt-path", @@ -80,6 +94,8 @@ if __name__ == "__main__": if args.image_path: verify(read_qr_code(args.image_path)) + elif args.pdf_path: + read_pdf(args.pdf_path) elif args.txt_path: with open(args.txt_path, "rb") as f: verify(f.read().strip()) -- cgit v1.3.1