Zitat-Highlighting in PDFs (gelbe Markierung im Wahlprogramm) #92

Closed
opened 2026-04-10 10:09:34 +02:00 by tobias · 0 comments
Owner

Aus CLAUDE.md Offene TODOs. Wenn der GWÖ-Report auf eine Wahlprogramm-Seite verlinkt (/static/referenzen/spd-mv-2021.pdf#page=20), öffnet der Browser die Seite — aber das relevante Zitat ist nicht visuell hervorgehoben. Der Leser muss selbst suchen.

Vorgehen

Beim Indexieren in embeddings.index_programm den Chunk-Text + Page-Number mit Bounding-Box aus der PDF speichern (PyMuPDF kann das via page.search_for(text)). Beim Report-Render eine annotierte Variante des PDFs erzeugen, die nur die relevante Passage gelb unterlegt — entweder als On-the-fly-PDF-Bearbeitung oder per HTML-Overlay (PDF.js).

Trade-off: PDF-Annotation ist aufwendig (~150 Wahlprogramm-PDFs × N Zitate). Alternative: HTML-Highlight-Overlay über PDF.js mit den Bounding-Boxes als JSON-Sidecar.

Akzeptanzkriterien

  • Beim Indexieren wird Bounding-Box pro Chunk gespeichert
  • Klick auf Quelle im Report öffnet PDF mit gelb hinterlegtem Zitat
  • Funktioniert für alle vier Bundesländer mit indexierten Wahlprogrammen
  • Für nicht-eindeutige Treffer (Chunk passt auf mehrere Seiten) erste sichtbare Seite
Aus CLAUDE.md `Offene TODOs`. Wenn der GWÖ-Report auf eine Wahlprogramm-Seite verlinkt (`/static/referenzen/spd-mv-2021.pdf#page=20`), öffnet der Browser die Seite — aber das relevante Zitat ist nicht visuell hervorgehoben. Der Leser muss selbst suchen. ## Vorgehen Beim Indexieren in `embeddings.index_programm` den Chunk-Text + Page-Number mit Bounding-Box aus der PDF speichern (PyMuPDF kann das via `page.search_for(text)`). Beim Report-Render eine annotierte Variante des PDFs erzeugen, die nur die relevante Passage gelb unterlegt — entweder als On-the-fly-PDF-Bearbeitung oder per HTML-Overlay (PDF.js). Trade-off: PDF-Annotation ist aufwendig (~150 Wahlprogramm-PDFs × N Zitate). Alternative: HTML-Highlight-Overlay über PDF.js mit den Bounding-Boxes als JSON-Sidecar. ## Akzeptanzkriterien - [ ] Beim Indexieren wird Bounding-Box pro Chunk gespeichert - [ ] Klick auf Quelle im Report öffnet PDF mit gelb hinterlegtem Zitat - [ ] Funktioniert für alle vier Bundesländer mit indexierten Wahlprogrammen - [ ] Für nicht-eindeutige Treffer (Chunk passt auf mehrere Seiten) erste sichtbare Seite
Sign in to join this conversation.
No description provided.