dfgdf
This commit is contained in:
36
dump_values.py
Normal file
36
dump_values.py
Normal file
@@ -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}")
|
||||||
Reference in New Issue
Block a user