synOCR synOCR - GUI für OCRmyPDF

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Herzlich willkommen hier im Forum @fnCure :)

Der Button wird unter folgenden Bedingungen eingeblendet:
  • Das QUELLVERZEICHNIS muss in der Konfiguration stimmten (dorthin konvertiert synOCR die YAML-Datei)
    UND
  • Der Inhalt des Tag-Felds verweist nicht auf eine externe Datei
    ODER
    • verweist auf eine externe Datei welche max. eine Zeile hat (= einfacher Regelsatz wie in der GUI)
      UND
    • der Pfad ist ein gültiger (vorhandener) Pfad
Ist bei dem Quellverzeichnis ein grüner Haken?
Wenn du dir sicher bist, dass es stimmt: hast du dein Profil bereits gespeichert?
 
Zuletzt bearbeitet:

fnCure

Benutzer
Mitglied seit
27. Jun 2024
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hi Geimist, deine Antwort kam so fix, dass ich gar nicht mehr rechtzeitig Bearbeiten konnte :) Danke!

Ich hatte meinen letzten Beitrag noch einmal bearbeitet, da ich nun herausgefunden, dass mir die Zeile # synOCR_YAMLRULEFILE fehlte.

Jetzt habe ich es auch geschafft, dass der blaue Button erscheint.
Doch leider werden Änderungen in diesen automatisch generierten Files komischerweise nicht gespeichert.

Das custom .txt file, dass ich dafür erstellt und verlinkt habe scheint erkannt zu werden, aber nicht zu zünden

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

synOCR-user: synOCR
synOCR-user is admin: yes
synOCR-version: 1.4.5
Architecture: x86_64
DSM-build: 69057
Device: 1821plus (2072594204)
current Profil: Custom
monitor is running?: yes
DB-version: 9
used image (created): jbarlow83/ocrmypdf:v12.7.2 (2021-11-04T21:53:21)
document author:
used ocr-parameter (raw): -srd -l deu+eng
ocropt_array: -srd -l deu+eng
search prefix:
replace search prefix: yes
renaming syntax: §yocr-§mocr-§docr_§tag_§tit
Symbol for tag marking: #
target file handling: useCatDir
Document split pattern: SYNOCR-SEPARATOR-SHEET
split page handling: discard
delete blank pages:
threshold black/white:
threshold black pixels:
clean up spaces: false
Date search method: use Python
date found order: firstfound
source for filedate: ocr
ignored dates by search: ;
date range in past: 0 [absolute: 0]
date range in future: 0 [absolute: 0]
Docker test: OK
DSM notify to user: admin
apprise notify service:
apprise attachment: false
notify language: ger
Loglevel: normal
max. count of logfiles: 10
rotate backupfiles after: (purge backup deactivated)
Source directory: /volume1/HP Scans/
Target directory: /volume1/HP Scans/Output/
BackUp directory: /volume1/HP Scans/Backup/



●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
● ---------------------------------- ●
● | ==> RUN THE FUNCTIONS <== | ●
● ---------------------------------- ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

-----------------------------------------------------------------------------------
| check the python3 installation and the necessary modules: |
-----------------------------------------------------------------------------------

prepare_python: OK

-----------------------------------------------------------------------------------
| convert images to pdf |
-----------------------------------------------------------------------------------

nothing to do ...
Target temp directory: /tmp/tmp.o5dmeixmdH


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
● STEP 1 - RUN OCR / SPLIT FILES, IF NEEDED: ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE: ➜ 26062024personal201605.pdf
temp. target file: /tmp/tmp.o5dmeixmdH/step1_tmp_1719483954/26062024personal201605.pdf

-----------------------------------------------------------------------------------
| processing PDF @ OCRmyPDF: |
-----------------------------------------------------------------------------------

➜ OCRmyPDF-LOG:
reading file from standard input
Start processing 2 pages concurrently
2 [tesseract] Too few characters. Skipping this page
2 [tesseract] Error during processing.
2 with existing rotation ⇩, page is facing ⇧, confidence 0.00 - no change
1 page is facing ⇧, confidence 13.16 - no change
2 Warning in pixFindSkewSweepAndSearchScorePivot: max found at sweep edge

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.00 savings: 0.0%
Output sent to stdout
← OCRmyPDF-LOG-END

target file (OK): /tmp/tmp.o5dmeixmdH/step1_tmp_1719483954/26062024personal201605.pdf


-----------------------------------------------------------------------------------
| document split handling: |
-----------------------------------------------------------------------------------

splitpage count: 0

no separator sheet found, or number of pages too small

-----------------------------------------------------------------------------------
| handle source file: |
-----------------------------------------------------------------------------------

➜ backup source file to: /volume1/HP Scans/Backup/26062024personal201605.pdf
removed directory '/tmp/tmp.o5dmeixmdH/step1_tmp_1719483954/'

Stats:
runtime last file: ➜ 00:00:16

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE: ➜ 26062024personal201650.pdf
temp. target file: /tmp/tmp.o5dmeixmdH/step1_tmp_1719483970/26062024personal201650.pdf

-----------------------------------------------------------------------------------
| processing PDF @ OCRmyPDF: |
-----------------------------------------------------------------------------------

➜ OCRmyPDF-LOG:
reading file from standard input
1 page is facing ⇧, confidence 13.57 - 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.00 savings: 0.0%
Output sent to stdout
← OCRmyPDF-LOG-END

target file (OK): /tmp/tmp.o5dmeixmdH/step1_tmp_1719483970/26062024personal201650.pdf


-----------------------------------------------------------------------------------
| document split handling: |
-----------------------------------------------------------------------------------

splitpage count: 0

no separator sheet found, or number of pages too small

-----------------------------------------------------------------------------------
| handle source file: |
-----------------------------------------------------------------------------------

➜ backup source file to: /volume1/HP Scans/Backup/26062024personal201650.pdf
removed directory '/tmp/tmp.o5dmeixmdH/step1_tmp_1719483970/'

Stats:
runtime last file: ➜ 00:00:17
runtime 1st step (all files): ➜ 00:00:33


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
● STEP 2 - SEARCH TAGS / RENAME / SORT: ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE: ➜ 26062024personal201650.pdf

-----------------------------------------------------------------------------------
| search tags in ocr text: |
-----------------------------------------------------------------------------------

source for tags is yaml based tag rule file [/volume1/HP Scans/synOCRrules.txt]

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/__init__.py", line 125, in safe_load
return load(stream, SafeLoader)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/__init__.py", line 81, in load
return loader.get_single_data()
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/constructor.py", line 49, in get_single_data
node = self.get_single_node()
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 36, in get_single_node
document = self.compose_document()
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 55, in compose_document
node = self.compose_node(None, None)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 82, in compose_node
node = self.compose_sequence_node(anchor)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 111, in compose_sequence_node
node.value.append(self.compose_node(node, index))
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 127, in compose_mapping_node
while not self.check_event(MappingEndEvent):
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/parser.py", line 98, in check_event
self.current_event = self.state()
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/parser.py", line 438, in parse_block_mapping_key
raise ParserError("while parsing a block mapping", self.marks[-1],
yaml.parser.ParserError: while parsing a block mapping
in "<unicode string>", line 18, column 7:
- newname: {date}_{time}_{bank_nam ...
^
expected <block end>, but found '<scalar>'
in "<unicode string>", line 18, column 22:
- newname: {date}_{time}_{bank_name}_{subject}.pdf
^
ERROR at line 448: tag_rule_content=$( python3 -c 'import sys, yaml, json; print(json.dumps(yaml.safe_load(sys.stdin.read()), indent=2, sort_keys=False))' < "${taglisttmp}")
ERROR - YAML-check failed!ERROR at line 2456: return 1

-----------------------------------------------------------------------------------
| search for a valid date in ocr text: |
-----------------------------------------------------------------------------------

2024-06-27 12:26:29,162 - Date scanning started
2024-06-27 12:26:29,162 - Version: 1.04
2024-06-27 12:26:29,162 - Parameter minYear = 0
2024-06-27 12:26:29,162 - Parameter maxYear = 0
2024-06-27 12:26:29,162 - Parameter searchnearest = off
2024-06-27 12:26:29,162 - set searchnearest = off
2024-06-27 12:26:29,162 - Parameter fileWithTextFindings = /tmp/tmp.o5dmeixmdH/step2_tmp_1719483987//synOCR.txt
2024-06-27 12:26:29,163 - Parameter dateBlackLIst = ;
2024-06-27 12:26:29,163 - start checking blacklist
2024-06-27 12:26:29,163 - end checking blacklist
2024-06-27 12:26:29,164 - Start searching for alphanumerical and numerical dates......
2024-06-27 12:26:34,898 - finish searching for alphanumerical and numerical dates......
2024-06-27 12:26:34,898 - found 4 dates
2024-06-27 12:26:34,898 - found date 2024-06-18
2024-06-27 12:26:34,898 - Date scanning ended
Dates found: 1
check date ([yy]yy mm dd): 2024-06-18
➜ valid
day: 18
month:06
year: 2024

-----------------------------------------------------------------------------------
| rename and sort to target folder: |
-----------------------------------------------------------------------------------

➜ renaming:
apply renaming syntax ➜ 2024-06-18__26062024personal201650
➜ insert metadata (use python pikepdf)
used metadata:
➜ '/Author': '',
➜ '/Keywords': '',
➜ '/CreationDate': 'D:20240618',
➜ '/CreatorTool': 'synOCR 1.4.5'
2024-06-27 12:26:35,284 - INFO - HandlePdf started
2024-06-27 12:26:35,284 - INFO - Version: 0.2
2024-06-27 12:26:35,284 - INFO - Task=metadata
2024-06-27 12:26:35,286 - INFO - >>>>> write meta_data started
2024-06-27 12:26:35,293 - INFO - save pdf to file (/tmp/tmp.o5dmeixmdH/step2_tmp_1719483987/temp_26062024personal201650_1719483987.pdf_meta.pdf)
empty
0
target file: 2024-06-18__26062024personal201650.pdf

-----------------------------------------------------------------------------------
| adjusts the attributes of the target file: |
-----------------------------------------------------------------------------------

➜ Adapt file date (Source: OCR)

-----------------------------------------------------------------------------------
| final tasks: |
-----------------------------------------------------------------------------------

INFO: Notify for apprise not defined ...

run user defined post scripts:

Stats:
runtime last file: ➜ 00:00:08
pagecount last file: ➜ 1
file count profile : ➜ (profile Custom) - 5 PDF's / 7 Pages processed up to now
file count total: ➜ 18 PDF's / 31 Pages processed up to now since 2024-06-26

cleanup:
delete tmp-files ...
removed '/tmp/tmp.o5dmeixmdH/26062024personal201650.pdf'

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE: ➜ 26062024personal201605.pdf

-----------------------------------------------------------------------------------
| search tags in ocr text: |
-----------------------------------------------------------------------------------

source for tags is yaml based tag rule file [/volume1/HP Scans/synOCRrules.txt]

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/__init__.py", line 125, in safe_load
return load(stream, SafeLoader)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/__init__.py", line 81, in load
return loader.get_single_data()
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/constructor.py", line 49, in get_single_data
node = self.get_single_node()
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 36, in get_single_node
document = self.compose_document()
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 55, in compose_document
node = self.compose_node(None, None)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 82, in compose_node
node = self.compose_sequence_node(anchor)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 111, in compose_sequence_node
node.value.append(self.compose_node(node, index))
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/composer.py", line 127, in compose_mapping_node
while not self.check_event(MappingEndEvent):
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/parser.py", line 98, in check_event
self.current_event = self.state()
File "/usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/yaml/parser.py", line 438, in parse_block_mapping_key
raise ParserError("while parsing a block mapping", self.marks[-1],
yaml.parser.ParserError: while parsing a block mapping
in "<unicode string>", line 18, column 7:
- newname: {date}_{time}_{bank_nam ...
^
expected <block end>, but found '<scalar>'
in "<unicode string>", line 18, column 22:
- newname: {date}_{time}_{bank_name}_{subject}.pdf
^
ERROR at line 448: tag_rule_content=$( python3 -c 'import sys, yaml, json; print(json.dumps(yaml.safe_load(sys.stdin.read()), indent=2, sort_keys=False))' < "${taglisttmp}")
ERROR - YAML-check failed!ERROR at line 2456: return 1

-----------------------------------------------------------------------------------
| search for a valid date in ocr text: |
-----------------------------------------------------------------------------------

2024-06-27 12:26:37,072 - Date scanning started
2024-06-27 12:26:37,072 - Version: 1.04
2024-06-27 12:26:37,072 - Parameter minYear = 0
2024-06-27 12:26:37,072 - Parameter maxYear = 0
2024-06-27 12:26:37,072 - Parameter searchnearest = off
2024-06-27 12:26:37,073 - set searchnearest = off
2024-06-27 12:26:37,073 - Parameter fileWithTextFindings = /tmp/tmp.o5dmeixmdH/step2_tmp_1719483995//synOCR.txt
2024-06-27 12:26:37,073 - Parameter dateBlackLIst = ;
2024-06-27 12:26:37,073 - start checking blacklist
2024-06-27 12:26:37,074 - end checking blacklist
2024-06-27 12:26:37,074 - Start searching for alphanumerical and numerical dates......
2024-06-27 12:26:42,817 - finish searching for alphanumerical and numerical dates......
2024-06-27 12:26:42,817 - found 2 dates
2024-06-27 12:26:42,817 - found date 2024-06-03
2024-06-27 12:26:42,817 - Date scanning ended
Dates found: 1
check date ([yy]yy mm dd): 2024-06-03
➜ valid
day: 03
month:06
year: 2024

-----------------------------------------------------------------------------------
| rename and sort to target folder: |
-----------------------------------------------------------------------------------

➜ renaming:
apply renaming syntax ➜ 2024-06-03__26062024personal201605
➜ insert metadata (use python pikepdf)
used metadata:
➜ '/Author': '',
➜ '/Keywords': '',
➜ '/CreationDate': 'D:20240603',
➜ '/CreatorTool': 'synOCR 1.4.5'
2024-06-27 12:26:43,200 - INFO - HandlePdf started
2024-06-27 12:26:43,201 - INFO - Version: 0.2
2024-06-27 12:26:43,201 - INFO - Task=metadata
2024-06-27 12:26:43,203 - INFO - >>>>> write meta_data started
2024-06-27 12:26:43,210 - INFO - save pdf to file (/tmp/tmp.o5dmeixmdH/step2_tmp_1719483995/temp_26062024personal201605_1719483995.pdf_meta.pdf)
empty
0
target file: 2024-06-03__26062024personal201605.pdf

-----------------------------------------------------------------------------------
| adjusts the attributes of the target file: |
-----------------------------------------------------------------------------------

➜ Adapt file date (Source: OCR)

-----------------------------------------------------------------------------------
| final tasks: |
-----------------------------------------------------------------------------------

INFO: Notify for apprise not defined ...

run user defined post scripts:

Stats:
runtime last file: ➜ 00:00:08
pagecount last file: ➜ 2
file count profile : ➜ (profile Custom) - 6 PDF's / 9 Pages processed up to now
file count total: ➜ 19 PDF's / 33 Pages processed up to now since 2024-06-26

cleanup:
delete tmp-files ...
removed '/tmp/tmp.o5dmeixmdH/26062024personal201605.pdf'
removed '/tmp/tmp.o5dmeixmdH/step2_tmp_1719483995/tmprulefile.txt'
removed '/tmp/tmp.o5dmeixmdH/step2_tmp_1719483995/synOCR.txt'
removed '/tmp/tmp.o5dmeixmdH/step2_tmp_1719483995/synOCR_filename.txt'
removed directory '/tmp/tmp.o5dmeixmdH/step2_tmp_1719483995/'
removed '/tmp/tmp.o5dmeixmdH/step2_tmp_1719483987/tmprulefile.txt'
removed '/tmp/tmp.o5dmeixmdH/step2_tmp_1719483987/synOCR.txt'
removed '/tmp/tmp.o5dmeixmdH/step2_tmp_1719483987/synOCR_filename.txt'
removed directory '/tmp/tmp.o5dmeixmdH/step2_tmp_1719483987'
removed directory '/tmp/tmp.o5dmeixmdH'

purge log files ...
delete 0 log files ( > 10 files)
delete 0 search files ( > 10 files)

purge backup deactivated!

runtime all files: ➜ 00:00:49


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
● ---------------------------------- ●
● | ==> END OF FUNCTIONS <== | ●
● ---------------------------------- ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

Ich bin jetzt ein bisschen Ratlos.
 
Zuletzt bearbeitet von einem Moderator:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Woher hast du deine YAML-Datei? Dort sind viele ungültige Parameter drin.
Hast du die möglicherweise aus einem anderen Programm verwendet?

Tipp: Ich würde erst einmal mit einer Regel beginnen und diese dann Stück für Stück verfeinern. So versteht man besser die Funktionsweise und kann Fehler im Code schnell identifizieren. Das YAML-Wiki kennst du? Der liebe @Struppix hat auch einen YAML-Editor gebaut (Win) und schöne Erklärvideos erstellt. Es gibt auch einen separaten Thread zu diesem Thema.

PS: beim Posten von YAML-Code ist es auch hilfreich, diesen als YAML-Code zu formatierten (zu finden hinter den rechten 3 Punkten in der Fomatierungsleiste). So kann man besser Syntaxfehler hier entdecken.
 
Mitglied seit
30. Nov 2014
Beiträge
57
Punkte für Reaktionen
3
Punkte
8
Kann ich definitiv bestätigen.
Einmal ungeduldig gewesen, Profile "zersemmelt" passiert mir dieses nun nicht mehr. Gefühlte 4 Sekunden plusminus 1
@geimist: Ich könnte mir vorstellen, dass eine zusätzliche Information "Geladenes Profil:" hilfreich sein könnte, um festzustellen, ob die Wartezeit erfolgreich überstanden ist. - Im Moment wird das Profil ja über die Drop-Down-Box ausgewählt. Wenn man hier das Profil auswählt und dann "wechseln" drückt, bleibt der Name des neuen Profils unverändert stehen, d.h. visuell ändert sich nichts mehr (nur die Einstellungen des Profils) und das Profil ist irgendwann geladen. Die Info "Geladenes Profil:" würde sich erst ändern, wenn das Laden des anderen Profils abgeschlossen ist.
 

jayp33

Benutzer
Mitglied seit
04. Jul 2024
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Einen schönen guten Abend. Ich habe die Frage bereits in eurem Installationsvideo gestellt und mich dann erst hier eingefunden. Ich hoffe das Duplikat verursacht keinen unnötigen Aufwand.

Ich wollte synOCR auf meiner DS916+ ausprobieren, die allerdings noch mit DSM 6.1 läuft. Dafür wird im Paket-Zentrum nur Python3 v3.5.1-0105 angeboten. Daher habe ich aus der SynoCommunity die aktuellste für DMS 6.1 verfügbare Version Python v3.8.16-8 installiert. Leider vermeldet der manuelle Installationsversuch von synOCR_DSM6_v1.4.5.spk weiterhin, dass Python3 Version 3.8.2-0150 oder höher benötigt wird.

Kann ich das Problem lösen ohne die DSM Version zu aktualisieren?
 

Struppix

Benutzer
Mitglied seit
10. Apr 2009
Beiträge
884
Punkte für Reaktionen
187
Punkte
63
Hallo,
ich hätte schon noch geantwortet. Allerdings wirst Du da vermutlich schlechte Karten haben. Laut Beschreibung erst mit der DSM 6.2... verfügbar.
Ich muss mal schauen ob es noch Alternativen gibt, oder hier im Forum hat jemand einen Tipp.

Python 3.10

Karsten
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
@jayp33 Herzlich willkommen hier im Forum :)

Diese Prüfung wird direkt über den Paketmanager durchgeführt, welcher nur Synology Pakete berücksichtigt.
Vielleicht wäre ein Upgrade deiner DS916+ mal eine gute Option, da dein Softwarestand wird nicht mehr supportet wird.
Ich würde dir mindestens DSM 6.2 empfehlen. Aber warum auch nicht DSM 7.2?
 

jayp33

Benutzer
Mitglied seit
04. Jul 2024
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Alles klar. Lieben Dank für die Antworten. Ein guter Grund endlich mal zu updaten.
 

D:VE

Benutzer
Mitglied seit
18. Jan 2018
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Hallo,
ich habe gerade auf die aktuelle Version von SynOCR upgedatet (DSM 6.2). Hab auch diese Inotify-Tools installiert, aber irgendwie fehlt mir da gerade der Button für den Manuellen Scan. So richtig toll scheint das mit dem Monitoring auch nicht zu funktionieren.

Mir ist auch der Zusammenhang zwischen Aufgabenplaner und Inotify-Tools nicht ganz klar. Sind die unabhängig voneinander? Oder triggert der Aufgabenplaber erst die Online-Überwachung?

Und noch eine Problem (das ich aber schon immer habe): SynOCR ist schnarch-langsam (DS 918+) der braucht auch zwischen 3 und 5 Minuten für eine PDF. Muss ich damit einfach leben, oder kann man das irgendwie beschleunigen?
Starte SynOCR mit den Optionen -srd -l deu

Vielen Dank


1721692033579.png
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
ich habe gerade auf die aktuelle Version von SynOCR upgedatet (DSM 6.2). Hab auch diese Inotify-Tools installiert, aber irgendwie fehlt mir da gerade der Button für den Manuellen Scan. So richtig toll scheint das mit dem Monitoring auch nicht zu funktionieren.
Der Button ist in dem Zusammenhang nicht nötig, weil die Abarbeitung sofort getriggert wird. Der Button macht dann nichts anderes als ein Aufruf von /usr/syno/synoman/webman/3rdparty/synOCR/synOCR-start.sh start.

Bei Problemen mal das Monitoring neustarten. Hilft das nicht, dann mal das inotify.log (im Logordner) ansehen.

Mir ist auch der Zusammenhang zwischen Aufgabenplaner und Inotify-Tools nicht ganz klar. Sind die unabhängig voneinander? Oder triggert der Aufgabenplaber erst die Online-Überwachung?
In erster Linie haben die nichts miteinander zu tun. Den Aufgabenplaner benötigt man beim Einrichten, um mit den Rootrechten des Aufgabenplaners die Berechtigungen von synOCR konfigurieren zu können (das ginge auch manuell im Terminal mit dem User root).

Und noch eine Problem (das ich aber schon immer habe): SynOCR ist schnarch-langsam (DS 918+) der braucht auch zwischen 3 und 5 Minuten für eine PDF. Muss ich damit einfach leben, oder kann man das irgendwie beschleunigen?
Starte SynOCR mit den Optionen -srd -l deu
Wie groß ist dein Arbeitsspeicher?
Wie viele Seiten hat das PDF?
Wenn du nicht gerade hunderte von Regeln hast, wird das auch mit jeder anderen OCRmyPDF-Version wahrscheinlich ähnlich lange dauern.
Im Loglevel 2 werden alle Zeiten der einzelnen Schritte protokolliert. Da kannst du dir ansehen, welcher Schritt am längsten dauert.


PS: DSM 6.2 ist kaum noch bei synOCR-Usern in Verwendung. Ich kann nicht ausschließen, dass es da auch unbemerkte Bug (insbesondere mit Inotify) gibt.
 
  • Like
Reaktionen: D:VE

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.210
Punkte für Reaktionen
1.034
Punkte
224
Ich muss mal wieder dringend ein dickes Lob aussprechen was Eure Arbeit hier betrifft. Hatte einen Stapel gleichartiger Dokumente von meiner Frau, die eingescannt werden mussten und hab vor Beginn die yaml angepasst, was mithilfe des Wikis und der YouTube-Videos sehr leicht ging – die Verarbeitung hat danach ohne weitere Anpassungen funktioniert. Viele Grüße und danke nochmal! 😊
 

Karle

Benutzer
Mitglied seit
29. Mai 2011
Beiträge
353
Punkte für Reaktionen
9
Punkte
18
Hallo, ich habe mir auch synocr mit der Ordnerüberwachung installiert.

Das Tool an sich funktioniert super, nur leider geht die Ordnerüberwachung nicht mehr bzw. Ging die nur ca. 1 Tag.

Aktuell werden die PDF nur stündlich erzeugt ... Da ich stündlich den Task laufen lasse.

Wie kann man das reparieren?

Gruß Karl
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
  1. Was steht in der GUI? / Welche Button siehst du da?
  2. Pulsiert das Symbol (Sanduhr / grüner Haken / rotes Kreuz) in der GUI?
  3. Was steht im inotify.log (im Logordner)?
💡Die verbreitete Fehlerquelle ist ein ungültiger Quellordner in einen aktiven Profil.
 

Karle

Benutzer
Mitglied seit
29. Mai 2011
Beiträge
353
Punkte für Reaktionen
9
Punkte
18
Hi !

den Ordner hab ich geprüft - der ist in Ordnung.

Im Inotify log steht seit ca. 10 Tagen gar nichts mehr (an dem Tag hatte ich es eingerichtet).

Die Gui sieht so aus:

1722264827543.png
 

geimist

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

Karle

Benutzer
Mitglied seit
29. Mai 2011
Beiträge
353
Punkte für Reaktionen
9
Punkte
18
Ja der grüne Haken "pulsiert"

Oder ist das Problem, dass ich mit dem Programm auf einen Ordner in meinem "home" Verzeichnis verweise ?

Gruß

Karl
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Dann läuft das Monitoring derzeit über den User Root vom Aufgabenplaner aus. In dem Fall ist keine Steuerung über die GUI möglich.

Deaktiviere mal die Aufgabe im Aufgabenplaner.
Ersetze dann mal im Aufgabenplaner das start mit stop und führe die Aufgabe 1x aus.

Anschließend kannst du das Monitoring in der GUI steuern. Außerdem sollte dann mehr log zu finden sein.
 
  • Like
Reaktionen: Struppix

Karle

Benutzer
Mitglied seit
29. Mai 2011
Beiträge
353
Punkte für Reaktionen
9
Punkte
18
ok jetzt scheint das Monitoring zu laufen ... Wie muss ich denn die Aufgabe gestalten, dass das SynOCR bei einem Neustart richtig im Hintergrund gestartet wird ?

Gruß

Karl
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Das sollte durch das Starten des Pakets (was ja beim Systemstart automatisch geschieht) wie gewünscht funktionieren.
 
  • Like
Reaktionen: Struppix

Karle

Benutzer
Mitglied seit
29. Mai 2011
Beiträge
353
Punkte für Reaktionen
9
Punkte
18
ok das heißt ich brauche die Aufgabe prinzipiell gar nicht mehr. ... auch gut :)
 
  • 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