synOCR synOCR - GUI für OCRmyPDF

geimist

Benutzer
Sehr erfahren
Maintainer
Registriert
04. Jan. 2012
Beiträge
5.734
Reaktionspunkte
1.538
Punkte
234

Darf ich vorstellen: synOCR – mach deine Synology DiskStation zum papierlosen Büro


Für alle, die es brauchen, habe ich mal eine kleine GUI für den Dockercontainer OCRmyPDF erstellt. Nicht jeder fummelt ja gerne an Skripten herum. Außerdem hatten ja einige in Verbindung mit dem PHP-Skript Rechteprobleme. synOCR ruft den Dockercontainer etwas anders auf, sodass es mit jedem Ein- und Ausgabeordner funktionieren sollte.

Was ist synOCR?

synOCR ist eine native App für Synology DSM. Damit kannst du einfach OCR (Texterkennung) auf PDF-Dokumente direkt auf den NAS anwenden, da Scans ja in der Regel zunächst nur aus einer Bilddatei bestehen. synOCR kann anschließend nach Tags und Datum in den Dokumenten suchen, diese nach einem individuellen Muster umbenennen und nach Kategorien, Tags oder Jahren in Ordner einsortieren. Durch Verwendung von Hardlinks entsteht auch kein erhöhter Speicherplatzbedarf, wenn ein Dokument in mehrere Kategorieordner einsortiert werden muss.

Vorteile im Vergleich zu alternativer Software:

  • Alle Dokumente verbleiben im Benutzerdateisystem. Sie bleiben immer für dich zugänglich und du kannst wie gewohnt mit ihnen arbeiten.
  • Die Nutzung von synOCR erfordert keine proprietäre Datenbank. Daher brauchst du dir bei Updates keine Gedanken machen, ob du nachher noch an deine Dokumente kommst.
  • Für OCR und Archivierung sollte nie jemand auf eine Cloud angewiesen sein – synOCR macht den Himmel für dich ‚wolkenlos‘. ;-)
  • synOCR ist Open Source – das bedeutet für dich nicht nur ‚kostenfrei‘, sondern auch, dass jeder den Quellcode prüfen kann
  • Einfache Grundinstallation in 3 Schritten (1️⃣ SPK installieren 2️⃣ Ordnerpfade eintragen 3️⃣ DSM Aufgabenplaner konfigurieren) und bei einem Update muss man sich keine Sorgen um eine Datenbank machen.

Download:


Hauptfunktionen:

  • konvertiert Bilder nach PDF
  • macht PDF-Scans mit der Texterkennung von OCRmyPDF durchsuchbar
  • teilt Dokumente mithilfe von Trennblättern auf
  • entfernt auf Wunsch Leerseiten (ab Version 1.5)
  • optionale Farbanpassung (1Bit schwarzweiß, Kontrast, Schärfe – ab Version 1.5)
  • sucht nach Datum im Text und passt den Dateinamen nach eigenen Muster an
  • es sind einfache Regeln in der GUI sowie komplexe YAML-Regeln (auf Wunsch auch als RegEx) definierbar
  • Sortierung der Dokumente in regelbasierte Ordner oder nach Datum
  • und so manches mehr …

Voraussetzungen und Hinweise:

  • Idealerweise nutzt man seinen Workflow in Verbindung mit einem netzwerkfähigen Dokuementenscanner.
    Es gehen aber natürlich auch Scan-Apps, welche die Dateien auf dem NAS ablegen.
  • Zweite Voraussetzung ist ein dockerfähgies NAS, d.h. es muss eine x86_64 CPU (Intel oder AMD) oder einen 64bit ARM-CPU haben (aarch64).
    Der Grund: Docker muss installiert sein (entweder als Synologypaket oder manuell - auch auf aarch64 möglich).
  • Eine DS mit aarch64 CPU benötigt zusätzlich das Paket Python 3.9 (läuft ab synOCR v1.4.2).
  • Docker und OCRmyPDF erfordern in Regel seitens synOCR keinerlei zusätzliche Konfiguration. Um alles Nötige kümmert sich synOCR.
  • Anleitung und Hilfe findest du außer in diesem Thread auch im Wiki (befindet sich noch im Aufbau - derzeit nur in deutscher Sprache).
  • Sofern ihr OCRmyPDF bisher noch nicht genutzt habt, dauert der erste Programmlauf etwas länger, da das entsprechende OCRmyPDF Dockerimage zunächst geladen werden muss.
  • Ab v1.3.0 wird zusätzlich (auch nach jedem Update) noch eine virtuelle Pythonumgebung erstellt. Das dauert ~1 Minute.
  • Download von synOCR über cphub.net ist nicht zu empfehlen, da dort lediglich alte Versionen vorgehalten sind. Bitte verwende die oben verlinkte Möglichkeit.
  • Derzeit führt kein Paketserver die aktuelle Version von synOCR. Deshalb sind Updates aktuell vom User manuell durchzuführen. Eine Benachrichtigung über eine neue Version gibt es auf der Startseite der GUI, im Log und im Benachrichtigungszentrum des DSM.

Ein besonderer Dank geht an:

  • @Tommes für seine großartige Hilfe mit dem SPK
  • @Gthorsten für die Unterstützung mit dem Pythoncode (insbesondere die Datumssuche)
  • @Struppix für die Pflege der Dokumentation im WIKI und dem YAML-Creator

Bitte schreibt, wenn euch eine Funktion fehlt oder ihr euch eine Verbesserung wünscht.

📦 SPK DOWNLOAD: DSM6 | DSM7

⚠️ bekannte Probleme / Einschränkungen / known issues / limitations:​

Geräte mit einer ARM64 / aarch64 CPU werden mit dieser Version aufgrund von Python-Inkompatibilität nicht unterstützt❗️​


Folgende Funktionen erwarten dich mit dem Update auf synOCR Version 1.5.0:
(The complete changelog in english language can be found here.)


🔥 neue Funktionen​

synOCR kann nun auf Wunsch Leerseiten erkennen und entfernen.
Für eine granulare Steuerung gibt es einen neuen Bereich in der GUI:
ebbe03b5-0c8c-447a-9c6c-2829d74ece8b




In der Regel sollte der Hauptregler für die Empfindlichkeit ausreichen.

Dieser Wert bestimmt, wie stark der durchschnittliche Helligkeitswert des Bildes reduziert wird, um Leerseiten zu erkennen. Erhöhe den Wert (z. B. -40), um empfindlicher auf Inhalte zu reagieren (mehr Seiten als nicht leer erkennen). Verringere den Wert (z. B. -60), um strenger zu sein (mehr Seiten als leer erkennen).

In den Experteneinstellungen gibt es noch folgende Detaileinstellungen:

Funktion
Beschreibung
Text ignorierenIn den Standardeinstellungen wird jede Seite übersprungen, sobald mindestens ein Zeichen gefunden wird. Auf manchen Scans scheint aber Text auf einer leeren Seite von der Rückseite durch, was zu sinnlosem Text führen kann. Mit dieser Einstellung wird ausschließlich eine optische Prüfung durchgeführt.
Beschneiden (Breite) / Beschneiden (Höhe)Beschneidet den Erkennungsbereich um angegebene Prozent in der Breite, um störende Elemente wie Heftklammern oder Lochränder zu ignorieren. Passe die Werte an, wenn deine Dokumente ungewöhnliche Randbereiche haben (0.1 entsprechen 10%). Der Standardwert für die Breite ist 0.1 und für die Höhe 0.05.
max. Filtergröße (Rauschreduzierung)Entfernt kleine Störungen (wie Staub oder leichte Markierungen) durch Filteroperationen. Ein höherer Wert vergrößert den Radius des Filters (weiße Bereiche), um kleine schwarze Störpixel zu entfernen.
min. Filtergröße (Textverstärkung)Ein höherer Wert vergrößert den Radius des Filters (schwarze Bereiche), um Text klarer hervorzuheben. Höhere Werte wirken stärker.
Schwellwert schwarze PixelLegt den Grenzwert für den Anteil an nicht weißen Pixeln fest, um eine Seite als leer zu klassifizieren. Verringere den Wert, um strengere Kriterien für Leerseiten anzuwenden und erhöhe den Wert, um toleranter gegenüber leeren Seiten zu sein. Standardwert: 0.005
2ee5b21c-2087-4adc-8d6f-b25c3b4fbcf4


Funktion
Beschreibung
Schwellwert für schwarzweißDer Schwarzweiß-Modus erzeugt sehr kleine Dateien bei sehr gutem Kontrast und Schärfe. Für Textdokumente ohne wichtige Grafiken ist das ideal.
Der Schwellenwert bestimmt, ab welcher Helligkeit (0-255) ein Pixel als weiß interpretiert wird. Du kannst diesen Wert anpassen:
  • Niedrigerer Wert (z. B. 20):
    Mehr Pixel werden schwarz
  • Höherer Wert (z. B. 160):
    Mehr Pixel werden weiß
Empfohlener Wert: 40
deaktiviert ➜ Die Schwarzweiß-Konvertierung ist ausgeschaltet.
DPI AnpassungDie DPI Zahl muss bei Farbanpassungen definiert werden.
Wird kein Wert definiert, wird bei Farbanpassungen 300 DPI verwendet.
Ist die DPI Anpassung definiert, werden alle Dokumente entsprechend angepasst.
deaktiviert ➜ Die manuelle DPI Anpassung ist ausgeschaltet.
Kontrast AnpassungDurch die Anpassung des Kontrasts können undeutliche Scans verbessert werden.
deaktiviert ➜ Die Kontrast Anpassung ist ausgeschaltet.
Schärfe AnpassungDurch die Anpassung der Schärfe können undeutliche Scans verbessert werden.
deaktiviert ➜ Die Schärfe Anpassung ist ausgeschaltet.
Besonders bei CANON und ScanSnap Scannern ist das Verhalten zu beobachten, dass jede Seite einzeln auf die Netzwerkfreigabe des NAS gespeichert wird und für jede weitere Seite die bestehende PDF-Datei erneut geöffnet und geschlossen wird. Das triggert die Ordnerüberwachung Inotify (event: close_write) oder kann mit einem automatischen Zeitplan kollidieren.

Für diesen Zweck bietet synOCR nun ein Offset, d.h. ein Zeitversatz in Sekunden, bis eine Datei verarbeitet wurde.
Einstellbar ist ein Bereich von 0-120 Sekunden.

97999f29-9e08-4bd6-a892-34edb1828001
Wenn die Protokollierung aktiviert ist, wird nun die Datei file_processing.log im Log-Ordner abgelegt, um einen schnellen Überblick über die Zieldateien zu erhalten.
Jede Quelldatei erhält einen Eintrag mit Zeitstempel und dem Vermerk unsuccessful. Wurde die Datei erfolgreich verarbeitet, wird unsuccessful durch den Pfad zur Zieldatei ersetzt. Damit lässt sich schnell nachvollziehen, ob alle Dateien wie gewünscht verarbeitet wurden und in welches Zielverzeichnis sie einsortiert wurden.
Mit dem neuen OCR-Parameter --keep_hash können nun die Quelldateien beibehalten werden.
Hierbei wird die Quelldatei für die Klassifizierung nur temporär verarbeitet und durchsucht, die Zieldatei ist aber letztendlich identisch mit der Quelldatei.

07a9ef50-9e87-4c53-8422-ee85c1525c35
Es gibt Szenarien, wo ein Quelldokument bei jeder Seite aufgetrennt werden soll, ohne das jedes Mal ein Trennblatt verwendet werden soll. Dafür gibt es jetzt eine eigene Option in der GUI:

0f4949c1-76c3-448a-b588-663b194add63
Der Key dirname_RegEx dient als Äquivalent zu tagname_RegEx, aber für den Pfad. Wie in diesem Beispiel gezeigt, kann der User damit dynamische Zielordner aufgrund eines RegEx definieren:

YAML:
rule_subdir:
    tagname:
    targetfolder: /myPath/§dirname_RegEx
    dirname_RegEx: W2[56]-[0-9]{4}
    subrules:
    - searchstring: W2[56]-[0-9]{4}
      isRegEx: true



💎 Verbesserungen​

- [GUI] deutlich verbesserte GUI-Geschwindigkeit
- [GUI] duplizierte oder neu erstellte Profile werden sofort geladen / ausgewählt
- [shell] alle nicht alphanumerischen Zeichen im Zieldateinamen werden auf eins reduziert (issue #58)
- [GUI] wo möglich, wurden Textfelder und Optionsfelder durch Schieberegler und Schalter ersetzt
- [GUI] es gibt nun einen optischen Indikator, der einen Profilwechsel anzeigt (der redundante Button wurde entfernt)
- [shell] die RegEx D-M-Y, D.M.Y und D/M/Y in search_all_numeric_dates wurden geändert, um die Suche nach 2- und 4-stelligen Jahreszahlen zu ermöglichen. (#56 thx @dklinger)
- [shell] Bump apprise library to 1.9.2
- [GUI] Bump Bootstrap framework to 5.3.3 (thx @Tommes)
- [GUI] Bump jQuery to 3.7.1 (thx @Tommes)
- [GUI] ungültige Quellverzeichnisse wurden in der GUI angezeigt
- [shell] update find_dates.py von Version v0.4 ➜ v0.6 (thx @Gthorsten)
search_alpha_numeric_dates()
-change regex after user hint
search_alpha_numeric_dates()
- Optimierung der Suche nach kurzen Daten (jun., Apr. …)
- Bugfix Regex mit Leerzeichen nach Monat
- Protokollierung verbessert
- [shell] die Erkennung / Zählung von Duplikaten in der Zieldatei ist jetzt zuverlässiger
- [shell] Verwendung der nativen DSM-Berechtigungsanpassung
- [shell] Verbesserter Schutz der Quelldatei im Falle eines Fehlers



🛠️ Bugfixe​

- [shell] Such-Präfix und Such-Suffix wurden aus dem gesamten Dateinamen entfernt
- [shell] Dateinamen, die doppelte Anführungszeichen enthalten, führten zu einem Fehler
- [shell] Bugfix für Dateinamen mit einer Tilde
- [shell] update find_dates.py
Fehlerbehebung für Daten wie 15.6.2023
add language = de to dateparser (thx @dklinger)
- [shell] Fehlermeldung behoben warning: ./synOCR.sh: line 780: command substitution: ignored null byte in input
- [shell] fixing some minor bugs
- [shell] das Zählen der Seiten wurde von PyPDF auf pymupdf geändert, um einen Fehler (PDF EOF) abzufangen


28.03.25
  • update Changelog v1.5.0
13.01.25 & 16.03.25
  • Features aktualisiert
14.10.23 & 15.11.23
  • Beschreibung aktualisiert
25.07.23
  • Abhängigkeit zu Python 3.9 auf einer DS mit aarch64 CPU hinzugefügt
18.07.23
  • Beschreibung aktualisiert und strukturiert
  • Features ergänzt
  • Verweis auf Downloadmöglichkeit angepasst
 
Zuletzt bearbeitet:
Ich habe es soeben installiert.

* OCR-Qualität wirklich sehr gut (auch Tabellen und Bildunterschriften problemlos erkannt und richtig dargestellt).
* Eine Wohltat, dieses Tool zu benützen ohne Fummeleien & Skripts (was mich auch nicht so gestört hätte). Für Laien ganz klare Empfehlung, da die Installation, Konfiguration und Testdurchlauf max. 10 Min. gedauert hat.
* Hab synoOCR via Paketzentrum installiert. Einrichtung denkbar einfach und alles klar und gut erläutert, was man da zu tun hat.
* Zeitplaner in zwei Möglichkeiten auszuwählen ist schon Luxus hier ;)

Was mir nicht so klar ist:
* Backup - was genau wird da gesichert? Die Einstellungen/Konfigs und interner Zeitplaner? Denn ein Restore-Button hab ich nicht gefunden? Wie wird das Ganze wiederherstellt?
* Evtl eine Option einbauen, dass nach dem OCR-Scan die Quelldatei nicht gelöscht werden soll?
* Suchpräfix hilft sehr, aber bisschen zu statisch - möglich, einfach alle PDFs in einem vorgegebenen Ordner suchen zu lassen?
* Möglich, "Scan_" nach OCR-Scan zu entfernen? Wäre sonst eig. verwirrend - ist mehr ein "Schönheitsfehler" ;)

Sonst Hut ab vor deiner Leistung hier!
 
Vorab, danke für deine Mühen das Script umzusetzen. :)

In der Standardeinstellung
Rich (BBCode):
-srd -l deu
funktioniert es.

Da mein Scanner PDFs mit einer grausamen OCR-Erkennung (nicht abschaltbar) produziert, habe ich testweise die Konfi auf
Rich (BBCode):
-rd -l deu
gesetzt. Ich hatte die Hoffnung, dass der Text verworfen und neu erstellt wird.

Leider haben dann die PDFs alle 0kb.
 
Zuletzt bearbeitet:
Hallo Peter,

hast du es mal mit dem Parameter aus dem Log versucht:
Rich (BBCode):
--force-ocr -rd -l deu
Ich habe bisher auch noch nicht alle Parameterkombinationen testen können.

Und die (defekte) Zieldatei hat wirklich 0kb? Solche Dateien sollten eigentlich gelöscht werden und die Quelldatei im Quellordner belassen werden. Könntest du mal gucken, wie viel Byte sie hat? Danke
 
  • Like
Reaktionen: uxr37cr
Hallo TeXniXo,

vielen Dank für dein Feedback!
* OCR-Qualität wirklich sehr gut (auch Tabellen und Bildunterschriften problemlos erkannt und richtig dargestellt) …
Das ist wirklich dem Container ORCmyPDF zu verdanken, der eine sehr gute Arbeit leistet :o

* Backup - was genau wird da gesichert? Die Einstellungen/Konfigs und interner Zeitplaner? Denn ein Restore-Button hab ich nicht gefunden? Wie wird das Ganze wiederherstellt?…
Von welcher Stelle sprechen wir genau? Im Einstellungsdialog kannst du dir die Konfigurationsdatei entweder in den Quellordner exportieren, oder von dort auch importieren. 'BackUp' sollte sich doch nur noch im Paket selbst finden. Dort sind die Skripte hinterlegt, um Einstellungen und den Dateizähler mit HyperBackup sichern und wiederherstellen zu können. Oder meinst du etwas anderes? Der Zeitplan wird derzeit nicht gesichert.
* Evtl eine Option einbauen, dass nach dem OCR-Scan die Quelldatei nicht gelöscht werden soll?…
Dafür wäre die Angabe des Suchpräfixes zwingend, der entfernt würde (wobei man dann wieder die Originaldatei anfassen würde). Mit entsprechender Prüfung wäre das sicher umsetzbar … Ich persönlich nutze den "Löschordner" als Backupordner, der parallel zu den anderen liegt.
* Suchpräfix hilft sehr, aber bisschen zu statisch - möglich, einfach alle PDFs in einem vorgegebenen Ordner suchen zu lassen?…
Einfach weglassen. Dann werden alle PDFs verwendet. (In diesem Fall sollte dann der Quellordner natürlich auch nicht der Zielordner sein.)
* Möglich, "Scan_" nach OCR-Scan zu entfernen? Wäre sonst eig. verwirrend - ist mehr ein "Schönheitsfehler" ;)
Das, und die anderen Sachen kommen mit auf die Liste
 
Zuletzt bearbeitet:
Problem gelöst. Funktioniert. Danke!
Definitiv 0 Byte. Sie wird mit Startem vom Script schon erstellt und bleibt dann auch stehen.…

Freut mich :)

Ist aber dennoch komisch. Ich hatte es gerade mal mit einer geocrten PDF nachgestellt und auch hier hat die Zeildatei 0Byte, was aber korrekt abgefangen wird.
Rich (BBCode):
    VERARBEITE:       --> SCAN__002571.pdf (Tue Jan 15 14:02:25 CET 2019)

OCRmyPDF-LOG:
   INFO - reading file from standard input
  ERROR -    1: page already has text! – aborting (use --force-ocr to force OCR)

                          L=> fehlgeschlagen! (Zieldatei ist leer oder nicht vorhanden)

Könntest du mal testen, was ein ls -s auf die Zieldatei ausgibt?
Rich (BBCode):
ls -s "/volume … /zieldatei.pdf"
 
Könntest du mal testen, was ein ls -s auf die Zieldatei ausgibt?
Rich (BBCode):
ls -s "/volume … /zieldatei.pdf"
Ergebnis: 8 zieldatei.pdf


Ich habe ein wenig weiter rumgetestet. Dazu habe ich 100 verschiedene PDFs (Größe von 10 bis 50kb je Datei) in den Eingangsordner gelegt.

Ergebnis war, dass zwei Dateien ignoriert wurden (blieben im Eingangsordner), 7 Dateien 0 Byte hatten und die Gesamtgröße der 100 PDFs von 2,6 MB auf 13,8 MB bei verbliebenen 91 Dateien angestiegen ist.

  • Die ignorierten Dateien hatten als Dateiendung ein .PDF statt einem .pdf.
  • Die 7 Dateien habe ich noch mal durchlaufen lassen. Das Log liegt anbei.
  • Mit der Größe bin ich aus Zeitgründen noch nicht weitergekommen. Das schaue ich mir später an.
 

Anhänge

Dateigröße:
Ich glaube, meine Methode war nicht optimal. Was sagt:
Rich (BBCode):
stat -c %s "/volume … /zieldatei.pdf"

Zu dem anderen Fehler:
Das ist ein Error von OCRmyPDF, worauf ich keinen Einfluss habe. Ist bei den entsprechenden PDFs etwas besonderes?

  • Die ignorierten Dateien hatten als Dateiendung ein .PDF statt einem .pdf.

Ja, dass kann sein. Ich werde die Suche entsprechend anpassen.
 
Hallo zusammen,

ich interessiere mich sehr für synOCR, da ich mir demnächst einen Dokumentenscanner anschaffen werde und dieser auf eine Freigabe scannen soll. Ich hätte das gerne alles getestet. Das Programmpaket habe ich schon heruntergeladen und eingerichtet. Alles bisher tipptopp! Daumen hoch!

Ich bekomme allerdings den Dockercontainer nicht zum Laufen. Habe die latest Version von jbarlow83-ocrmypdf1 als Abbild heruntergeladen. Beim Starten wird diese immer "unerwartet wieder heruntergefahren". Was muss denn noch für den Container genau eingerichtet werden, damit dieser korrekt läuft? Gibt es hier ein how to?

Herzlichen Dank und viele Grüße
Mike
 
Hallo Mike,

eigentlich solltest du lediglich das Paket "Docker" installiert haben, synOCR startet dann den Container jbarlow83/ocrmypdf. Ggf. wird das entsprechende Abbild vorher geladen. Der Container wird nicht dauerhaft laufen (dafür ist er nicht gebaut).
 
Danke Stephan! Gerade habe ich es gelesen in einem anderen Thread!

Und siehe da: Funktioniert alles auf Anhieb!
 
Rich (BBCode):
stat -c %s "/volume … /zieldatei.pdf"
Bei allen sieben PDFs eine 0.
Rich (BBCode):
root@DS216+ /volume1/temp/scanner/2_ausgang $ stat -c %s OCR_testdatei1.pdf
0

Ist bei den entsprechenden PDFs etwas besonderes?
Ich bin nicht der PDF-Profi und kann das nicht beurteilen. Auch die Fehlermeldungen sind ja teilweise verschieden (siehe Log im Vorposting).
Die testdatei1.pdf beinhaltet eine Zeichnung und unverfänglichen Text. Die Datei habe ich dir gezippt und anbei gelegt. Vielleicht weißt du woran es liegt.
Zusätzlich liegt die OCR_testdatei1.pdf auch mit drin.
 

Anhänge

Bei allen sieben PDFs eine 0.
Sehr schön. Die andere Methode gibt wohl die Größe in Blöcken aus und nicht in Bytes. Sollte im nächsten Release behoben sein.

Ich bin nicht der PDF-Profi und kann das nicht beurteilen. Auch die Fehlermeldungen sind ja teilweise verschieden (siehe Log im Vorposting).
Die testdatei1.pdf beinhaltet eine Zeichnung und unverfänglichen Text. Die Datei habe ich dir gezippt und anbei gelegt. Vielleicht weißt du woran es liegt.
Zusätzlich liegt die OCR_testdatei1.pdf auch mit drin.
Deine PDF ist verschlüsselt und lässt sich nicht modifizieren. Da kann ich nichts machen. Unerklärlicher für mich sind die anderen Fehler in dem Log die so oder ähnlich lauten:
ValueError: time data '201405211108390100' does not match format '%Y%m%d%H%M%S%z'
 
Nabend,
Irgendwas mache ich wohl falsch:(
Docker läuft, ocrmypf liegt als Abbild im Docker, synocr ist installiert und Einstellungen sind vorgenommen worden. Unter Status zeugt er mir das 9 PDF Dateien vorhanden sind die verarbeitet werden können. Starte ich den Vorgang wird mir angezeigt das die Daten verarbeitet werden. Mach wenigen Sekunden scheint alles fertig zu sein, aber es wurden keine Dateien verarbeitet. Synocr zeigt mir noch immer 9 zu verarbeitende Dateien an. Es wird lediglich eine leere Log Datei angelegt.
Wo könnte es wohl dran liegen?
 
Ein leeres Log macht es mir ja auch nicht unbedingt leichter …:rolleyes:

Du könnest mal bitte synOCR über die Konsole starten:
Rich (BBCode):
/usr/syno/synoman/webman/3rdparty/synOCR/synOCR-start.sh
Sofern du dich damit nicht auskennst, kannst du auch über den Aufgabenplaner einen benutzerdefinierten Task mit obigen Befehl erstellen, einmalig ausführen und anschließend das Ergebnis ausgeben lassen.

Danke
 
Moin,

werde mal versuchen den Code auszuführen, allerdings werde ich da vermutlich nicht die nächsten Tage zu kommen.
Melde mich dann.

#Mördock#

PS: Auf sowas wie SynOCR warte ich schon lange. Vielen Dank Geimist das Du Dir die Arbeit damit machst.
 
Moin,

meine DS darf nachts ausgehen, habe dann eben nochmal einen Anlauf unternommen PDF Dateien zu bearbeiten und siehe da....... Es klappt.:D Genial, und so einfach!!

Jetzt muss ich mir noch überlegen wie ich meine vorhandenen Dateien am besten bearbeite. Schön wäre es wenn ich einfach einen Ordner nehmen könnte und er lediglich zu jeder vorhandenen Datei eine weitere, bearbeitete legt, ohne die Alte zu löschen oder zu verschieben. Mal schauen was sich mit den Einstellungen und Präfixen für eine Arbeitsablauf organisieren lässt.

Hinweis: Ein Hinweistext bei der Konfiguration wird falsch angezeigt. Geht man mit der Maus auf das "i" hinter der Zeile "Systembenachrichtigung (Piep) wir einem angezeigt: Ein kurzer Piep, sobald ein Film fertig bearbeitet wurde.

#Mördock#
 
Dank naps2 (Scannersoftware) habe ich jetzt einen guten Workflow gefunden. Per Knopfdruck am Scanner wird das Dokument (ohne OCR) auf dem NAS abgelegt, alle 5min (von 9 bis 21 Uhr) prüft ein Script, ob ein Dokument vorhanden ist, wenn ja, wird synOCR in Gang gesetzt, OCR läuft drüber und legt das Dokument im endgültigen Ordner ab.

@geimist
  1. Ist es in Zukunft geplant, dass kein Log angelegt wird, wenn kein Dokument bearbeitet wird? Das war nämlich jetzt mein Problem, wenn ich das Script alle 5min starte. So habe ich mir hilfsweise eine Abfrage gebaut, die prüft, ob überhaupt ein Dokument vorhanden ist.
  2. Ist es in Zukunft geplant die Anzahl der Backupdateien zu begrenzen (ähnlich wie bei Logs)? Wenn nein, muss ich da noch ein Script drüberlaufen lassen, was ab einer gewissen Anzahl die Dateien löscht.


Nachtrag:
Mir ist ein Fehler bei der Bennung aufgefallen. Beim Testen hatte ich zufällig zwei Dokumente (20190117_2.pdf und 20190117_.pdf) im Eingangsordner.
Daraus wurden dann "20190117_2.pdf" und "20190117_ (2).pdf".

Log:
Rich (BBCode):
    VERARBEITE:       --> 20190117_2.pdf (Thu Jan 17 11:28:17 CET 2019)

OCRmyPDF-LOG:
   INFO - reading file from standard input
   INFO -    1: page is facing ?, confidence 4.94 - no change
   INFO - Optimize ratio: 1.00 savings: 0.0%
   INFO - Output sent to stdout

                      --> übertrage die Dateirechte und -besitzer
                      --> verschiebe Quelldatei nach: /volume1/.../scanner/3_backup/20190117_2.pdf
                      --> 315 PDFs bisher verarbeitet
        (PushBullet-TOKEN nicht gesetzt)
                      --> (Laufzeit: 25 Sekunden)

    VERARBEITE:       --> 20190117_.pdf (Thu Jan 17 11:28:42 CET 2019)

OCRmyPDF-LOG:
   INFO - reading file from standard input
   INFO -    1: page is facing ?, confidence 2.50 - no change
WARNING -    1: [tesseract] unsure about page orientation
   INFO - Optimize ratio: 1.00 savings: 0.0%
   INFO - Output sent to stdout

                      --> übertrage die Dateirechte und -besitzer
                      --> verschiebe Quelldatei nach: /volume1/.../scanner/3_backup/20190117_ (2).pdf
                      --> 316 PDFs bisher verarbeitet
        (PushBullet-TOKEN nicht gesetzt)
                      --> (Laufzeit: 21 Sekunden)
 
Zuletzt bearbeitet:
synOCR v0.9.3 ist online

IMPLEMENTIERUNGEN:
- Dateisuche ist jetzt case insensetive (Suchpräfix / .pdf .PDF)
- Suchpräfix kann nun automatisch entfernt werden lassen
BUGFIXES:
- leere LOGs wurden z.T. nicht korrekt gelöscht
- bei einem OCRmyPDF Error wurde das Skript z.T. nicht korrekt abgebrochen
- kleinere Korrekturen


… Jetzt muss ich mir noch überlegen wie ich meine vorhandenen Dateien am besten bearbeite. Schön wäre es wenn ich einfach einen Ordner nehmen könnte und er lediglich zu jeder vorhandenen Datei eine weitere, bearbeitete legt, ohne die Alte zu löschen oder zu verschieben. Mal schauen was sich mit den Einstellungen und Präfixen für eine Arbeitsablauf organisieren lässt.
Du musst in jeden Fall die zu bearbeitenden Dateien mit einem Präfix versehen (z.B. gleich beim Scannen). In Version 0.9.3 lässt sich nun auch dieses Präfix automatisch entfernen > bearbeitete Dokumente werden also nicht mehr berücksichtigt (kann sein, dass ich den Zähler der offenen Aufgaben auf der Statusseite dafür noch sensibilisieren muss).
Hinweis: Ein Hinweistext bei der Konfiguration wird falsch angezeigt. …
Film wurde im aktuellen Release schon zum File - Danke :)


  1. Ist es in Zukunft geplant, dass kein Log angelegt wird, wenn kein Dokument bearbeitet wird? Das war nämlich jetzt mein Problem, wenn ich das Script alle 5min starte. So habe ich mir hilfsweise eine Abfrage gebaut, die prüft, ob überhaupt ein Dokument vorhanden ist.
Das Löschen von Logs ohne Dateibearbeitung sollte in der aktuellen Version besser funktionieren. Vielleicht werde ich in Zukunft im Startskript eine Prüfung auf zu bearbeitende Dokumente einbauen, sodass das Hauptskript erst gar nicht anläuft. Dabei gibt es dann keinerlei Logs, was ich am Anfang vermeiden wollte.
  1. Ist es in Zukunft geplant die Anzahl der Backupdateien zu begrenzen (ähnlich wie bei Logs)? Wenn nein, muss ich da noch ein Script drüberlaufen lassen, was ab einer gewissen Anzahl die Dateien löscht.
Das habe ich derzeit nicht geplant. Man kann ja auch in den Systempapierkorb 'backupen' lassen. Sollte das dringend benötigt werden, lasse ich mich auch gerne erweichen :o
Mir ist ein Fehler bei der Bennung aufgefallen. Beim Testen hatte ich zufällig zwei Dokumente (20190117_2.pdf und 20190117_.pdf) im Eingangsordner.
Daraus wurden dann "20190117_2.pdf" und "20190117_ (2).pdf".
Es wird geprüft, ob es den vollen Dateinamen (20190117_) bereits gibt (ja > 20190117_2.pdf). Deshalb der Zähler hinten dran. Mir war schon klar, dass es da Sonderkonstallationen geben könnte, aber dass die so schnell auftauchen … :rolleyes: Dazu müsste ich das härter prüfen.
 
Zuletzt bearbeitet:

Additional post fields

 

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