feat(files): gescannte/bildbasierte PDFs als Bilder rendern (Vision)
read_file gab bei Scan-PDFs (kein extrahierbarer Text) nur nutzlose Rohbytes zurueck -> claude.ai konnte sie nicht lesen. Jetzt: PyMuPDF rendert die Seiten als PNG (150 dpi, max 20 Seiten) -> ImageContent, das LLM liest sie per Vision. Verschluesselte/kaputte PDFs bleiben graceful. TestFileTypes scanned.pdf -> image. Produktiv-Fix fuer alle User. Dep: pymupdf (requirements-extra.txt). 76 Tests gruen.
This commit is contained in:
@@ -93,3 +93,12 @@ Umlauten/Leerzeichen/Klammern, Unicode/Emoji/RTL-Inhalt, Datei ohne Endung,
|
||||
passwortgeschuetztes PDF + ZIP, uebergrosse Datei (26 MB > 25-MB-Limit ->
|
||||
"Datei zu gross"). Alle werden graceful behandelt (kein Crash). Generator:
|
||||
`gen_edge.py` (braucht pikepdf + zip), Upload via `upload_ocis.sh`.
|
||||
|
||||
## Verbesserung: bildbasierte/gescannte PDFs (2026-06-19)
|
||||
|
||||
Frueher gab `read_file` bei Scan-PDFs (kein extrahierbarer Text) nur Rohbytes
|
||||
(`EmbeddedResource`) zurueck — claude.ai konnte den Inhalt nicht lesen. Jetzt werden
|
||||
solche PDFs mit **PyMuPDF** seitenweise als **PNG-Bilder** (150 dpi, max 20 Seiten)
|
||||
gerendert und als `ImageContent` zurueckgegeben -> das LLM liest sie per Vision.
|
||||
Produktiv-Feature (gilt fuer alle User). Test: `TestFileTypes` scanned.pdf -> `image`.
|
||||
Runtime-Dep: `pymupdf` (siehe `requirements-extra.txt`).
|
||||
|
||||
Reference in New Issue
Block a user