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:
co-authored by
Claude Opus 4.6
parent
77d8f6c68c
commit
1b878585f0
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user