(gelöst) graustufenscan: wie pdf optimieren

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

(gelöst) graustufenscan: wie pdf optimieren

Beitrag von michaa7 » 02.10.2019 18:50:11

Wie ich scanns in PDFs quetsche ist klar. auch wie ich das relativ gut (= geringe größe (zwecks e-Mail-versand bei dennoch möglicht guter *druck-*qualität). Es geht hierbei ausschließlich um Draustufenscanns, in der Regel von Textdokumenten, kann aber schonmal Bilder enthalten.

Zu einsatz kommen in der regel:

xsane, gimp, convert und pdfjoin

Was immer wieder für Ärger sorgt ist dass ich es nicht schaffe dies auf vernünftige weise zu automatisieren.

Wegen der Druckqualität scanne ich mit 300dpi (und behalte diese Auflösung auch für das pdf bei. Ich speichere zunächst als *.png .

Als beste Möglichkeit die Datei bei immer noch recht guter Druckqualität zu schrumpfen hat es sich bewährt die *.png-s mit GIMP zu indexieren und dabei die "farbstufen" (graustufen) von 256 auf 8 zu reduzieren. Gegenüber harten s/w ein riesen Unterschied. Was die Dateigröße betrifft schrumpft diese auf nahezu ein Drittel.

Leider habe ich bis jetzt keine Möglichkeit gefunden dies irgendwie zu automatisieren. Zwar weiß ich den Gimp-Batchconverter zu nutzen, aber so wie ich das sehe kann genau das der converter nicht (gegenteilig lautende anleitungen mehr als willkommen).

Convert (aus IM) beherrscht das nicht und sonst fällt mich nicht ein.

Hinweise wie ihr das angeht, bzw, wie man Gimp sonstnoch automatisiern kann oder wie die ganze prozedur zu vereinfachen wäre sind sehr willkommen.

Als Beispiel:
heute 8-seitiges Textdokument gescannt, mit xsane, abgespeichert als png. Die dateiien zwischen 1,0 und 1,5 MB groß.
Einzeln in GIMP geöffnet und dann händisch mittels menü /Bild/Modus/indexiert von 256 Farben auf 8 reduziert, die Dateien sind so zwischen 300 und 500 KB groß. Das leise sich ggf sogar ncoh auf nur 4 Farben reduzieren,oder falls Bilder dabei sind leicht erhöhen. 16 oder 32 "Farben" reduziert die Dateigröße schon erheblich.
Anschließen packe ich das auf der Kommandoziele mittel pdfjoin in eine Datei.
Zu überprüfung wird das dann non in gv angeschaut.
Zuletzt geändert von michaa7 am 05.10.2019 17:28:09, insgesamt 1-mal geändert.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: graustufenscan: wie pdf optimieren

Beitrag von MSfree » 02.10.2019 19:10:23

Farbreduktion geht auch mit convert. Das Stichwort hier lautet Dithering.
http://www.imagemagick.org/Usage/quantize/#dither_error

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: graustufenscan: wie pdf optimieren

Beitrag von michaa7 » 02.10.2019 22:31:33

Danke soweit.

convert -dither FloydSteinberg -colors 8 schafft (im gegensatz zur Gimp indexierung) nur eine reduktion um 40%, wobei der ausschlaggebende faktor "-colors 8" ist, das dithering, egal welche methode, spielt keine rolle. Gimp macht das standardmäßig *ohne* dithering, reduziert auf ein gutes drittel.

convert -monochrome reduziert sehr stark, auf ca 15-20%, allerdings um den preis, dass es recht hart (wer will kann das natürlich kontrastreich nennen) wirkt, entspricht so ziehmlich gimp im s/w modus (ein Bit).

Wofür ich in convert noch nicht die richtige einstellung gefunden habe ist eben das was gimp tut (welches wie gesagt standardmäßig kein dithering verwendet, was aber bei verwendung kaum etwas ändert bei grauwerten): die farbtabelle optimieren.
Wenn ich dies gedanklich mache würde ich *nicht* die Farb-/Graupallette in 8 *gleiche* Teile teilen (wie convert dies wei allen angegebenen beispielen macht, sondern nach Farbhäufungen Ausschau halten also welche gleichen und ähnliche Farben einen zwischengipfel bilden. Vom ergebnis her betrachtet ist wohl eine optimierte Palette eine bessere voraussetzung zur datenredukion als eine schematische palette.
Gimp reduziert 1MB bei der verwendung von 8 Farben (Grauwerten) auf 360-380KB, convert mit colors 8 auf 595KB.

Wie auch immer, weiß jemand wie ich mit convert eine *optimierte* Farbtabelle erzeuge?

EDIT:

Ich habe jetzt eben noch einen test gemacht. Dabei habe ich convert mittels -remap das mit Gimp auf 8 Grauwerte reduzierte Bild als zu verwendende colormap untergeschoben:

Code: Alles auswählen

$ convert bild.png  -dither FloydSteinberg -remap bild.testgimp.png -colors 8 bild.C8remapFS.png
Ergebnis: die datei wurde ein bischen kleiner als mit der convert standardcolormap (530KB) erreicht aber bei weitem nicht den guten wert von Gimp (siehe oben).

Fazit: das ergebnis von Gimp mit convert nachzubilden ist nicht soooo trivial ....
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

willy4711

Re: graustufenscan: wie pdf optimieren

Beitrag von willy4711 » 03.10.2019 15:46:34

Ich kenne deinen Qualitätsanforderungen nicht. Aber es erscheint mir doch sehr aufwändig.
Bei mir sind das zwei Schritte:

1) mit Debiangscan2pdf Dokument einscannen als eine Datei.
2) mit densify komprimieren.

densify kannst du hier runter laden: https://github.com/hkdb/Densify

nach /opt/Densify entpacken
den Starter (Desktop-Datei)
nach /usr/share/applications/ kopieren

oder das Skript ausführen :mrgreen:

das ist es.
Ich habe so aus einem 10- Seitigen abgescannten Farb- PDF mit 34 MB - je nach Einstellung zwischen 10 und 2,3 MB große Dateien erhalten

Edit:

Gibt es auch noch fürs Terminal:
https://osi.3df.io/

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: graustufenscan: wie pdf optimieren

Beitrag von michaa7 » 03.10.2019 20:12:22

willy4711 hat geschrieben: ↑ zum Beitrag ↑
03.10.2019 15:46:34
...
densify kannst du hier runter laden: https://github.com/hkdb/Densify
...
Edit:

Gibt es auch noch fürs Terminal:
https://osi.3df.io/
Danke für deine hinweise, gscan2pdf habe ich mit gefühlt 100 abhängigkeiten isntalliert,
bei densify weiß ich nicht was genau ich herunterladen muß (und so geht es mir grundsätzich wenn ich auf github seiten verwiesen werde. Und das ist Schade, die leute machen sich sehr viel mühe, aber haben dann doch keine vorstellung dass ein unbedarfter user wie der ochs vorm berg steht. Und klar, ich weiß, ich habe nicht das geringste recht sauer zu sein. Ich bin es dennoch. Im grunde bin ich sauer dass ich nun fragen muß WAS genau ich herunter laden muß? ALLE dateien auf dieser seite?

Reicht es
https://github.com/hkdb/Densify/blob/master/densify
herunterzuladen und nach /opt zu kopieren, oder sind die anderen datein nötig/hilfreich/was-auch-immer

Oder das hier?
https://github.com/hkdb/Densify.git

Nein, das will ich nicht ausprobieren, weil wenn irgendetwas nicht klappt ich nicht weniger sondern ncoh mehr fragen habe.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: graustufenscan: wie pdf optimieren

Beitrag von michaa7 » 03.10.2019 20:50:30

Jetzt habe ich mich doch selbst durchgefummelt (JA, das ist ärgerlich dass man sich durchfummel muß, weil das nicht soo eindeutig ist)

Und das ergebnis, nach u.a. fehlerlosem durchlauf des installscripts:
/opt/Densify/densify
bash: /opt/Densify/densify: Keine Berechtigung

$ /usr/share/applications/densify.desktop
/usr/share/applications/densify.desktop: Zeile 1: [Desktop: Kommando nicht gefunden.
/usr/share/applications/densify.desktop: Zeile 4: Compressor: Kommando nicht gefunden.
/usr/share/applications/densify.desktop: Zeile 12: Application: Kommando nicht gefunden.

EDIT:

Die folderrechte waren falsch. Ist behoben.

Nächstes Problem:

$ /opt/Densify/densify
Traceback (most recent call last):
File "/opt/Densify/densify", line 25, in <module>
import gi
ImportError: No module named gi


$ ls -la /opt/Densify/
insgesamt 12212
drwx--xr-x 3 root root 4096 Okt 3 20:30 .
drwxr-xr-x 5 root root 4096 Okt 3 20:24 ..
-rwxr-xr-x 1 root root 16416 Mai 13 2018 densify
drwx------ 2 root root 4096 Okt 3 20:26 Densify
-rwxr-xr-x 1 root root 249 Mai 13 2018 densify.desktop
-rw-r--r-- 1 root root 21119 Mai 13 2018 desktop-icon.png
-rw-r--r-- 1 root root 11860095 Mai 13 2018 gi
-rw-r--r-- 1 root root 20915 Mai 13 2018 header.png
-rw-r--r-- 1 root root 7663 Mai 13 2018 icon.png
-rw-r--r-- 1 root root 536430 Mai 13 2018 icon.xcf
-rwxr--r-- 1 root root 634 Mai 13 2018 install.sh
-rw-r--r-- 1 root root 1061 Mai 13 2018 LICENSE
-rw-r--r-- 1 root root 3549 Mai 13 2018 README.md
Zuletzt geändert von michaa7 am 03.10.2019 21:09:05, insgesamt 2-mal geändert.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

willy4711

Re: graustufenscan: wie pdf optimieren

Beitrag von willy4711 » 03.10.2019 21:03:52

hier mal der direkt-Link:
https://github.com/hkdb/Densify/archive/master.zip
dann:i
Im download Verzeichnis entpacken
ergibt das Verzeichnis Densify-master
dann als Root:

Code: Alles auswählen

mv /home/USERNAME/Downloads/Densify-master  /opt/Densify
dann

Code: Alles auswählen

cp /opt/Densify/densify.desktop /usr/share/applications/
Das war es schon. Danach sollte Densify über das Menü aufrufbar sein

willy4711

Re: graustufenscan: wie pdf optimieren

Beitrag von willy4711 » 03.10.2019 21:11:23

Hast du denn kein Menü - Eintrag ?

Code: Alles auswählen

cat /usr/share/applications/densify.desktop
[Desktop Entry]
Version=0.1.0
Name=Densify
Comment=PDF Compressor
GenericName=Densify
Exec=/opt/Densify/densify
Path=/opt/Densify/
Terminal=false
Type=Application
Icon=/opt/Densify/desktop-icon.png
StartupNotify=true
Categories=Utility;Application;

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: graustufenscan: wie pdf optimieren

Beitrag von michaa7 » 03.10.2019 21:36:10

Das ist sehr nett von dir, aber es funktioniert NICHT
willy4711 hat geschrieben: ↑ zum Beitrag ↑
03.10.2019 21:03:52
hier mal der direkt-Link:
https://github.com/hkdb/Densify/archive/master.zip
Das ist klar
dann:i
Im download Verzeichnis entpacken
das auch
ergibt das Verzeichnis Densify-master
dann als Root:

Code: Alles auswählen

mv /home/USERNAME/Downloads/Densify-master  /opt/Densify
Das führt aber zur ordnerstruktur:
/opt/Densify/Densify-master und dann klappt der folgebefehl nicht. Kopier ich alles nach /opt/Densify (leere den ordner Densify-master) dannklappt der folgebefehl, aber es tritt ein fehler beim programstart auf


Ich muß über den texteintrag "/opt/Densify/densify" starten weil ich kein graphisches programmmenü habe
(fluxbox). Der fehler wird aber ehr an der ordnerstruktir liegen, die nicht so klar ist. wie ist das bei dir? Muß das doch /opt/Densify/densify-master/ lauten und dadurch der startaufruf /opt/Densify/densify-master/densify? Laut der desktop datei nicht, aber wie gesagt, es gibt diesen fehel mit dem gi modul.

Ich hasse das alles


EDIT:

Ich habe das jetzt auch mit angepasstem pfad probiert, führt aber zum gleichen fehler, dass das modul "gi" nicht gefunden wird.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

willy4711

Re: graustufenscan: wie pdf optimieren

Beitrag von willy4711 » 04.10.2019 10:20:56

michaa7 hat geschrieben: ↑ zum Beitrag ↑
03.10.2019 21:36:10
Das führt aber zur ordnerstruktur:
/opt/Densify/Densify-master und dann klappt der folgebefehl nicht. Kopier ich alles nach /opt/Densify (leere den ordner Densify-master) dannklappt der folgebefehl, aber es tritt ein fehler beim programstart auf
Sorry - da hab ich Mist erzählt, war schon halb im Bett :facepalm: Aber du hast das ja korrigiert.
das "Modul gi" ist Debianpython-gi bei mir ist Debianpython-gi und Debian python3-gi installiert
Hatte ich vergessen zu sagen, da das bei mir schon eine Weile her ist, und das bei mir auch installiert war.
Steht auch hier: https://github.com/hkdb/Densify/issues/4

Ich hatte das Teil bisher noch nie aus dem Terminal gestartet (gab ja keinen Grund). aber jetzt mal nachgeholt.
Kommt prompt ne Fehlermeldung, und es startet nicht. (symlink auf /opt/Densify/densify gesetzt)

Code: Alles auswählen

~$ densify
Traceback (most recent call last):
  File "/usr/bin/densify", line 428, in <module>
    win.set_icon_from_file("icon.png") # Set App Icon
gi.repository.GLib.Error: g-file-error-quark: Datei »icon.png« konnte nicht geöffnet werden: Datei oder Verzeichnis nicht gefunden (4)
Die Lösung gab es hier:https://github.com/hkdb/Densify/issues/3
also, falls der Fehler auch bei dir kommt:
die Zeilen 43 und 428 der Datei /opt/Densify/densify jeweils mit dem absoluten Pfad versehen:

Code: Alles auswählen

win.set_icon_from_file("icon.png") # Set App Icon
ändern in:

Code: Alles auswählen

win.set_icon_from_file("/opt/Densify/icon.png") # Set App Icon
und

Code: Alles auswählen

self.image.set_from_file("header.png")
ändern

Code: Alles auswählen

self.image.set_from_file("/opt/Densify/header.png")
Was ich nicht verstehe:

Über den Starter gestartet, hat es keinen Einfluss auf das Programm, auch die Grafik erscheint richtig.
Aus dem Terminal verhindert der absolute Pfad für icon.png den Programmstart,
das header.png erscheint dann halt bloß nicht.

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: graustufenscan: wie pdf optimieren

Beitrag von michaa7 » 05.10.2019 15:48:32

Danke für deine mühen ...

...die leider vergeblich zu sein scheinen. Zwar startet nach den beiden pfadanpassungen das programm, stolpert dann aber wohl wieder über pfade (für die ausgabedatei, die zudem in der fehlermeldung als input bezeichnet wird).

Ich befürchte wenn sich die programmacher nicht erbarmen und die verlässliche funktion auch beim start aus der kommandozeile sicher stellen, oder mir jemand sagt, wie man das teil aus der *.desktopdatei vielleicht mit hilfe eines speziellen gnome/gtk tools starten kann, dann wird das wohl nichts ... so vielversprechend das auch aussieht.

Werde mir allerdings mal das kommandozeilentool anschauen. Wenn das funktioniert soll es mir recht sein ...
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

willy4711

Re: graustufenscan: wie pdf optimieren

Beitrag von willy4711 » 05.10.2019 16:34:58

michaa7 hat geschrieben: ↑ zum Beitrag ↑
05.10.2019 15:48:32
Zwar startet nach den beiden pfadanpassungen das programm, stolpert dann aber wohl wieder über pfade (für die ausgabedatei, die zudem in der fehlermeldung als input bezeichnet wird).
Verstehe ich nicht. Der Pfad, wo die optimierte Datei abgelegt wird muss der selbe sein --- Das ist doch kein Problem ?
Die Datei selber kannst du umbenennen oder es wird halt der Dateiname compressed vergeben --> ist doch erst mal auch kein Problem?

Hast du denn, wie ich geraten hatte einen Symlink nach /urs/bin gesetzt?

Code: Alles auswählen

ln -s /opt/Densify/densify  /usr/bin/densify
Dann kannst du doch das Programm über ALT+F2 oder aus dem Terminal direkt aufrufen

Hab gerade nochmal ein beliebiges Dokument genommen und auf drei verschiedenen Arten komprimiert. der Ursprung ist oben

Code: Alles auswählen

ls -algG /home/willy/PDF1/|grep job_9|sort
-rw-------  1 12556928 Feb 16  2016 job_9-untitled_document.pdf
-rw-r--r--  1  2787785 Okt  5 16:19 job_9-untitled_documentb.pdf
-rw-r--r--  1  7195686 Okt  5 16:17 job_9-untitled_documenta.pdf
-rw-r--r--  1   892071 Okt  5 16:20 job_9-untitled_documentc.pdf
Bei mir startet das Programm aus der Konsole ohne die geringste Fehlermeldung.

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: graustufenscan: wie pdf optimieren

Beitrag von michaa7 » 05.10.2019 17:10:43

~$ densify

(densify:14850): Gtk-WARNING **: 17:05:54.557: Error setting gtk-xft-antialias in /home/mh/.config/gtk-3.0/settings.ini: Die Schlüsselwertedatei enthält den Schlüssel »gtk-xft-antialias« in der Gruppe »Settings« mit einem Wert, der nicht interpretiert werden konnte.

(densify:14850): Gtk-WARNING **: 17:05:54.557: Error setting gtk-xft-hinting in /home/mh/.config/gtk-3.0/settings.ini: Die Schlüsselwertedatei enthält den Schlüssel »gtk-xft-hinting« in der Gruppe »Settings« mit einem Wert, der nicht interpretiert werden konnte.

******************************Bis hierhin ^^^^^nach programstart, und was unterhalb steht nachdem ich die zu komprimierende datei ausgewählt habe und auf compress gedrückt habe. Der rödelt dann ohne ergebnis ...

GPL Ghostscript RELEASE CANDIDATE 3 9.28: **** Could not open the file None/compressed.pdf .
**** Unable to open the initial device, quitting.
Traceback (most recent call last):
File "/usr/bin/densify", line 279, in on_button_clicked
oFileSizeRaw = os.path.getsize(oFile)
File "/usr/lib/python2.7/genericpath.py", line 57, in getsize
return os.stat(filename).st_size
OSError: [Errno 2] Datei oder Verzeichnis nicht gefunden: 'None/compressed.pdf'
symlink ist gesetzt. Es ändert sich auch nichts, wenn ich für compressed.pdf einen namen vergebe. Ich versteh überhaupt nicht warum dieses file gesucht wird, das soll ja erst das ergebnis sein. Irritierend auch das "None"
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: graustufenscan: wie pdf optimieren

Beitrag von michaa7 » 05.10.2019 17:27:49

ok, klappt jetzt.

Den symlink habe ich erst nach deiner nachfrage eingerichtet. Das ging zunächst auch nicht. Erst nach mehrmaligem probieren und wechseln der vorlage sowie des verzeichnisses geht es nun, auch mit der datei die zunächst nicht funktioniert hat. Typischer fall von keine ahnung wieso ... :?

Danke nochmals, das ist also gelöst. Und im Ergebnis recht gut, habe zwar noch nicht ausgedruckt, aber die dateigröße schrumpft erheblich und sieht am bildschirm zumindest gut aus. Die kompressionsparameter lassen sich ja zudem explizit für druck anpassen. Zudem übersteht das ergebnis den test per gv!

Ich denke das wird zukünftig das erstellen per E-Mail zu verschickender PDFs erheblich vereinfachen.

Mercie.

:)
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

willy4711

Re: (gelöst) graustufenscan: wie pdf optimieren

Beitrag von willy4711 » 05.10.2019 17:48:15

Schön -- freut mich.
Ich hatte nochmal die Berechtigungen vergleichen wollen, aber das hat sich ja nun erledigt.
Naja irgendwie ist das Programm ein bisschen "freihändig", aber es tut wirklich gut seinen Dienst.

Antworten