From 0b84e2c59f55d7d4836d6872cc0e2b2a7e8b7384 Mon Sep 17 00:00:00 2001 From: Andreas Knuth Date: Sat, 11 Jul 2026 13:59:27 -0500 Subject: [PATCH] dfgdf --- dump_values.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 dump_values.py diff --git a/dump_values.py b/dump_values.py new file mode 100644 index 0000000..582eee9 --- /dev/null +++ b/dump_values.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +""" +dump_values.py - Zeigt (mit pypdf) den WERTE-BLOCK der Info- und CA-Seite. + +Aus der Analyse: pypdf gibt zuerst das leere Template (Labels) aus, dann +einen Block mit den eingegebenen Werten. Dieses Script isoliert genau diesen +Werte-Block, damit wir die Feld-Zuordnung bauen koennen. + +Aufruf: + python3 dump_values.py --pdf ~/data/S/"Sturgill, Garett 040126.pdf" +""" +import argparse +from pypdf import PdfReader + +ANCHOR_INFO = "BUYER INFORMATION SHEET" +ANCHOR_CA = "PROSPECTIVE BUYER AGREES TO KEEP AND HOLD CONFIDENTIAL" + +ap = argparse.ArgumentParser() +ap.add_argument("--pdf", required=True) +args = ap.parse_args() + +reader = PdfReader(args.pdf) +for i, page in enumerate(reader.pages): + txt = page.extract_text() or "" + flat = txt.replace("\n", " ") + is_info = ANCHOR_INFO in txt + is_ca = ANCHOR_CA in flat + if not (is_info or is_ca): + continue + tag = "INFO" if is_info else "CA" + print(f"\n{'='*70}") + print(f"=== SEITE {i+1} [{tag}] ===") + print('='*70) + lines = txt.splitlines() + for ln, line in enumerate(lines, 1): + print(f"{ln:3} | {line!r}") \ No newline at end of file