5.1 KiB
Epson-Scanner und Dokumentenablage
Unter Organisation → Dokumentenablage erscheinen eingegangene Scanner-Dateien des aktiven Mandanten, neueste zuerst. Die Seite aktualisiert sich alle zehn Sekunden; Suche, Öffnen und Herunterladen sind verfügbar. Jede übertragene Datei wird unverändert als ein Dokument gespeichert. Ein mehrseitiges PDF bleibt ein Dokument. Es gibt keine Seitentrennung, OCR, Klassifizierung oder Rechnungsverarbeitung.
Einrichtung
- Als Administrator den gewünschten Mandanten auswählen und auf der Seite Scanner einrichten → Scanner-Zugang erstellen wählen.
- Zieladresse, Benutzername und das einmalig angezeigte Passwort übernehmen. Der Zugang gehört ausschließlich zu diesem Mandanten und kann nur Scanner-Dateien einliefern. Er verwendet kein persönliches FEDEO-Passwort. Ein neues Passwort ersetzt das alte; Zugang deaktivieren sperrt weitere Übertragungen.
- Am Epson ES-580W oder ES-C380W Netzwerkordner/FTP → WebDAV (HTTPS) wählen. In Web Config kann der Zieltyp SharePoint (WebDAV) heißen; dort bei separater Auswahl von HTTPS im Feld Speichern unter den Adressanteil ohne
https://eintragen. Zieladresse und Zugangsdaten eintragen, Port 443 bzw. den Port der eigenen HTTPS-Adresse verwenden. Das Serverzertifikat muss vom Scanner akzeptiert werden. - PDF, Duplex und beispielsweise 300 dpi einstellen. Das Ziel als FEDEO speichern. Dateinamen mit Datum/Uhrzeit und laufender Nummer verwenden. Für getrennte Dokumente jeweils eine eigene Datei übertragen; Vorder- und Rückseite können in einer PDF bleiben.
Die vollständige Adresse wird aus der konfigurierten Backend-Adresse gebildet, z. B. https://fedeo.example/backend/scanner-inbox/. Ein vorhandener /backend-Präfix muss erhalten bleiben. Es ist kein lokaler Rechner oder Geräte-Agent erforderlich.
Grundlage sind die Epson-Handbücher für ES-580W und ES-C380W. Der tatsächliche Verbindungsablauf muss bei der Inbetriebnahme am Gerät geprüft werden; es wurde kein physischer Epson-Scanner getestet.
Schnittstelle und Betrieb
- Datenbankmigration
0073_scanner_document_inboxwird über die reguläre Drizzle-Migration eingespielt. Keine neuen Umgebungsvariablen oder zusätzlichen Dienste sind erforderlich; der vorhandene S3-kompatible Dateispeicher wird genutzt. - Der Scanner-Endpunkt liegt außerhalb der Browser-JWT-Anmeldung unter
/scanner-inbox/und verwendet HTTP Basic mit eigenen zufälligen Zugangsdaten. Ausschließlich über HTTPS veröffentlichen. Passwörter werden nur als SHA-256-Hash gespeichert. - Unterstützt werden
OPTIONS,PROPFIND(Depth 0/1),HEADundPUT /scanner-inbox/<Dateiname>. Der Empfangsordner existiert bereits; Unterordner, Lesen, Löschen, Umbenennen und Überschreiben über den Scanner-Zugang sind nicht vorgesehen. Dies ist ein begrenzter WebDAV-Upload-Eingang, kein allgemeines Netzlaufwerk. Ein PROPFIND des Ordners gibt keine Dokumentenliste preis. PUTenthält genau eine vollständige Datei als Rohdaten, ohne Multipart-Formular. PDF, JPEG, PNG und TIFF werden anhand von Dateiendung und Signatur geprüft, maximal 100 MiB. Keine Prüfung der gesamten Dokumentstruktur auf Beschädigungen.- Erfolgreiches Speichern:
201. Identische Wiederholung unter demselben Dateinamen:204, ohne zweiten Ablageeintrag. Anderer Inhalt unter demselben Namen:409; mitIf-None-Match: *bei vorhandenem Namen:412. Gleicher Inhalt unter einem neuen Namen wird als weiteres Dokument akzeptiert. - Fehlende/ungültige/deaktivierte Zugangsdaten:
401; leerer Upload/ungültiger Pfad:400; zu groß:413; falsches Format:415; Mandantenwartung:423. Bei Speicherfehlern gibt es keine Erfolgsbestätigung und keinen unvollständigen Ablageeintrag. Der Scanner kann erneut senden. - Der Reverse Proxy muss die genannten HTTP-Methoden, den Authorization-Header und Uploads bis 100 MiB zulassen. Bei einem abgeschnittenen Pfadpräfix sollte er
X-Forwarded-Prefixsetzen (Traefik StripPrefix erledigt dies). HTTPS endet üblicherweise am bestehenden Proxy. - Die Browser-API unter
/api/document-inboxerfordert die normale FEDEO-Anmeldung und einen aktiven Mandanten. Portalbenutzer sind ausgeschlossen. Scanner-Zugänge verwalten nur Administratoren. Die Originale sind außerdem über die bestehende Dateiverwaltung zugänglich.
Lokaler Funktionstest
Mit Testzugangsdaten und einer Test-PDF gegen eine eigene Instanz:
curl --user "$SCANNER_USER:$SCANNER_PASSWORD" -X PROPFIND -H 'Depth: 0' "$SCANNER_URL"
curl --user "$SCANNER_USER:$SCANNER_PASSWORD" -H 'Content-Type: application/pdf' --upload-file test.pdf "${SCANNER_URL}test.pdf"
Die Antwort ist zunächst 201; eine identische Wiederholung ergibt 204. Anschließend steht genau ein Dokument in der Ablage. Die automatisierten Integrationsprüfungen verwenden eine isolierte PostgreSQL-Datenbank und einen ersetzten Objektspeicher, niemals produktive Zugangsdaten:
cd backend
FEDEO_TEST_POSTGRES_IMAGE=postgres:16-alpine node --import tsx --test tests/scannerInbox.test.ts