Dokumenten-Management mit Paperless-NGX

So, ich hab es geschafft. Meine Consume, export, media und data Verzeichnis liegen auf der Synology - der Rest (redisdata, pgdata) auf dem MiniPC/Proxmox/Docker.
MIt Portainer war es hinterher gar nicht schwer. Über die Yaml hab ich die Zuordnung nicht hinbekommen. Erst nach Stop des Webservers konnte man hier per Maus die Zuordnung ändern.

Jetzt wollte ich noch die Paperless App ausprobieren. Aber hier scheint meine Konstruktion ein Problem zu sein. Zwar kann ich meine Paperless Server einrichten (Token, Adresse usw.), auch sehe ich bei einem Scan meine hinterlegten TAGs, Korrespondenten usw. aber bei Upload bekomme ich eine Fehler 403 (Berechtigung) "Error during upload, Request failed: forbidden (403)".

Falls jemand ne Idee hat wirklich gerne her damit. Ansonsten such ich mal nach einer Scan App (im Zweifel Datein unter iOS) und spiele direkt auf den Consume Ordner meiner NAS. Dann kann ich halt nur nicht gleich Tagen.

Vg Andreas
 
Ja danke für den Tipp. Macht einen guten Eindruck die App. Ist wohl auch viel flexibler was den Upload betrifft. Nehm ich
 
Hat jemand schon eine Beschreibung gefunden wie die Suchfunktion genau funktioniert. Kann man mit & oder - arbeiten. Wie kann man nach File Endungen (jpeg, pdf, bmp usw.) suchen.
Würde mich da gern mal einlesen....

Danke
 
Ja das hatte ich auch schon gelesen. Hatte auf Mehr Ideen gehofft. Durch die Migration sind bei mir auch viele Fotos drin. Die würde ich alle gern mal sichten. Finde aber keine Möglichkeit nach Fotos zu selektieren. Vg Andreas
 
Finde aber keine Möglichkeit nach Fotos zu selektieren
Habe auch keine gefunden. Macht wohl in einem Dokumentenmanagementensystem keinen Sinn, da hier mehr die Verschlagwortung führend ist und damit auch die Metadaten aus z.B. dem OCR.
Das Einzige, was man auf der Startseite sieht, ist die Anzahl der Dateitypen. Läßt sich aber nicht selektieren.
Wäre vielleicht eine Idee für ein künfitiges Enhancement.
 
Ich befürchte, das geht auch nicht. Die Suche ist ja eher auf Inhalt von Dokumenten und Vergebenen Tags/Dokumentarten(Rechnung/Anschreiben/etc.)/Korrespondent ausgelegt. Mit Fotos kann Paperless nichts anfangen. Und eine Suche nach dem Dateityp finde ich zumindest nirgends.
Je nach dem wie Groß deine vorhandene Sammlung ist, würde ich eher erwägen die Fotos aus dem Datenbestand vor Einpflegen in Paperless zu separieren und dafür ggf. eine für Fotos ausgelegte Datenbank nutzen. Wenn noch nicht viel drin ist, kann man die ja relativ schnell in der Übersicht ausfindig machen.
Schau dir auch mal den Bereich „Dateiaufhaben“ an, ob tatsächlich schon alle importierten Dateien durchgegangen sind.
Gruß
whoami
 
  • Gefällt mir
Reaktionen: ruerueka und RD11
Hab nur das gefunden. PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=<bool>
Hier geht es aber darum die Ordnernamen als TAGS zu verwenden. Hab ich da was übersehen?
 
Meine Idee war, die Bilder in ein oder mehrere eigene Verzeichnisse zu schieben und darüber die Tags vergeben zu lassen.
 
Ach so, zu spät 😂 hatte sozusagen ein Massenupload. Da ist halt viel durchgerutscht. Na ja die kalte und dunkle Jahreszeit kommt ja jetzt mit viel Zeit so was zu ordnen.
 
Durchgehen solltest du alle eingepflegten Dokumente eh noch mal. Paperless versucht die Datenfelder wie Korrespondent und Typ zwar selbst zu füllen und lernt das auch mit der Zeit, aber gerade Anfangs wird da zum Teil erst mal quatsch drin stehen.
Mir erscheint es auch sinnvoll sich mit den Speicherpfaden innerhalb Paperless etwas zu beschäftigen. Könnte im Falle einer nicht Verfügbarkeit des Webservers mal sinnvoll sein, wenn man händisch in den Verzeichnissen suchen muss. Achtung: Dort keine Daten löschen.

Mal was anderes: Hat sich schon mal jemand mit den Pre-Consume-Scripts beschäftigt? Speziell diesem für leere Seiten: https://github.com/paperless-ngx/paperless-ngx/wiki/Pre-Consume-Script-Examples

Das funktioniert soweit, wenn der Scanner ein pdf im consume-ordner ablegt. Allerdings scheint da etwas nicht mit anderen pdf-Dateien klar zu kommen, wenn diese z.B. aus Pages exportiert werden oder bspw. Per Mail zugestellte Rechnungen. Der Consume-Vorgang wird dann leider komplett abgebrochen mit der Fehlermeldung „…script exited with Status 3“. Da komme ich nicht weiter.

Gruß
whoami
 
@whoami
Da gebe ich Dir Recht. Ich hatte am Anfang mal einen ziemlichen Berg importiert und es hätte viel Arbeit bedeutet, das alles sinnvoll zu verschlagworten.
Ich habe dann alles wieder gelöscht und Stück für Stück importiert. Mittlerweile ist die KI ziemlich zuverlässig, erkennt gut Dokumenttyp, Korrespondent und auch Tags. Auch das Dokumentendatum wird ziemlich zuverlässig ausgelesen.
Der Tipp mit den Speicherpfaden ist ebenfalls hilfreich. Nutze ich auch.

Zu den Scripten kann ich nichts sagen. Hab mich noch nicht damit beschäftigt. Schaue ich mir aber mal an.

Was ich allerdings nutze sind Trennblätter in Verbindung mit meinem Snapscan.
 
Danke ruerueka,
Ich meine, ich hatte in die Richtung PDF-Export auch schon mal experimentiert. Schaue ich mir heute Abend noch mal an.
Gruß
whoami
 
Das kam dabei heraus im Log, eine PDF direkt aus Pages exportiert.
Code:
[2023-09-15 19:20:28,279] [INFO] [paperless.management.consumer] Received SIGINT, stopping inotify
[2023-09-15 19:20:28,280] [DEBUG] [paperless.management.consumer] Consumer exiting.
[2023-09-15 19:41:56,040] [INFO] [paperless.management.consumer] Using inotify to watch directory for changes: /usr/src/paperless/consume
[2023-09-15 19:48:26,116] [INFO] [paperless.management.consumer] Adding /usr/src/paperless/consume/Bewerbung Frisch.pdf to the task queue.
[2023-09-15 19:48:26,447] [INFO] [paperless.consumer] Consuming Bewerbung Frisch.pdf
[2023-09-15 19:48:26,457] [DEBUG] [paperless.consumer] Detected mime type: application/pdf
[2023-09-15 19:48:26,458] [INFO] [paperless.consumer] Executing pre-consume script /scripts/pre-consume.sh
[2023-09-15 19:48:29,349] [INFO] [paperless.consumer] /scripts/pre-consume.sh exited 3
[2023-09-15 19:48:29,351] [WARNING] [paperless.consumer] Script stderr:
[2023-09-15 19:48:29,352] [WARNING] [paperless.consumer] + /scripts/remove-blank-pages.sh
[2023-09-15 19:48:29,353] [WARNING] [paperless.consumer] Color-sum is 0.00000: will remove blank page 3 of /tmp/paperless/paperless-ngxk3dolx8g/Bewerbung Frisch.pdf
[2023-09-15 19:48:29,354] [WARNING] [paperless.consumer] WARNING: /tmp/paperless/paperless-ngxk3dolx8g/Bewerbung Frisch.pdf (object 6 0): object has offset 0
[2023-09-15 19:48:29,355] [WARNING] [paperless.consumer] qpdf: there are warnings; original file kept in /tmp/paperless/paperless-ngxk3dolx8g/Bewerbung Frisch.pdf.~qpdf-orig
[2023-09-15 19:48:29,356] [WARNING] [paperless.consumer] qpdf: operation succeeded with warnings; resulting file may have some problems
[2023-09-15 19:48:29,371] [ERROR] [paperless.consumer] Error while executing pre-consume script: Command '['/scripts/pre-consume.sh', '/usr/src/paperless/consume/Bewerbung Frisch.pdf']' returned non-zero exit status 3.
Traceback (most recent call last):
  File "/usr/src/paperless/src/documents/consumer.py", line 226, in run_pre_consume_script
    completed_proc.check_returncode()
  File "/usr/local/lib/python3.9/subprocess.py", line 460, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['/scripts/pre-consume.sh', '/usr/src/paperless/consume/Bewerbung Frisch.pdf']' returned non-zero exit status 3.

Hier noch mal die PDF-Infos:

Bildschirmfoto 2023-09-15 um 19.53.27.png

Bildschirmfoto 2023-09-15 um 19.54.01.png

Bash:
pi@BerryNAS:/srv/dev-disk-by-uuid-15329437-2b46-4806-9cc9-9dc665058c48/scans $ ls -la
total 508
drwxrwsr-x+ 2 scans users   4096 Sep 15 19:48  .
drwxr-xr-x  6 root  root    4096 Aug 12 19:36  ..
-rw-rwxr--+ 1 scans users 503889 Sep 15 19:47 'Bewerbung Frisch.pdf'
pi@BerryNAS:/srv/dev-disk-by-uuid-15329437-2b46-4806-9cc9-9dc665058c48/scans $
ich vermute mal, qpdf kann mit den Dateien aus irgendeinem Grund nicht umgehen?

Gruß
whoami
 
Hier mal mit aktivem pre-consume Script ein PDF, welches vom Scanner kommt. Sprich Inhalt dieser PDF-Dateien sind erst mal nur Seitengroße Bilder:
Code:
2023-09-16 09:36:26,619] [INFO] [paperless.management.consumer] Adding /usr/src/paperless/consume/scan_from_lexmark16-09-2023-09>
[2023-09-16 09:36:26,833] [INFO] [paperless.consumer] Consuming scan_from_lexmark16-09-2023-093618.pdf
[2023-09-16 09:36:26,844] [DEBUG] [paperless.consumer] Detected mime type: application/pdf
[2023-09-16 09:36:26,846] [INFO] [paperless.consumer] Executing pre-consume script /scripts/pre-consume.sh
[2023-09-16 09:36:27,927] [INFO] [paperless.consumer] /scripts/pre-consume.sh exited 0
[2023-09-16 09:36:27,929] [WARNING] [paperless.consumer] Script stderr:
[2023-09-16 09:36:27,931] [WARNING] [paperless.consumer] + /scripts/remove-blank-pages.sh
[2023-09-16 09:36:27,933] [WARNING] [paperless.consumer] Color-sum is 0.00017: will remove blank page 2 of /tmp/paperless/paperle>
[2023-09-16 09:36:27,957] [DEBUG] [paperless.consumer] Parser: RasterisedDocumentParser
[2023-09-16 09:36:27,969] [DEBUG] [paperless.consumer] Parsing scan_from_lexmark16-09-2023-093618.pdf...
[2023-09-16 09:36:28,667] [DEBUG] [paperless.parsing.tesseract] Calling OCRmyPDF with args: {'input_file': PosixPath('/tmp/paperl>
[2023-09-16 09:37:17,593] [DEBUG] [paperless.parsing.tesseract] Using text from sidecar file
[2023-09-16 09:37:17,595] [DEBUG] [paperless.consumer] Generating thumbnail for scan_from_lexmark16-09-2023-093618.pdf...
[2023-09-16 09:37:17,607] [DEBUG] [paperless.parsing] Execute: convert -density 300 -scale 500x5000> -alpha remove -strip -auto-o>
[2023-09-16 09:37:26,029] [DEBUG] [paperless.consumer] Saving record to database
Bildschirmfoto 2023-09-16 um 09.54.56.png

Bildschirmfoto 2023-09-16 um 09.55.08.png

Läuft ohne Probleme durch und ist anschließend in Paperless zu finden ohne die leere zweite Seite.

Ich habe selbst habe leider nicht die Qualifikation dieses Script zu interpretieren, bzw. zu entschlüsseln, was da genau passiert. Ich kann nur interpretieren, dass dort pdfinfo aufgerufen wird, mutmaßlich um die Gesammtseitenzahl und die Seiten, deren Farbwerte unter einem Threshold bleiben in einer Variable abzulegen um mit diesen Daten dann per qpdf die leeren Seiten zu löschen. Vermutlich kommt bei manchen PDF-Dateien dann der "Exit Code 3" zustande. Wenn ich die logs richtig interpretiere meldet qpdf eine Warnung, dass die Datei beschädigt werden könnte… :kopfkratz: Richtig oder nicht?

Kann man das Script irgendwie abändern, dass vorher erkannt wird ob der Inhalt aus einem Scan stammt, sprich Bilddaten enthält, oder ob es schon Text enthält, und bei letzterem das Script einfach übersprungen wird?

Gruß
whoami
 
Hab noch mal weiter experimentiert…
Diese Dateien habe ich zuvor durch den consumer gejagt. Bis auf 'Baufi Antrag'.pdf und 'Bewebung Frisch'.pdf gehen alle durch. Selbst die Rechnung-GVR.pdf (zugestellte Rechnung per Mail) wurde in Paperless eingepflegt. Die beiden test*.pdf wurden an Windows 10 per print to pdf erstellt, und enthielten absichtlich auch einige leere Seiten.
Bash:
/srv/dev-disk-by-uuid-15329437-2b46-4806-9cc9-9dc665058c48/scans $ ls -la
total 2024
drwxrwsr-x+ 2 scans    users   4096 Sep 17 12:47  .
drwxr-xr-x  6 root     root    4096 Sep 17 11:17  ..
-rw-rwxr--+ 1 scans    users  93396 Apr 23 20:52  23137276.pdf
-rw-rwxr--+ 1 scans    users 438572 Sep 17 12:46 'Baufi Antrag.pdf'
-rw-rwxr--+ 1 scans    users 503889 Sep 15 19:47 'Bewerbung Frisch.pdf'
-rw-rwxr--+ 1 scans    users 246952 Apr 23 20:52  F27387546.pdf
-rw-rwxr--+ 1 Johannes users 132747 Dec 17  2020  Rechnung-GVR1765290.pdf
-rw-rwxr--+ 1 scans    users 274406 Sep 17 11:31  test.pdf
-rw-rwxr--+ 1 scans    users 332751 Sep 17 11:38  test2.pdf

Einzigen beiden Unterschiede, die auffallen, ist der Dateiname und die '--check'-Ausgabe von qpdf. Ersteres werde ich noch mal prüfen, letzteres wüsste ich nicht, wie man da etwas ändern könnte.

Bash:
pi@BerryNAS:/srv/dev-disk-by-uuid-15329437-2b46-4806-9cc9-9dc665058c48/scans $ qpdf 23137276.pdf --check
checking 23137276.pdf
PDF Version: 1.4
File is not encrypted
File is not linearized
No syntax or stream encoding errors found; the file may still contain
errors that qpdf cannot detect
pi@BerryNAS:/srv/dev-disk-by-uuid-15329437-2b46-4806-9cc9-9dc665058c48/scans $ qpdf Baufi\ Antrag.pdf --check
checking Baufi Antrag.pdf
PDF Version: 1.3
File is not encrypted
File is not linearized
WARNING: Baufi Antrag.pdf (object 41 0): object has offset 0
WARNING: Baufi Antrag.pdf (object 43 0): object has offset 0
pi@BerryNAS:/srv/dev-disk-by-uuid-15329437-2b46-4806-9cc9-9dc665058c48/scans $ qpdf Bewerbung\ Frisch.pdf --check
checking Bewerbung Frisch.pdf
PDF Version: 1.3
File is not encrypted
File is not linearized
WARNING: Bewerbung Frisch.pdf (object 6 0): object has offset 0
pi@BerryNAS:/srv/dev-disk-by-uuid-15329437-2b46-4806-9cc9-9dc665058c48/scans $ qpdf F27387546.pdf --check
checking F27387546.pdf
PDF Version: 1.7
File is not encrypted
File is not linearized
No syntax or stream encoding errors found; the file may still contain
errors that qpdf cannot detect
pi@BerryNAS:/srv/dev-disk-by-uuid-15329437-2b46-4806-9cc9-9dc665058c48/scans $ qpdf Rechnung-GVR1765290.pdf --check
checking Rechnung-GVR1765290.pdf
PDF Version: 1.3
File is not encrypted
File is not linearized
No syntax or stream encoding errors found; the file may still contain
errors that qpdf cannot detect
pi@BerryNAS:/srv/dev-disk-by-uuid-15329437-2b46-4806-9cc9-9dc665058c48/scans $ qpdf test.pdf --check
checking test.pdf
PDF Version: 1.7
File is not encrypted
File is not linearized
No syntax or stream encoding errors found; the file may still contain
errors that qpdf cannot detect
pi@BerryNAS:/srv/dev-disk-by-uuid-15329437-2b46-4806-9cc9-9dc665058c48/scans $ qpdf test2.pdf --check
checking test2.pdf
PDF Version: 1.7
File is not encrypted
File is not linearized
No syntax or stream encoding errors found; the file may still contain
errors that qpdf cannot detect
pi@BerryNAS:/srv/dev-disk-by-uuid-15329437-2b46-4806-9cc9-9dc665058c48/scans $

Gruß
whoami
 
Zurück
Oben Unten