synOCR synOCR - GUI für OCRmyPDF

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.517
Punkte für Reaktionen
1.354
Punkte
234
Ich wollte nur wissen, wie es installiert wurde.

Setz mal bitte diesen Befehl als root ab:
ln -s "/usr/share/applications/ExifTool/exiftool" "/usr/local/bin/exiftool"

Damit setzen wir einen Softlink in das Verzeichnis /usr/local/bin welches standardmäßig von synOCR mit genutzt wird.

Bitte anschließend nochmal synOCR testen.
 

mf_2

Benutzer
Mitglied seit
31. Aug 2008
Beiträge
152
Punkte für Reaktionen
4
Punkte
18
Der Fehler erscheint immer noch und es wird auch kein Pagecount erhöht.
Hier das gesamte Log für ein einzelnes PDF:

-----------------------------------
| ==> installation info <== |
-----------------------------------

synOCR-user: synOCR
synOCR-user is admin: yes
synOCR-version: 1.2.0
Architecture: aarch64
DSM-build: 42218
Device: rs819 (2356825277)
current Profil: default
DB-version: 5
used image (created): jbarlow83/ocrmypdf:latest (2022-02-08T09:23:30)
used ocr-parameter (raw): -srd -l deu+eng
ocropt_array: -srd -l deu+eng
search prefix:
replace search prefix: yes
renaming syntax: §y-§m-§d_§tag_§tit
Symbol for tag marking: #
Document split pattern:
Date search method: use standard search via RegEx
source for filedate: ocr
ignored dates by search: 2021-02-29;2020-11-31
Docker test: OK
DSM notify to user: admin
Loglevel: normal
max. count of logfiles: 10
Source directory: /volume1/ScanInbox/ocr/in/
Target directory: /volume1/ScanInbox/ocr/out/
BackUp directory: /volume1/ScanInbox/ocr/backup/
rotate backupfiles after: (purge backup deactivated)



----------------------------------
| ==> Funktionsaufrufe <== |
----------------------------------
ERROR - with pdfinfo / exiftool - $pagecount was set to 0

PROCESSING: ➜ img20220316_13390741.pdf (Sat Mar 19 15:22:38 CET 2022)
temp. target file: /tmp/tmp.UZ2QK72Nxf/img20220316_13390741.pdf

➜ OCRmyPDF-LOG:
reading file from standard input
Start processing 2 pages concurrently
2 page is facing ⇧, confidence 10.43 - no change
1 page is facing ⇧, confidence 9.24 - no change
Postprocessing...
Some input metadata could not be copied because it is not permitted in PDF/A. You may wish to examine the output PDF's XMP metadata.
Optimize ratio: 1.14 savings: 12.6%
Output sent to stdout
← OCRmyPDF-LOG-END

target file (OK): /tmp/tmp.UZ2QK72Nxf/img20220316_13390741.pdf

➜ search tags and date:
no tags defined
Using date format: 1 (1 = dd mm [yy]yy; 2 = [yy]yy mm dd; 3 = mm dd [yy]yy)
Using date format: 2 (1 = dd mm [yy]yy; 2 = [yy]yy mm dd; 3 = mm dd [yy]yy)
Using date format: 3 (1 = dd mm [yy]yy; 2 = [yy]yy mm dd; 3 = mm dd [yy]yy)
Date not found in OCR text - use file date:
day: 16
month:03
year: 2022
➜ renaming:
apply renaming syntax ➜ 2022-03-16__img20220316_13390741
➜ edit metadata (exiftool ok) 1 image files updated
target file: 2022-03-16__img20220316_13390741.pdf
➜ Adapt file date (Source: Source file [OCR selected but not found])
➜ move source file to: /volume1/ScanInbox/ocr/backup/img20220316_13390741 (1).pdf
./synOCR.sh: line 1779: /dev/ttyS1: Permission denied
ERROR at line 1779: echo 2 > /dev/ttyS1
INFO: (PushBullet-TOKEN not set)

Stats:
➜ runtime last file: 00:01:33
➜ pagecount last file: 0
➜ file count profile : (profile default) - 13 PDF's / 0 Pages processed up to now
➜ file count total: 13 PDF's / 0 Pages processed up to now

➜ delete tmp-files …
➜ purge logfiles:
➜ purge backup deactivated



-----------------------------------
| ==> synOCR ENDE <== |
-----------------------------------
Interessant ist, dass mittendrin "exiftool ok" steht.
 

mf_2

Benutzer
Mitglied seit
31. Aug 2008
Beiträge
152
Punkte für Reaktionen
4
Punkte
18
Das hier:
NAME
exiftool - Read and write meta information in files

SYNOPSIS
Reading
exiftool [*OPTIONS*] [-*TAG*...] [--*TAG*...] *FILE*...

Writing
exiftool [*OPTIONS*] -*TAG*[+-<]=[*VALUE*]... *FILE*...

Copying
exiftool [*OPTIONS*] -tagsFromFile *SRCFILE* [-[*DSTTAG*<]*SRCTAG*...]
*FILE*...

Other
exiftool [ -ver | -list[w|f|r|wf|g[*NUM*]|d|x] ]

For specific examples, see the EXAMPLES sections below.

This documentation is displayed if exiftool is run without an input
*FILE* when one is expected.

DESCRIPTION
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.517
Punkte für Reaktionen
1.354
Punkte
234
Ok - ich hatte die Befürchtung, dass hier auch eine ARM64-Anpassung nögtig wäre. Scheint also zu funktionieren.

Kannst du mal manuell die Seitenzahl auslesen (bitte Pfad zu einem PDF-File anpassen):
Bash:
input="/volume1/…"
exiftool -"*Count*" "${input}" | awk -F' ' '{print $NF}'
 

mf_2

Benutzer
Mitglied seit
31. Aug 2008
Beiträge
152
Punkte für Reaktionen
4
Punkte
18
Das liefert wie erwartet "2", wobei ich daraus einen Einzeiler gemacht habe damit ich es direkt in putty einfügen kann:
exiftool -"*Count*" "/volume1/ScanInbox/ocr/backup/img202203_13390741.pdf" | awk -F' ' '{print $NF}'
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.517
Punkte für Reaktionen
1.354
Punkte
234

mf_2

Benutzer
Mitglied seit
31. Aug 2008
Beiträge
152
Punkte für Reaktionen
4
Punkte
18
Danke für den Link zur Datei.
Ich habe nun den debug loglevel aktiviert, da ich in der Datei gesehen habe, dass dann auch protokolliert wird in welche Unteranweisung das Skript springt. Es scheint so, als würde das Skript in die pdfinfo Unteranweisung springen, was aber ja nicht sein soll:

----------------------------------
| ==> Funktionsaufrufe <== |
----------------------------------
show files in INPUT with transcoded special characters

img20220316_13390741.pdf$
(pages counted with pdfinfo)
ERROR - with pdfinfo / exiftool - $pagecount was set to 0

PROCESSING: ➜ img20220316_13390741.pdf (Sat Mar 19 16:43:59 CET 2022)
temp. target file: /tmp/tmp.E594Kc2gcv/img20220316_13390741.pdf

[runtime up to now: 00:00:00]
Siehe "pages counted with pdfinfo".

"which pdfinfo" direkt auf der Shell returniert bei mir aber ein leeres Ergebnis.
Ich habe zwar keine große Ahnung von Shell-Scripting, aber ich habe nun folgendes versucht um das mal zu isolieren:
#!/bin/bash
if [ $(which pdfinfo) ]; then
echo "pdfinfo"
elif [ $(which exiftool) ]; then
echo "exiftool"
fi
Leider bricht das Skript direkt mit einem Fehler ab, aber das liegt sicher an mir. Der Fehler:
pdfinfo.sh: line 4: syntax error near unexpected token `elif'
'dfinfo.sh: line 4: ` elif [ $(which exiftool) ]; then
Leider bringt das mich aber nicht weiter. Kannst du da etwas erkennen?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.517
Punkte für Reaktionen
1.354
Punkte
234
Leider bricht das Skript direkt mit einem Fehler ab, aber das liegt sicher an mir. Der Fehler:
Kann es sein, dass dein Skript mit Windowszeilenenden gespeichert wurde?
 

Point85

Benutzer
Mitglied seit
21. Mrz 2022
Beiträge
18
Punkte für Reaktionen
5
Punkte
53
Hallo zusammen,
erstmals ein großes DANKE an Stephan (@geimist), für das SynOCR, was bei uns eine enorme Erleichterung bereitstellt, weil sonst wären wir nie auf das Thema gekommen. Unserer NAS (DS1618+) wandelt momentan am Tag um die 1.200 Bilder in ein pdf und macht die Durchsuchbar DANK SynOCR, an Spitzentagen erreichen wir das Maximum (Leistung) von 4.300 Bilder/PDF und überlegen das Nachfolger Modell zu kaufen.

Wir wollten jetzt den zweiten Schritt gehen und eingescannte Dokumente automatisch erkennen lassen und der Dateiname soll automatisch dynamisch umbenannt werden, nach einer bestimmten Definition (wie im Beispiel 6 im Wiki, mit der Vorgangsnummer: 0815). Leider bekomme ich es nicht hin.

Als Beispiel habe ich das eine PDF angehängt (nur die eine Seite), In der Regel werden zwischen 4-9 Seiten zusammenhängend eingescannt und SynOCR soll nur nach “Nr:“ suchen und die nachfolgende Nummer als Dateiname nehmen. Es klingt komisch, aber das „Nr“ kommt exakt einmal vor, mehrfach Treffer sind nicht möglich.


In der synOCR Konfiguration:
Suchbereich für Tags: gesamtes Dokument
Verwende Regel-definierte Ordner
OCR Rename-Syntax: §tag
Tags im Dateinamen kennzeichnen: #

Die Syntax der RegEX ist mir nicht ganz klar, funktioniert auch nicht, vielleicht kann mir jemand helfen. Aber wenn ich mir das Dokument anschaue, hat er das erkannt auch mit der Nummer (Nr: 08238116). Und das Dokument soll einfach nur nach der Nummer “08238116“ benannt werden und in den Ordner "Nr" verschieben.

rule_06:
tagname: Vorgang_k.A.
tagname_RegEx: ((?<=(^Nr[:|;][\s]{7}){1})|(?<=(^Nr[:|;][\s]{8}){1})|(?<=(^Nr[:|;][\s]{9}){1})|(?<=(^Nr[:|;][\s]{1}){1}))[0-9]+
targetfolder: /Nr/
condition: all
subrules:
- searchstring: ((?<=(^Nr[:|;][\s]{7}){1})|(?<=(^Nr[:|;][\s]{8}){1})|(?<=(^Nr[:|;][\s]{9}){1})|(?<=(^Nr[:|;][\s]{1}){1}))[0-9]+
searchtyp: contains
isRegEx: true

Im Log steht:
-----------------------------------
| ==> installation info <== |
-----------------------------------

synOCR-user: root
synOCR-user is admin: no
synOCR-version: 1.1.902
Architecture: x86_64
DSM-build: 42218
Device: 1618plus (0533678875)
current Profil: SWE_Nummer
DB-version: 4
used image (created): jbarlow83/ocrmypdf:latest (2022-02-08T09:05:13)
used ocr-parameter: -srd -l deu
replace search prefix: yes
renaming syntax: §tag
Symbol for tag marking: #
Document split pattern:
source for filedate: source
ignored dates by search:
Docker Test: OK
Loglevel: normal
Application Directory: /usr/syno/synoman/webman/3rdparty/synOCR
Source directory: /volume1/SWE/Test_Ordner_by_IT/OCR/
Target directory: /volume1/SWE/Test_Ordner_by_IT/
BackUp directory was created [/volume1/%2525252525252525252525252525252525252525252525252525252525252525252525253CPATH%2525252525252525252525252525252525252525252525252525252525252525252525253E/_BACKUP/]


----------------------------------
| ==> Funktionsaufrufe <== |
----------------------------------

PROCESSING: ➜ Scan_9832033.pdf (Tue Mar 22 08:36:01 CET 2022)
temp. target file: /tmp/tmp.uVW29jBCdH/Scan_9832033.pdf

➜ OCRmyPDF-LOG:
reading file from standard input
1 page is facing ⇧, confidence 3.26 - no change
Postprocessing...
Optimize ratio: 2.62 savings: 61.8%
Output sent to stdout
← OCRmyPDF-LOG-END

target file (OK):
➜ search tags and date:
source for tags is yaml based tag rule file [/volume1/SWE/Test_Ordner_by_IT/OCR/_TagConfig_[profile_SWE_Nummer].txt]
validate the integrity of yaml-file:
syntax error in row ERROR at line 652 [value must be only "content" OR "filename"]
syntax error in row ERROR at line 670 [value must be only "true" OR "false"]

search by tag rule: "rule_06" ➜
➜ condition: all
➜ tag: Vorgang_k.A.
➜ destination: /Nr/
➜ RegEx for tag: ((?<=(^Nr[:|;][\s]{7}){1})|(?<=(^Nr[:|;][\s]{8}){1})|(?<=(^Nr[:|;][\s]{9}){1})|(?<=(^Nr[:|;][\s]{1}){1}))[0-9]+
[value for source is empty - "content" is used]
[value for casesensitive is empty - "false" is used]
>>> Rule is not satisfied

rename tag is: ""

Using date format: 1 (1 = dd mm [yy]yy; 2 = [yy]yy mm dd; 3 = mm dd [yy]yy)
Using date format: 2 (1 = dd mm [yy]yy; 2 = [yy]yy mm dd; 3 = mm dd [yy]yy)
Using date format: 3 (1 = dd mm [yy]yy; 2 = [yy]yy mm dd; 3 = mm dd [yy]yy)
Date not found in OCR text - use file date:
day: 22
month:03
year: 2022
➜ renaming:
apply renaming syntax ➜
➜ edit metadata FAILED! - exiftool not found! Please install it over cphub.net if you need it
File name already exists! Add counter (3)
target file: (3).pdf
➜ Adapt file date (Source: Source file)
➜ move source file to: /volume1/%2525252525252525252525252525252525252525252525252525252525252525252525253CPATH%2525252525252525252525252525252525252525252525252525252525252525252525253E/_BACKUP/Scan_9832033.pdf
INFO: (notification dosn't work at DSM7 without i18n …)
INFO: (PushBullet-TOKEN not set)

Stats:
➜ runtime last file: 00:00:38
➜ pagecount last file: 1
➜ file count profile : (profile SWE_Nummer) - 79 PDF's / 204 Pages processed up to now
➜ file count total: 87 PDF's / 204 Pages processed up to now

➜ delete tmp-files …


-----------------------------------
| ==> synOCR ENDE <== |
-----------------------------------

Vielen Dank für eure Unterstützung!

Gruß
Martin
 

Anhänge

  • Scan_9832033.pdf
    346,2 KB · Aufrufe: 10

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.517
Punkte für Reaktionen
1.354
Punkte
234
Herzlich willkommen hier im Forum, @Point85 :)

zunächst einmal: du nutzt eine ziemlich alte Version. Die aktuelle wurde leider noch nicht auf cphub freigeschalten. Bitte installiere mal die Version aus meiner Signatur, mach einen Testlauf und falls es da immer noch nicht funktioniert, kannst mir bitte das Log nochmal schicken.

… an Spitzentagen erreichen wir das Maximum (Leistung) von 4.300 Bilder/PDF und überlegen das Nachfolger Modell zu kaufen.
Am Ende des Logs steht die Laufzeit für das letzte Dokument. Vielleicht kannst du auf die Parameter r und d verzichten (also -s statt -srd).
r sucht die korrekte Seitenorientierung und versucht sie passend zu drehen
d setzt schiefe Scans gerade

Anschließend kannst du dasselbe Dokument nochmal durchlaufen lassen und dir die Zeit ansehen. Möglicherweise verschafft das euch schon einen merklichen Vorteil.
 
Zuletzt bearbeitet:

Point85

Benutzer
Mitglied seit
21. Mrz 2022
Beiträge
18
Punkte für Reaktionen
5
Punkte
53
Danke für die Info, das wäre mir gar nicht aufgefallen, dachte ich hätte die aktuelle Version.
Hab es nochmal durchgeführt und beim ersten Test hat es nicht funktioniert, habe es dann mit 10 weiteren Dokumenten versucht und siehe da, auf einmal haben alle 10/10 Dokumente einen neuen Dateiname und ich bin glücklich.

DANKE für die schnelle Hilfe. :)
 
  • Love
Reaktionen: geimist

Point85

Benutzer
Mitglied seit
21. Mrz 2022
Beiträge
18
Punkte für Reaktionen
5
Punkte
53
Ich habe den ganzen Vormittag getestet, bei den Bildern, die ich durchsuchbar mache, sind ein paar Sekunden, die ich spare, viel!

Vorher:
➜ runtime last file: 00:00:19

Nachher, ohne d r
➜ runtime last file: 00:00:15

Und ich komme auf etwa 5.700 Bilder/PDF pro Tag, was eine ordentliche Leistung ist. Und denke das sollte in unseren Fall mehr als ausreichend sein, der einzigste Tag, den wir hatten, waren fast 5.000 Bilder, in dieser Woche sind es 400 Bilder/Tag. Danke für deinen Tipp! :cool:
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.517
Punkte für Reaktionen
1.354
Punkte
234
In der aktuellen Beta hab ich eine Quellordnerüberwachung eingebaut, d.h. Aufträge werden sofort abgearbeitet. Das hilft ggf. insofern, dass ja mit dem Aufgabenplaner eine Minute das kleinste Intervall ist. Wenn aber bei euch viele Aufträge auf einmal in der Pipeline sind, werden diese auch so ohne Pause nacheinander abgearbeitet.

Für die Ordnerüberwachung muss das SPK inotify-tools installiert sein und synOCR im Aufgabenplaner mit dem zusätzlichen Parameter start aufgerufen werden.
 

Maniac72

Benutzer
Mitglied seit
23. Mrz 2022
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Hallo,
kleines Missgeschick..Ziel-, Backup, Logordner war wohl nicht vorhanden. SynoOCR sagt, Proceeded und löschte die Quelldateien.
Kann ich die irgendwo wieder herstellen? Irgendein tmp ordner?
Gruss Markus
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.517
Punkte für Reaktionen
1.354
Punkte
234
Sehr verwunderlich. Es wird eigentlich mehrmals geprüft. Sicher, dass nicht mehrere Profile angelegt sind und deine Dateien von einem abgearbeitet wurden?
 

Maniac72

Benutzer
Mitglied seit
23. Mrz 2022
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Nein...er sagte beim manuellen Durchlauf auch "Verzeichnis angelegt", soviel konnte ich noch lesen....aber finden kann ich die Dateien nirgends
 


 

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