Sync all skills: Crop detection in doc-converter, n8n- prefix fix

- doc-converter: Pipeline-Architektur, Seitenbild-Cropping Sektion
- n8n-skills: n8n- Prefix in allen SKILL.md name-Feldern

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Claude Code
2026-02-10 21:20:06 +00:00
co-authored by Claude Opus 4.6
parent 77d8f6c68c
commit 1b878585f0
8 changed files with 48 additions and 7 deletions
@@ -75,6 +75,18 @@ FALSCH: Logo mehrfach im HTML anzeigen
- Der Content beginnt DIREKT mit dem Dokumenttitel (`<h1>`) und dann Sektion 1
- **VERBOTEN:** Klickbare Links wie "1. Zweck", "2. Geltungsbereich" im Content!
### Pipeline-Architektur (3-Phasen-Hybrid)
```
PDF → pdftoppm → Seitenbilder
Phase 1: recognize_document_structure() (Gemini, 3 Content-Seiten)
→ header_bottom_pct, footer_top_pct (Crop-Koordinaten)
crop_page_images() → gecroppte Seitenbilder (Header/Footer entfernt)
Phase 2a: TOC + Footer generieren
Phase 2b: Content pro Seite (gecroppte Bilder, KEINE Header/Footer-Referenz)
Post-Processing: normalize_content_structure() → normalize_font_sizes()
```
### TOC-Sektion-1-Fix
Wenn "1. Inhaltsverzeichnis" die erste Sektion im TOC ist:
- Die Funktion `fix_toc_section_one()` korrigiert automatisch
@@ -621,6 +633,35 @@ Automatische Normalisierung nach der Gemini-Konvertierung:
---
## Seitenbild-Cropping (Header/Footer-Entfernung)
### Gemini-basierte Crop-Erkennung (Phase 1)
Phase 1 sendet Pre-Content + **3 Content-Seiten** an Gemini. Der RECOGNITION_PROMPT instruiert:
- "Vergleiche die Seiten. Alles was sich auf mind. 2 Seiten am oberen/unteren Rand wiederholt = Header/Footer"
- Seitenzahlen zählen auch dazu (Position gleich, nur Zahl ändert sich)
- `header_bottom_percent` und `footer_top_percent` sind **physische Crop-Grenzen**
- Beispiel: Footer-Trennlinie bei 88%, Text 89-91%, Balken 91-92% → `footer_top_percent = 87.5`
### crop_page_images() — Physisches Cropping
Nach Phase 1 werden ALLE Seitenbilder physisch gecroppt:
```python
crop_page_images(page_images, header_bottom_pct, footer_top_pct, margin_px=5)
```
- Header/Footer werden abgeschnitten bevor Gemini die Bilder in Phase 2b sieht
- Gemini kann NICHT durch Header/Footer verwirrt werden
- Prompts enthalten KEINE "IGNORIEREN!"-Sektionen mehr
- Stattdessen: "Die Seitenbilder zeigen NUR den Content-Bereich. Konvertiere ALLES."
- Original-Bilder bleiben für visuelle Verifikation erhalten
### Vorteile des Croppings
1. **Keine Header/Footer-Artefakte möglich** (Gemini sieht sie nie)
2. **Kürzere Prompts** (keine "KOPFZEILE IGNORIEREN" Sektionen)
3. **Keine Header/Footer-Referenzbilder** → weniger Tokens → günstiger
4. **Tabellenfortsetzung einfacher** (Content reicht bis unterer Rand = Tabelle geht weiter)
5. **Weniger Post-Processing** nötig
---
## Bild-Verarbeitung
### Waifu2x Upscaling