OCR PHP DB Weboberfläche für synOCR

valeriusme

Benutzer
Mitglied seit
15. Feb 2025
Beiträge
5
Punkte für Reaktionen
8
Punkte
9
Heute stelle ich euch mein selbst entwickeltes Skript OCR PHP DB mit Web Oberfläche vor und Teile diese mit Euch. Dieses Tool erleichtert die Verwaltung von OCR-Daten aus synOCR und ähnlichen Lösungen.



Bild 19.02.25 um 01.29.png



Was macht das Skript?

OCR PHP DB
durchsucht einen Ordner mit euren OCR-verarbeiteten PDFs, liest deren Inhalte aus und speichert sie in einer MariaDB-Datenbank. Dadurch könnt ihr eure Dokumente, Rechnungen und andere Dateien schnell und einfach durchsuchen.

Beim Einlesen werden automatisch Tags erstellt, falls passende Begriffe erkannt werden. Diese Tags könnt ihr nach Belieben anpassen und verwalten. Zusätzlich ermöglicht das Skript, die PDFs direkt über den integrierten PDF.js-Viewer anzusehen oder herunterzuladen.

Web-Oberfläche und mobile Nutzung

Das Skript verfügt über eine moderne, responsive Web-Oberfläche, die für Smartphones, Tablets und Desktop-PCs optimiert ist. Ihr könnt es also bequem von jedem Gerät aus nutzen.

Zudem kann die Anwendung als Web-App auf Smartphones installiert werden, sodass sie sich wie eine native App verhält – inklusive Icon auf dem Startbildschirm und Vollbildmodus.

Wie bediene ich die Web-Oberfläche?

Dokumente durchsuchen: Über die Suchleiste könnt ihr nach Dokumenten anhand ihres Inhalts oder ihrer Tags suchen.
PDFs ansehen & herunterladen: Durch Anklicken eines Eintrags könnt ihr das Dokument direkt im PDF-Viewer öffnen oder herunterladen.
Tags verwalten: Im Tag-Editor könnt ihr vorhandene Tags ändern oder neue hinzufügen, um eure Dokumente besser zu organisieren.
Einstellungen: In den Benutzereinstellungen könnt ihr eure persönlichen Präferenzen anpassen.
Navigation: Über das Menü gelangt ihr schnell zu den verschiedenen Bereichen der Anwendung.

Wichtige Hinweise

✔️ Das Skript löscht keine Dateien von eurem Server.
✔️ Es besitzt nur Leserechte, sodass eure OCR-PDFs unangetastet bleiben.

Was erwartet euch in diesem Video?

Ich zeige euch Schritt für Schritt:

✔️ Wie ihr eure OCR-Daten aus synOCR oder einem anderen OCR-Ordner einlesen könnt
✔️ Wie ihr das Skript auf der Web Station installiert
✔️ Wie ihr die Web-Oberfläche nutzt, um eure Dokumente effizient zu verwalten

Warum habe ich dieses Skript erstellt?


Ich wollte eine einfache Web-Oberfläche für meine OCR-Dokumente, da Paperless NGX für meine Zwecke etwas übertrieben war. Habe ich für mich synOCR Script hier im Forum endeckt, da diese keine Weboberfläche besitzt habe ich dieses Skript für mich entwickelt und will es mit der tollen Synology-Community teilen.

Nun, da das Skript seit gestern fertig ist, kann ich endlich synOCR und OCR PHP DB zusammen nutzen, um meine Dokumente effizient zu verwalten. Zumindest die E-Mail-Rechnungen kann ich jetzt problemlos einlesen. Briefe kann ich noch nicht scannen, da die Scanner leider ziemlich teuer sind – aber das steht definitiv noch auf meiner Liste und wird bald auch ins Haus kommen.

Bei Fragen, Anregungen oder Bug Fixes können wir das gerne gemeinsam besprechen. Da die Entwicklung dieses Skripts für mich ein Hobby war, kann ich möglicherweise nicht sofort antworten – schließlich habe ich auch eine Familie. Aber ich helfe euch gerne, so gut es geht. Falls das Interesse an diesem Skript groß ist, können wir gemeinsam Verbesserungen sammeln, und ich kümmere mich dann um die Umsetzung im Code.

Download auf GitHub

https://github.com/ValeriusDesigns/OCR-PHP-DB

Installations Anleitung Video auf YouTube

https://www.youtube.com/watch?v=DqQXthxbbkA

Haftungsausschluss:

Obwohl ich das Skript sorgfältig getestet habe, übernehme ich keine Verantwortung, falls bei euch etwas schiefgeht – insbesondere, wenn ihr eure Synology nach außen erreichbar macht.
 
Im Video habe ich einen Fehler gemacht bei Aufgabenplanung:
da sah der auszuführende Link ja so:

wget https://<eure ip>/synocr/ocr_reader.php?token=<und der api token>

aber so geht es nicht es muss so aussehen:

Wenn Ihr ein “Selbstsigniertes” oder “Synology Default Certificate” habt, braucht man --no-check-certificate, weil wget sonst die Verbindung ablehnt.

wget --no-check-certificate -q -O - "https://<eure ip>/synocr/ocr_reader.php?token=<und der api token>"

Wenn Ihr ein “Let’s Encrypt” Zertifikat habt, braucht man kein --no-check-certificate.

wget -q -O - "https://<eure ip>/synocr/ocr_reader.php?token=<und der api token>"

Ich hoffe es stimmt so zumindest geht es jetzt bei mir, shell bash eingaben sind wieder eine andere sache. Bei mir geht es jetzt mit der Aufgabenplanung nach diesem Prinzip.
 
  • Like
Reaktionen: Kachelkaiser
Wow cool. Ein paperless-ngx Light. Cooles addon zu SynOCR. Vielleicht können du und @geimist die beiden Skripte verheiraten, das wäre perfekt!
 
Wow cool. Ein paperless-ngx Light. Cooles addon zu SynOCR. Vielleicht können du und @geimist die beiden Skripte verheiraten, das wäre perfekt!
Danke für das Feedback! Ja, das war genau die Idee - eine schlankere Alternative zu Paperless-NGX, die gut mit SynOCR zusammenarbeitet. Ich hätte nichts dagegen, wenn @geimist meinen Code in sein Skript integriert, sofern das technisch machbar ist. Das müssten wir genauer besprechen, um eine sinnvolle Lösung zu finden.
 
  • Like
Reaktionen: *kw* und Kachelkaiser
Zunächst einmal herzlich willkommen hier im Forum, @valeriusme :)

Ein schönes Projekt (y)
Ich hatte mich bisher mit der systemweiten Suche von Synology Drive und dessen PDF-Viewer begnügt. Auch, weil ich vom Webdesign keine Ahnung habe.
Aber so eine eigene Website hat schon auch ihren Reiz.

Vielleicht können du und @geimist die beiden Skripte verheiraten, das wäre perfekt!
So einfach ist das leider nicht, da synOCR via CGI im DSM-Webserver läuft. Mit php kommt man da meines Wissens nicht weit.

Meine Vorstellungen in Richtung Zukunft gingen eher dahin, dass man die gesamte GUI in einen Dockercontainer verfrachtet. U. a. die Regelerstellung in der YAML-Datei ist ja nicht gerade einsteigerfreundlich. Das könnte man alles viel schicker machen und sich beliebig im Webdesign austoben. Vor allem muss man sich nicht mehr vor Breaking Changes seitens Synology in einem zukünftigen DSM fürchten.
 
  • Like
Reaktionen: Kachelkaiser
Ich nutze aktuell nur Paperless, aber ich finde das auch, dass es gut aussieht. Könntest du vielleicht statt der Zipdatei auch den Code verfügbar machen? Dann können auch andere Leute sich den direkt angucken. Dann könnten, wenn du willst, auch andere dran mitarbeiten und man könnte auch vielleicht ein Dockerimage dazu erstellen. Dann ist es leichter zu installieren.

Edit: Das mit dem Code ist ja sogar schon. Das war vorhin noch nicht. Danke :)
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
Es hat halt den Vorteil, dass es innerhalb des Berechtigungssystems des DSM arbeitet und man so nicht eine eigene Sicherheitsschicht benötigt.

Frage an @Tommes: meine Annahme, dass man so eine Seite nicht einfach im DSM laufen lassen kann ist doch richtig, oder?
 
Etwas im DSM laufen zu lassen, war noch nie einfach 🤭

Nun, die erste Version von Ultimate Backup wurde noch von php angetrieben. Das war noch zu Zeiten von DSM 5, wo man vollen root-Zugriff hatte und php über das Tool Init 3rdparty implementiert wurde. Das waren noch Zeiten :ROFLMAO:

Irgendwann sind wir dann von php weg und haben alles nur noch in BASH, HTML, CSS und ein bisschen JavaScript geschrieben. Dabei bin ich bis heute geblieben. Ob und wie man php in eine inoffizielle 3rdParty App unter DSM 7 einbinden kann, kann ich nicht beantworten. Neben Bash würde mir da nur Python und Perl einfallen.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: geimist
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat