synOCR synOCR - GUI für OCRmyPDF

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
DAS wäre eine Lösung, die ich auch schon getestet habe und habe sozusagen als Prefix einen Text vor dem eigentlichen reg. Ausdruck gestellt.
Das kann so nicht gehen. Alles, was da angegeben wird, muss die Prüfung bestehen. Evt. gibt es aber eine Syntax für RegEx, die es einem ermöglicht, passiven Text davor oder hinten anzustellen.

Ich gehe davon aus, dass du der Programmierer bist, soweit ich dies bisher verstanden habe ;) und dass du sowas einbauen könntest?
So etwas Ähnliches: ich bin gelernter Handwerksgeselle 🙈
Das Programmieren ist nur selbst beigebracht.

Aber letztendlich bleibt immer noch die Frage, ob auch die anderen Tags die heute schon im der Oberfläche genutzt werden können, wie §yocr4-§mocr-§docr, sowohl in tagname und in den neuen Optionen tagname_Prefix, tagname_Postfix genutzt werden können sollen.
Ich sehe hier noch nicht den entscheidenden Vorteil, weil alles, was in §tagname steht, bei erfüllter Regel in der Variable §tag landet, welche wieder um für den Zieldateinamen in der GUI gesetzt werden kann. Aber ich verstehe, dass du so differenzierter je nach Erfüllen einer Bedingung den Namen verändern kannst.

Ich gucke mir das mal an.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Aber letztendlich bleibt immer noch die Frage, ob auch die anderen Tags die heute schon im der Oberfläche genutzt werden können, wie §yocr4-§mocr-§docr, … in tagname … genutzt werden können sollen.
Bitte probiere mal diese Version und setzt in einem Tagnamen einen Platzhalter, wie von dir gewünscht.
Link für DSM7

(Feedback erwünscht)
Wenn es läuft, gibt's ein Update für alle.
 
Zuletzt bearbeitet:

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
Letztendlich gings mir darum, dass Teile der Optionen aus dem GUI in die YAML-Datei und dort in x-Regeln gestellt wird, wie oben diese Tags.

Ich verstehe die YAML-Datei nämlich so, dass ich mehrere Regeln definieren kann, die dann bewertet werden und abhängig vom Ergebnis eine PDF-Datei konvertiert wird, welche dann ins den targetfolder verschoben wird.

Da ein GUI-Profil, wir haben dies bereits oben diskutiert, nur jeweils ein Zielverzeichnis kennt, kann ich mit mehreren YAML-Regeln wohl mehrere Zielverzeichnisse bedienen.

Diese Möglichkeit sehe ich als schon vorhanden- Nur mir fehlt (bisher) die Möglichkeit in der YAML-Datei auch die Datennamen mit den in der GUI vorhandenen Variablen, umzubenennen. Deshalb meine Bitte nach einer Anpassung, oder evtl. brauche ich ganz einfach nur eine Erklärung der aktuellen Möglichkeiten.

Ich probiere nun Mal die Beta-Version von oben. Danke schon Mal!
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Da ein GUI-Profil, wir haben dies bereits oben diskutiert, nur jeweils ein Zielverzeichnis kennt, kann ich mit mehreren YAML-Regeln wohl mehrere Zielverzeichnisse bedienen.
Jain. Das Zielverzeichnis greift, wenn keine Regel greift. Du kannst ja für jede erfüllte Regel ein eigenes Zielverzeichnis verwenden. Greifen mehrere Regeln aus deiner Regeldatei, dann werden Hardlinks gesetzt (unterscheidet sich für den User nicht von einer regulären Datei).

Die YAML-Regel hat eine höhere Priorität als das Verzeichnis in der GUI (das könntest du als Fallback-Verzeichnis bezeichnen).

Wenn du dieses 'neue' Feature nutzt, dass die Umbenennungsparameter im Regelnamen greifen, kann es zu einem Durcheinander / Duplikaten der Infos im Namen kommen, sobald mehrere Regeln erfüllt werden. Deshalb sah ich bisher keinen sinnvollen Einsatz. Aber wie gesagt: probiere es aus.
 
  • Like
Reaktionen: Yippie

hamitaga

Benutzer
Mitglied seit
16. Jul 2021
Beiträge
43
Punkte für Reaktionen
5
Punkte
8
Servus liebe Forengemeinde! :)
Ich habe meine DS220+ heute auf DSM 7.1-42661 Update 2 geupdatet. Davor habe ich synOCR DSM7 noch mal laufen lassen, was auch wunderbar funktioniert hat.
Nach dem Update der DS220+ werden mir nun immer Fehlermeldungen ausgegeben, da die eingetragene Aufgabe im Aufgabenplaner nicht ausgeführt werden kann.
Ich habe innerhalb des synOCR und Aufgabenplaners keinerlei Einstellungen geändert. Das Einzige, dass sich geändert hat, ist die DSM Version.

Vielleicht habt ihr einen Tipp, wie ich den Aufgabenplaner wieder dazu bekomme, die synOCR-Aufgaben auszuführen.

Vielen Dank schon mal!
 

geimist

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

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Hallo zusammen,

BETA-Version 1.2.0.9 ist da.
Zusätzlich zum bisherigen Changelog gibt einige Verbesserungen:
  • Verbesserungen bei der pythonbasierten Datumssuche (@Gthorsten)
    • bzgl. der Möglichkeit, die Suche für das Datum in der Vergangenheit und in der Zukunft einzuschränken:
      die Werte werden nicht mehr als < oder > interpretiert, sondern als <= bzw. >=
  • in YAML-Regeln können nun im Wert tagname Umbenennungsplatzhalter wie z.B. §yocr4 ect. enthalten sein (experimentell)
  • alle bisher beigelegten Binaryabhängigkeiten (yq pdfinfo) wurden in Python nachgebildet und daher entfernt. Das reduziert die Größe des SPK von ~8MB auch ~2MB. Entscheidend ist aber die wegfallende Abhängigkeit zu diesen Tools.
  • Python3 wird auf DSM 6 vorausgesetzt und als Abhängigkeit beim Installieren geprüft
  • [GUI] Unterstützung für folgende, DeepL basierte Übersetzungen (neben den bisherigen Sprachen Deutsch und Englisch) - hier wäre ich sehr an einem Feedback bzgl. der Qualität interessiert:
    - Chinese simplified
    - Czech
    - Japanese
    - Danish
    - French
    - Italian
    - Dutch
    - Polish
    - Russian
    - Spanish
    - Swedish
    - Hungarian
    - Turkish
    - Portuguese European
    - Portuguese Brazilian
Einschränkung:
  • werden Metadaten per PyPDF2 (die aktuelle Methode) geschrieben, verlieren die Zieldateien die PDF/A Eigenschaft. Das ist ein nun bekannter Fehler von PyPDF2 und wird hoffentlich von dessen Entwicklern mit Aufmerksamkeit bedacht. Wem das wichtig ist, kann das Setzen der Metadaten manuell deaktivieren (gilt dann für alle Profile), indem er auf der Konsole diesen Befehl absetzt:
    /usr/syno/bin/synosetkeyvalue "/usr/syno/synoman/webman/3rdparty/synOCR/synOCR.sh" enablePyMetaData 0
    Um die Einstellung umzukehren, die abschließende 0 durch eine 1 ersetzen.

Das aktuelle Build gibts wie immer hier:

 
  • Like
Reaktionen: Gthorsten und Monacum

hamitaga

Benutzer
Mitglied seit
16. Jul 2021
Beiträge
43
Punkte für Reaktionen
5
Punkte
8
Von welcher Version?


Welche Fehlermeldungen?
Bitte mehr Details.

Welche synOCR-Version ist installiert?
Ich muss gestehen, dass ich nicht mehr weiß, welche Version vor dem Update gelaufen ist. Ich weiß nur soviel, dass es nicht 7.1 gewesen ist.

Es läuft die Version 1.2.0 von synOCR 7.

Als Fehlermeldung kommt folgende:
"Synology NAS Aufgabenplaner konnte eine geplante Aufgabe nicht ausführen.
Aufgabenplaner konnte eine geplante Aufgabe nicht ausführen. Weitere Informationen finden Sie im Protokoll-Center."

Im Protokoll-Center steht dann aber auch nicht mehr.

Wenn ich synOCR manuell starte, funktioniert es einwandfrei. Die Aufgabe im Aufgabenplaner habe ich wie in der Hilfe beschrieben angelegt gehabt.


edit____________________
Es tut mir wirklich leid, dass ich hier mit meiner "Anfängerfrage" gestört habe, aber ich habe den dummen Fehler gefunden.
Der Benutzer war einfach nicht "root", sondern ein admin. Jetzt läuft alles wunderbar.
Vielen Dank für diese super Programm!
 
Zuletzt bearbeitet:
  • Like
Reaktionen: geimist

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
Done und Danke nochmals für die aktuelle Beta!

Allerdings funktioniert dies noch nicht so wie ich mir das vorgestellt habe, genau genommen werden die Variablen, wie bspw §yocr4-§mocr-§docr gar nicht beachtet und als Zieldateiname der gleich wie der Quelldateiname verwendet.

Aber der Reihe nach, neues Beta vom Link oben installiert und folgende YAML-Datei verwendet.
YAML:
LV_1:
    tagname: "§yocr4-§mocr-§docr Lebensversicherung"
    tagname_RegEx:
    targetfolder: "/Lebensversicherung/"
    condition: all
    subrules:
    - searchstring: "Versicherungsnummer"
      searchtyp: is
      isRegEx: false
      source: content
      casesensitive: true
    - searchstring: "LV-111-222-333"
      searchtyp: is
      isRegEx: false
      source: content
      casesensitive: true

CITES_1:
    tagname: "Cites DE-DEG§tag"
    tagname_RegEx: "[[:digit:]]{6}-[[:digit:]]{2,}"
    targetfolder: "/Cites/"
    condition: all
    subrules:
    - searchstring: "EUROPEAN UNION"
      searchtyp: is
      isRegEx: false
      source: content
      casesensitive: false
    - searchstring: "[[:digit:]]{6}-[[:digit:]]{2,}"
      searchtyp: contains
      isRegEx: true
      source: content
      casesensitive: false

Hier die Log-Datei, die mit der neuen Beta erstellt wurde. Mal abgesehen davon, dass meine beiden Test-Dateien im Ziel schon vorhanden waren, wurde die Zieldateinamen, wie schon geschrieben, 1:1 übernommen und nicht über den tagname umbenannt.

Code:
    -----------------------------------
    |    ==> installation info <==    |
    -----------------------------------

synOCR-user:              synOCR
synOCR-user is admin:     yes
synOCR-version:           1.2.0.9
Architecture:             x86_64
DSM-build:                42661
Device:                   918plus (3974443861)
current Profil:           Test
monitor is running?:      no
DB-version:               8
used image (created):     jbarlow83/ocrmypdf:latest (2022-06-24T08:19:52)
document author:        
used ocr-parameter (raw): -srd -l deu --clean-final -O2
ocropt_array:             -srd -l deu --clean-final -O2
search prefix:          
replace search prefix:    yes
renaming syntax:        
Symbol for tag marking:  
Document split pattern:  
split page handling:      discard
clean up spaces:          false
Date search method:       use standard search via RegEx
date found order:         firstfound
source for filedate:      source
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
Loglevel:                 normal
max. count of logfiles:   10
rotate backupfiles after: (purge backup deactivated)
Source directory:         /volume1/Scanner/Eingabe/
Target directory:         /volume1/Scanner/Ausgabe/
Target temp directory:    /volume1/Scanner/Ausgabe/synOCR_tmp_1656612714/
Files are deleted immediately! / No valid directory [/]



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

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

                prepare_python: OK


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


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE:   ➜ IMG_LV.pdf
                  temp. target file: /tmp/tmp.QZy9KV0RFI/IMG_LV.pdf

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

                ➜ OCRmyPDF-LOG:
                  WARNING: Error loading config file: .dockercfg: $HOME is not defined
                  reading file from standard input
                  Start processing 4 pages concurrently
                      3 page is facing ⇧, confidence 13.63 - no change
                      4 with existing rotation ⇩, page is facing ⇧, confidence 11.08 - no change
                      2 with existing rotation ⇩, page is facing ⇧, confidence 12.69 - no change
                      1 page is facing ⇧, confidence 12.82 - no change
                  Postprocessing...
                  Optimize ratio: 1.23 savings: 18.6%
                  Output sent to stdout
                ← OCRmyPDF-LOG-END

                target file (OK): /tmp/tmp.QZy9KV0RFI/IMG_LV.pdf


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

                no split pattern defined or splitting not possible

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

                ➜ delete source file (IMG_LV.pdf)
                removed directory '/tmp/tmp.QZy9KV0RFI'

Stats:
  runtime last file:              ➜ 00:00:40

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE:   ➜ IMG_CITES.pdf
                  temp. target file: /tmp/tmp.I47POHSihE/IMG_CITES.pdf

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

                ➜ OCRmyPDF-LOG:
                  WARNING: Error loading config file: .dockercfg: $HOME is not defined
                  reading file from standard input
                      1 page is facing ⇧, confidence 6.56 - no change
                      1 [tesseract] lots of diacritics - possibly poor OCR
                  Postprocessing...
                  Optimize ratio: 1.03 savings: 2.9%
                  Output sent to stdout
                ← OCRmyPDF-LOG-END

                target file (OK): /tmp/tmp.I47POHSihE/IMG_CITES.pdf


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

                no split pattern defined or splitting not possible

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

                ➜ delete source file (IMG_CITES.pdf)
                removed directory '/tmp/tmp.I47POHSihE'

Stats:
  runtime last file:              ➜ 00:00:59
  runtime 1st step (all files):   ➜ 00:01:40


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


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE:   ➜ IMG_LV.pdf

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

                source for tags is yaml based tag rule file [/volume1/Scanner/Eingabe/profiles/global.txt]

                search by tag rule: "LV_1" ➜
                  ➜ condition:        all
                  ➜ tag:              §yocr4-§mocr-§docr Lebensversicherung
                  ➜ destination:      /Lebensversicherung/
                          >>> Rule is satisfied

                search by tag rule: "CITES_1" ➜
                  ➜ condition:        all
                  ➜ tag:              Cites DE-DEG§tag
                  ➜ destination:      /Cites/
                          >>> Rule is not satisfied

                rename tag is: "§yocr4-§mocr-§docr Lebensversicherung"


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

                run RegEx date search - search for date format: 1 (1 = dd mm [yy]yy; 2 = [yy]yy mm dd; 3 = mm dd [yy]yy)
                  Dates found: 4
                  check date (dd mm [yy]yy): 23.06.2022
                  ➜ valid
                      day:  23
                      month:06
                      year: 2022

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

                ➜ renaming:
                  apply renaming syntax ➜ IMG_LV
                ➜ insert metadata (use python PyPDF2)
                used metadata:
                ➜ '/Author': '',
                ➜ '/Keywords': '§yocr4-§mocr-§docr Lebensversicherung',
                ➜ '/CreationDate': 'D:20220623'
                ➜ move to category directory
                  tag directory "/Lebensversicherung/" exists? ➜  OK [subfolder target dir]
                  ➜ File name already exists! Add counter (1)
                  target:   /volume1/Scanner/Ausgabe//Lebensversicherung/IMG_LV (1).pdf
                  set a hard link

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

                ➜ Adapt file date (Source: Source file)


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

                  INFO: (PushBullet-TOKEN not set)

Stats:
  runtime last file:    ➜ 00:00:01
  pagecount last file:  ➜ 4
  file count profile :  ➜ (profile Test) - 7 PDF's / 19 Pages processed up to now
  file count total:     ➜ 70 PDF's / 205 Pages processed up to now

cleanup:
  delete tmp-files ...
                removed '/tmp/tmp.KFPsrf7ss7/tmprulefile.txt'
                removed '/tmp/tmp.KFPsrf7ss7/synOCR.txt'
                removed '/tmp/tmp.KFPsrf7ss7/synOCR_filename.txt'
                removed directory '/tmp/tmp.KFPsrf7ss7'
                removed '/volume1/Scanner/Ausgabe/synOCR_tmp_1656612714/IMG_LV.pdf'

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE:   ➜ IMG_CITES.pdf

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

                source for tags is yaml based tag rule file [/volume1/Scanner/Eingabe/profiles/global.txt]

                search by tag rule: "LV_1" ➜
                  ➜ condition:        all
                  ➜ tag:              §yocr4-§mocr-§docr Lebensversicherung
                  ➜ destination:      /Lebensversicherung/
                          >>> Rule is not satisfied

                search by tag rule: "CITES_1" ➜
                  ➜ condition:        all
                  ➜ tag:              Cites DE-DEG§tag
                  ➜ destination:      /Cites/
                  ➜ RegEx for tag:    [[:digit:]]{6}-[[:digit:]]{2,}
                          >>> Rule is satisfied

                              ➜ search RegEx for tag ➜ 220420-80

                rename tag is: "220420-80"


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

                run RegEx date search - search for date format: 1 (1 = dd mm [yy]yy; 2 = [yy]yy mm dd; 3 = mm dd [yy]yy)
                  Dates found: 2
                  check date (dd mm [yy]yy): 01.08.2021
                  ➜ valid
                      day:  01
                      month:08
                      year: 2021

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

                ➜ renaming:
                  apply renaming syntax ➜ IMG_CITES
                ➜ insert metadata (use python PyPDF2)
                used metadata:
                ➜ '/Author': '',
                ➜ '/Keywords': '220420-80',
                ➜ '/CreationDate': 'D:20210801'
                ➜ move to category directory
                  tag directory "/Cites/" exists? ➜  OK [subfolder target dir]
                  ➜ File name already exists! Add counter (1)
                  target:   /volume1/Scanner/Ausgabe//Cites/IMG_CITES (1).pdf
                  set a hard link

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

                ➜ Adapt file date (Source: Source file)


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

                  INFO: (PushBullet-TOKEN not set)

Stats:
  runtime last file:    ➜ 00:00:02
  pagecount last file:  ➜ 1
  file count profile :  ➜ (profile Test) - 8 PDF's / 20 Pages processed up to now
  file count total:     ➜ 71 PDF's / 206 Pages processed up to now

cleanup:
  delete tmp-files ...
                removed '/tmp/tmp.QDNp6tnFTf/tmprulefile.txt'
                removed '/tmp/tmp.QDNp6tnFTf/synOCR.txt'
                removed '/tmp/tmp.QDNp6tnFTf/synOCR_filename.txt'
                removed directory '/tmp/tmp.QDNp6tnFTf'
                removed '/volume1/Scanner/Ausgabe/synOCR_tmp_1656612714/IMG_CITES.pdf'

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

  purge backup deactivated!
  rmdir: removing directory, '/volume1/Scanner/Ausgabe/synOCR_tmp_1656612714/'

  runtime all files:              ➜ 00:01:43


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

Man sieht im log, dass rename tag is: "§yocr4-§mocr-§docr Lebensversicherung" durchaus gefunden wurde, aber final nicht angewendet wird: target: /volume1/Scanner/Ausgabe//Lebensversicherung/IMG_LV (1).pdf

Nächstes Problem oder besser Herausforderung ist ein schöneres Wort ;-)
Bei der Datei CITES_LV.PDF habe ich als folgendes in der YAML-Datei geschrieben
YAML:
CITES_1:
    tagname: "Cites DE-DEG§tag"
    tagname_RegEx: "[[:digit:]]{6}-[[:digit:]]{2,}"
Die Frage die sich mir jetzt stellt: während bspw. §yocr4 ggf. noch als Variable im Dateinamen angewendet werden kann, wie sieht es mit dem Konstrukt oben aus. Wird als §tag dann tatsächlich tagname_RegEx: "[[:digit:]]{6}-[[:digit:]]{2,}" eingesetzt oder ist dies was ich vorhabe gänzlich unmöglich.

Zur Erklärung: Ich würde einen finalen Dateinamen wie "Cites DE-DEG[[:digit:]]{6}-[[:digit:]]{2,}" erwarten.
Das RegEx natürlich bereits vollständig in Klartext übersetzt, so dass am Ende ein Dateiname, wie "Cites DE-DEG202201-11" herauskommt.
Der searchstring aus der YAML-Datei oder der tagname_RegEx soll quasi in §tag zur Verfügung stehen.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Jetzt muss ich doch den lieben @Yippie endlich mal zufrieden stellen 😇

In der Tat hatte sich noch ein Fehler eingeschlichen. Jetzt sollten die Platzhalter im §tag erkannt werden.
Aber weil es ja eh nicht das war, was du wolltest, habe ich versucht, dir eine andere Lösung einzubauen:

In der aktualisierten Version (1.2.0.10) kannst du in tagname an beliebiger Stelle einen Platzhalter §tagname_RegEx einfügen. Dieser wird dann durch tagname_RegEx ersetzt, sofern gefunden.

In deinem Fall sähe das dann so aus:
YAML:
CITES_1:
    tagname: "Cites DE-DEG§tagname_RegEx"
    tagname_RegEx: "[[:digit:]]{6}-[[:digit:]]{2,}"

Bitte berichte.

Das aktuelle Build gibts wie immer hier:

➜ SPK DSM6 BETA
➜ SPK DSM7 BETA
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Monacum

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
Jetzt muss ich doch den lieben @Yippie endlich mal zufrieden stellen 😇
Hähä - keine Eile! Da läuft mir nichts davon :D

In der aktualisierten Version (1.2.0.10) kannst du in tagname an beliebiger Stelle einen Platzhalter §tagname_RegEx einfügen. Dieser wird dann durch tagname_RegEx ersetzt, sofern gefunden.

In deinem Fall sähe das dann so aus:
YAML:
CITES_1:
    tagname: "Cites DE-DEG§tagname_RegEx"
    tagname_RegEx: "[[:digit:]]{6}-[[:digit:]]{2,}"
So siehts jetzt auch bei mir aus, die neueste Beta ist installiert, allerdings werden die Dateien weiterhin nicht umbenannt, weder mit §tagname_RegEx noch mit §yocr4-§mocr-§docr :(

Irgendwas scheint noch nicht ganz zu funktionieren, siehe aktuelles Log
Code:
    -----------------------------------
    |    ==> installation info <==    |
    -----------------------------------

synOCR-user:              synOCR
synOCR-user is admin:     yes
synOCR-version:           1.2.0.10
Architecture:             x86_64
DSM-build:                42661
Device:                   918plus (3974443861)
current Profil:           Test
monitor is running?:      no
DB-version:               8
used image (created):     jbarlow83/ocrmypdf:latest (2022-06-24T08:19:52)
document author:     
used ocr-parameter (raw): -srd -l deu --clean-final -O2
ocropt_array:             -srd -l deu --clean-final -O2
search prefix:       
replace search prefix:    yes
renaming syntax:     
Symbol for tag marking:
Document split pattern:
split page handling:      discard
clean up spaces:          false
Date search method:       use standard search via RegEx
date found order:         firstfound
source for filedate:      source
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
Loglevel:                 normal
max. count of logfiles:   10
rotate backupfiles after: (purge backup deactivated)
Source directory:         /volume1/Scanner/Eingabe/
Target directory:         /volume1/Scanner/Ausgabe/
Target temp directory:    /volume1/Scanner/Ausgabe/synOCR_tmp_1656654264/
Files are deleted immediately! / No valid directory [/]



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

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

                  pip already installed (pip 21.1.1 from /usr/syno/synoman/webman/3rdparty/synOCR/python3_env/lib/python3.8/site-packages/pip (python 3.8)) / upgrade available ...
                  Requirement already satisfied: pip in ./python3_env/lib/python3.8/site-packages (21.1.1)
                  Collecting pip
                    Downloading pip-22.1.2-py3-none-any.whl (2.1 MB)
                  Installing collected packages: pip
                    Attempting uninstall: pip
                      Found existing installation: pip 21.1.1
                      Uninstalling pip-21.1.1:
                        Successfully uninstalled pip-21.1.1
                  Successfully installed pip-22.1.2

                  ➜ check python module "DateTime": ➜ DateTime was not found and will be installed ➜ ok
                  ➜ check python module "dateparser": ➜ dateparser was not found and will be installed ➜ ok
                  ➜ check python module "PyPDF2==2.3.1": ➜ PyPDF2==2.3.1 was not found and will be installed ➜ ok
                  ➜ check python module "Pillow": ➜ Pillow was not found and will be installed ➜ ok
                  ➜ check python module "yq": ➜ yq was not found and will be installed ➜ ok
                  ➜ check python module "PyYAML": ➜ PyYAML was not found and will be installed ➜ ok
                prepare_python: OK


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


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE:   ➜ IMG_LV.pdf
                  temp. target file: /tmp/tmp.5I8wFwMGqs/IMG_LV.pdf

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

                ➜ OCRmyPDF-LOG:
                  WARNING: Error loading config file: .dockercfg: $HOME is not defined
                  reading file from standard input
                  Start processing 4 pages concurrently
                      1 page is facing ⇧, confidence 12.82 - no change
                      2 with existing rotation ⇩, page is facing ⇧, confidence 12.69 - no change
                      4 with existing rotation ⇩, page is facing ⇧, confidence 11.08 - no change
                      3 page is facing ⇧, confidence 13.63 - no change
                  Postprocessing...
                  Optimize ratio: 1.23 savings: 18.6%
                  Output sent to stdout
                ← OCRmyPDF-LOG-END

                target file (OK): /tmp/tmp.5I8wFwMGqs/IMG_LV.pdf


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

                no split pattern defined or splitting not possible

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

                ➜ delete source file (IMG_LV.pdf)
                removed directory '/tmp/tmp.5I8wFwMGqs'

Stats:
  runtime last file:              ➜ 00:00:41

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE:   ➜ IMG_CITES.pdf
                  temp. target file: /tmp/tmp.C7vOnkOy8R/IMG_CITES.pdf

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

                ➜ OCRmyPDF-LOG:
                  WARNING: Error loading config file: .dockercfg: $HOME is not defined
                  reading file from standard input
                      1 page is facing ⇧, confidence 6.56 - no change
                      1 [tesseract] lots of diacritics - possibly poor OCR
                  Postprocessing...
                  Optimize ratio: 1.03 savings: 2.9%
                  Output sent to stdout
                ← OCRmyPDF-LOG-END

                target file (OK): /tmp/tmp.C7vOnkOy8R/IMG_CITES.pdf


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

                no split pattern defined or splitting not possible

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

                ➜ delete source file (IMG_CITES.pdf)
                removed directory '/tmp/tmp.C7vOnkOy8R'

Stats:
  runtime last file:              ➜ 00:00:58
  runtime 1st step (all files):   ➜ 00:02:37


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


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE:   ➜ IMG_LV.pdf

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

                source for tags is yaml based tag rule file [/volume1/Scanner/Eingabe/profiles/global.txt]

                search by tag rule: "LV_1" ➜
                  ➜ condition:        all
                  ➜ tag:              §yocr4-§mocr-§docr Lebensversicherung
                  ➜ destination:      /Lebensversicherung/
                          >>> Rule is satisfied

                search by tag rule: "CITES_1" ➜
                  ➜ condition:        all
                  ➜ tag:              Cites DE-DEG§tagname_RegEx
                  ➜ destination:      /Cites/
                  ➜ RegEx for tag:    [[:digit:]]{6}-[[:digit:]]{2,}
                          >>> Rule is not satisfied

                rename tag is: "§yocr4-§mocr-§docr Lebensversicherung"


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

                run RegEx date search - search for date format: 1 (1 = dd mm [yy]yy; 2 = [yy]yy mm dd; 3 = mm dd [yy]yy)
                  Dates found: 4
                  check date (dd mm [yy]yy): 23.06.2022
                  ➜ valid
                      day:  23
                      month:06
                      year: 2022

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

                ➜ renaming:
                  apply renaming syntax ➜ IMG_LV
                ➜ insert metadata (use python PyPDF2)
                used metadata:
                ➜ '/Author': '',
                ➜ '/Keywords': '§yocr4-§mocr-§docr Lebensversicherung',
                ➜ '/CreationDate': 'D:20220623'
                ➜ move to category directory
                  tag directory "/Lebensversicherung/" exists? ➜  OK [subfolder target dir]
                  target:   /volume1/Scanner/Ausgabe//Lebensversicherung/IMG_LV.pdf
                  set a hard link

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

                ➜ Adapt file date (Source: Source file)


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

                  INFO: (PushBullet-TOKEN not set)

Stats:
  runtime last file:    ➜ 00:00:01
  pagecount last file:  ➜ 4
  file count profile :  ➜ (profile Test) - 11 PDF's / 29 Pages processed up to now
  file count total:     ➜ 74 PDF's / 215 Pages processed up to now

cleanup:
  delete tmp-files ...
                removed '/tmp/tmp.yh8QoydC6n/tmprulefile.txt'
                removed '/tmp/tmp.yh8QoydC6n/synOCR.txt'
                removed '/tmp/tmp.yh8QoydC6n/synOCR_filename.txt'
                removed directory '/tmp/tmp.yh8QoydC6n'
                removed '/volume1/Scanner/Ausgabe/synOCR_tmp_1656654264/IMG_LV.pdf'

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE:   ➜ IMG_CITES.pdf

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

                source for tags is yaml based tag rule file [/volume1/Scanner/Eingabe/profiles/global.txt]

                search by tag rule: "LV_1" ➜
                  ➜ condition:        all
                  ➜ tag:              §yocr4-§mocr-§docr Lebensversicherung
                  ➜ destination:      /Lebensversicherung/
                          >>> Rule is not satisfied

                search by tag rule: "CITES_1" ➜
                  ➜ condition:        all
                  ➜ tag:              Cites DE-DEG§tagname_RegEx
                  ➜ destination:      /Cites/
                  ➜ RegEx for tag:    [[:digit:]]{6}-[[:digit:]]{2,}
                          >>> Rule is satisfied

                              ➜ search RegEx for tag ➜ Cites DE-DEG220420-80

                rename tag is: "Cites DE-DEG220420-80"


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

                run RegEx date search - search for date format: 1 (1 = dd mm [yy]yy; 2 = [yy]yy mm dd; 3 = mm dd [yy]yy)
                  Dates found: 2
                  check date (dd mm [yy]yy): 01.08.2021
                  ➜ valid
                      day:  01
                      month:08
                      year: 2021

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

                ➜ renaming:
                  apply renaming syntax ➜ IMG_CITES
                ➜ insert metadata (use python PyPDF2)
                used metadata:
                ➜ '/Author': '',
                ➜ '/Keywords': 'Cites DE-DEG220420-80',
                ➜ '/CreationDate': 'D:20210801'
                ➜ move to category directory
                  tag directory "/Cites/" exists? ➜  OK [subfolder target dir]
                  target:   /volume1/Scanner/Ausgabe//Cites/IMG_CITES.pdf
                  set a hard link

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

                ➜ Adapt file date (Source: Source file)


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

                  INFO: (PushBullet-TOKEN not set)

Stats:
  runtime last file:    ➜ 00:00:01
  pagecount last file:  ➜ 1
  file count profile :  ➜ (profile Test) - 12 PDF's / 30 Pages processed up to now
  file count total:     ➜ 75 PDF's / 216 Pages processed up to now

cleanup:
  delete tmp-files ...
                removed '/tmp/tmp.dpHEW9sJm2/tmprulefile.txt'
                removed '/tmp/tmp.dpHEW9sJm2/synOCR.txt'
                removed '/tmp/tmp.dpHEW9sJm2/synOCR_filename.txt'
                removed directory '/tmp/tmp.dpHEW9sJm2'
                removed '/volume1/Scanner/Ausgabe/synOCR_tmp_1656654264/IMG_CITES.pdf'

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

  purge backup deactivated!
  rmdir: removing directory, '/volume1/Scanner/Ausgabe/synOCR_tmp_1656654264/'

  runtime all files:              ➜ 00:02:40


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

Denn für die Rule LV_1 wird folgendes ausgegeben als
Code:
rename tag is: "§yocr4-§mocr-§docr Lebensversicherung"
und für die Regel CITES_1, meines Erachtens das korrekte Tag, allerdings dieses nicht angewendet im Dateinamen:
Code:
➜ search RegEx for tag ➜ Cites DE-DEG220420-80
  rename tag is: "Cites DE-DEG220420-80"

Kann es sein, dass die Variablen, wie ich sie oben bei LV_1 verwendete habe, nicht ersetzt bzw. erst gar nicht vorhanden sind oder ggf andere Namen für die Verwendung in der YAML-Datei haben? Habe mir den Quellcode angesehen und habe daher diesen Verdacht. Denn während im Code tagname_RegEx explizit an einer Stelle genannt wird, ist dies bspw. für [§]yocr4 nicht der Fall, aber da kann ich mich auch verlesen haben.

Liegt das Problem im zweiten Fall, CITES_1, vielleicht daran, dass ich als targetfolder "/Cites/" verwende, also mit führendem Slash und von daher in der Log-Datei Folgendes ausgegeben wird, zwei Slashes, siehe unten?
Code:
/volume1/Scanner/Ausgabe//Cites/IMG_CITES.pdf
Vielleicht kann man codeseitig die Slashes vor dem Zusammenfügen des finalen Pfades/Dateinamen noch bereinigen, falls es tasächlich die Ursache sein sollte.

Edit: die in targetfolder vorhandenen Slashes haben keine Auswirkung, denn wenn ich diese entferne, ist das Ergebnis identisch: keine Umbenennung.
 
Zuletzt bearbeitet:

haccg

Benutzer
Mitglied seit
11. Jan 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Ich muss gestehen, dass ich nicht mehr weiß, welche Version vor dem Update gelaufen ist. Ich weiß nur soviel, dass es nicht 7.1 gewesen ist.

Es läuft die Version 1.2.0 von synOCR 7.

Als Fehlermeldung kommt folgende:
"Synology NAS Aufgabenplaner konnte eine geplante Aufgabe nicht ausführen.
Aufgabenplaner konnte eine geplante Aufgabe nicht ausführen. Weitere Informationen finden Sie im Protokoll-Center."

Im Protokoll-Center steht dann aber auch nicht mehr.

Wenn ich synOCR manuell starte, funktioniert es einwandfrei. Die Aufgabe im Aufgabenplaner habe ich wie in der Hilfe beschrieben angelegt gehabt.


edit____________________
Es tut mir wirklich leid, dass ich hier mit meiner "Anfängerfrage" gestört habe, aber ich habe den dummen Fehler gefunden.
Der Benutzer war einfach nicht "root", sondern ein admin. Jetzt läuft alles wunderbar.
Vielen Dank für diese super Programm!
Ich kann mich hier anschließen. Habe insoweit das gleiche Problem.

SynOCR 1.20
DSM Version: DSM 7.1-42661 Update 2

Ich habe das OCR im Bürobetrieb, deshalb Aufgabe mit 1 Minute Wiederholungsintervall.
Bei "größeren" Dateien kommt dann die Fehlermeldung per Mail:
Aufgabenplaner konnte eine geplante Aufgabe nicht ausführen. Weitere Informationen finden Sie im Protokoll-Center.
Aufgabe: OCR

Im Protokoll Center heißt es:
Scheduled Task [OCR] failed to run because a previously scheduled task was running. Please check the task content/settings.


Wir haben schon immer große Dateien verarbeitet, auch Akten mit mehreren hundert Seiten.
Aber seit dem letzten Update, bei mir ab 07.06. kommt erstmal diese Fehlermeldung UND die Verarbeitung dauert teilweise SEHR lange.

Ideen?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
@Yippie:
Ich antworte dir dann noch separat.

Ich habe das OCR im Bürobetrieb, deshalb Aufgabe mit 1 Minute Wiederholungsintervall.
Bei "größeren" Dateien kommt dann die Fehlermeldung per Mail:
… Scheduled Task [OCR] failed to run because a previously scheduled task was running.
Das spricht ja für sich. Es ist ja auch nicht kritisch. Diese Situation wird vom Startskript selbst auch nochmals abgefangen. Wenn dich die Meldung stört, dann deaktiviere die Aufgabenbenachrichtigung im Aufgabenplaner.

In der aktuellen Beta, bzw. im nächsten Release wird es eine (optionale) Ordnerüberwachung geben. Dann kannst du das Intervall auch wieder größer setzen.

Aber seit dem letzten Update, bei mir ab 07.06. kommt erstmal diese Fehlermeldung UND die Verarbeitung dauert teilweise SEHR lange.
Du meinst das Update von 7.1 Update 1 auf Update 2?
Dann bräuchte ich einmal ein Log im Loglevel 2 (in der GUI ganz unten einzustellen). Einen Link für den Upload findest du in meiner Signatur.
 
  • Like
Reaktionen: Yippie

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Ich hatte beide bei mir erfolgreich getestet - eben gerade nochmal mit deinen Parametern.

Code:
renaming syntax:
Warum ist deine Umbenennungssyntax leer? Da sollte mindestens in deinem Fall §tag enthalten sein.
Bitte mal setzen und nochmals probieren.

Kann es sein, dass die Variablen, wie ich sie oben bei LV_1 verwendete habe, nicht ersetzt bzw. erst gar nicht vorhanden sind oder ggf andere Namen für die Verwendung in der YAML-Datei haben? Habe mir den Quellcode angesehen und habe daher diesen Verdacht. Denn während im Code tagname_RegEx explizit an einer Stelle genannt wird, ist dies bspw. für [§]yocr4 nicht der Fall, aber da kann ich mich auch verlesen haben.
Das sind verschiedene Bereiche. §tagname_RegEx ist kein globaler Platzhalter, wie z.B. §yocr4. Die globalen Platzhalter können am Schluss beim Zusammenstellen des Namens ausgetauscht werden. Bei §tagname_RegEx muss die Prüfung in jeder Regel erfolgen. Das geschieht HIER, was du vermutlich gesehen hattest.
Platzhalter in Tag-Namen werden dann HIER ersetzt (dafür wird eine dezidierte Funktion aufgerufen).
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
Ich hatte beide bei mir erfolgreich getestet - eben gerade nochmal mit deinen Parametern.


Warum ist deine Umbenennungssyntax leer? Da sollte mindestens in deinem Fall §tag enthalten sein.
Bitte mal setzen und nochmals probieren.
Das ist aber in der GUI zu finden, oder?
Dort eine Einstellung zu machen, wollte ich eben durch die alleinige Verwendung der YAML-Datei eben vermeiden.
Aber gut, so funktioniert es jetzt :p👍

Vielen herzlichen Dank! Das erleichtert jetzt möglicherweise anderen mit ähnlicher Anforderung auch so einiges!

Somit folgende Einstellungen in der GUI:
1656675467880.png
Und in der YAML-Datei
YAML:
CITES_1:
    tagname: "Cites DE-DEG§tagname_RegEx"
    tagname_RegEx: "[[:digit:]]{6}-[[:digit:]]{2,}"
    targetfolder: "/Cites/"
    condition: all
    subrules:
    - searchstring: "EUROPEAN UNION"
      searchtyp: is
      isRegEx: false
      source: content
      casesensitive: false
    - searchstring: "[[:digit:]]{6}-[[:digit:]]{2,}"
      searchtyp: contains
      isRegEx: true
      source: content
      casesensitive: false

LV_1:
    tagname: "§yocr4-§mocr-§docr Lebensversicherung"
    tagname_RegEx:
    targetfolder: "/Lebensversicherung/"
    condition: all
    subrules:
    - searchstring: "Versicherungsnummer"
      searchtyp: is
      isRegEx: false
      source: content
      casesensitive: true
    - searchstring: "LV-1111-2222-3333"
      searchtyp: is
      isRegEx: false
      source: content
      casesensitive: true
 
  • Like
Reaktionen: geimist

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Eigentlich soll alles in der GUI eingestellt werden können. Die YAML-Datei ist nur für die erweiterten Suchmuster und Regeln. Mir fehlt leider die Fähigkeit, eine GUI für die YAML-Datei zu erstellen. Das wäre definitiv der edlere Weg.
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
OK, aber die Erweiterung von die, dass tagname_RegEx so wie jetzt mit Hilfe der YAML-Datei verwendet werden kann, funktionierte in der GUI bisher ja nicht.

Auch nicht, dass ich zwei Regeln in einem GUI-Profil verwenden kann, so wie oben jetzt von mir in der YAML verwendet.
Oder sehe ich das falsch?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
(Fast) alles, was man mit der YAML-Regeldatei steuern kann, geht auch fast nur da. Die Umbenennungssyntax in der GUI sollte auf jeden Fall gesetzt sein - §tag steht in dem Fall für das, was an Tagnamen von den Regeln zurückgegeben wird. In deinem Fall ist das jetzt etwas exotisch, weil du durch die Platzhalter im Tagnamen den Namensaufbau selbst gestaltest (das gab es ja bisher nicht). Aber auch hier versteckt sich jetzt dein ganzer Namensaufbau hinter §tag.

Es freut mich jedenfalls, dass es jetzt funktioniert und wünsche dir einen stabilen Workflow :)
 
Zuletzt bearbeitet:

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.216
Punkte für Reaktionen
1.035
Punkte
224
Was mir noch geholfen hat @Yippie war, alle überflüssigen Parameter gar nicht mehr in die Datei aufzunehmen, wenn der Standard Wert, der gesetzt ist, dem entspricht, was ich ohnehin haben will. Das macht die YAML-Datei deutlich übersichtlicher. Bezogen auf deine Datei also

searchtyp: contains
isRegEx: false
source: content
casesensitive: false

Musst du aber für dich selber wissen, ob es für dich vielleicht so mit allen Parametern besser ist.
 
  • Like
Reaktionen: Yippie

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
Danke für den Tipp!!
Ich bin da leider ein wenig geprägt, denn selbst Programmierer seit mittlerweile 30 Jahren und freu' mich immer wenn ich möglichst viel selbst einstellen kann oder sehe was wo wie gesteuert wird ;)
 


 

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