- fill_mcs150 now uses auto_regenerate=True so pypdf writes appearance streams for every text field. Preview/Chrome ignore /NeedAppearances and were showing blank widgets over the values; generated /AP streams make the text render in all viewers. - New verify_mcs150.py reads each widget's /AP /N appearance stream (the literal drawn glyphs) to confirm expected values actually render, since the container has no OCR/raster tooling. Exits non-zero on any miss. |
||
|---|---|---|
| .. | ||
| templates | ||
| __init__.py | ||
| docx_builder.py | ||
| llm_writer.py | ||
| minio_client.py | ||
| pdf_converter.py | ||
| traffic_study_stamper.py | ||