Anzeige:
Ergebnis 1 bis 15 von 15

Thema: PDF verkleinern -- aber einfach! Script?

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407

    PDF verkleinern -- aber einfach! Script?

    Hallo,

    ich habe:
    • das Python-Programm pdfsizeopt.py;
    • einen Rechner mit openSuse 11.2.

    Das Programm verkleinert meine mit pdflatex hergestellten PDFs dramatisch. OK, es war ein wenig Bastelarbeit, weil pdfsizeopt.py mit Ghostscript nur in einer gepachten Version läuft, aber jetzt geht es.

    Zuletzt waren selbst kurze Briefe ein paar hundert Kilobyte schwer, weil ich das Schriftpaket »Linux Libertine / Biolinum« verwende. Offenbar wird dann die gesamte Schrift in das PDF eingebettet. Nun wiegen ein paar Seiten noch um die 50 kB.

    Der Befehl, um pdfsizeopt.py auf ein PDF anzuwenden, lautet:

    Code:
    pdfsizeopt.py --use-pngout=true --use-jbig2=true --use-multivalent=true >Eingabe.PDF< >Ausgabe.PDF<
    Das einzugeben ist aber ziemlich umständlich, wenn man jeden Tag mehrere PDFs herstellt.

    Wie kann man das vereinfachen? Ich hatte folgende Ideen:
    1. Konsole, Midnight Commander, Scriptname eingeben, Eingabe.pdf, Ausgabe.pdf, Enter
    2. Dolphin, Rechtsklick auf Eingabe.pdf, im Kontextmenü wird ein Script aufgerufen, Name Ausgabe-PDF lautet einfach Eingabe-1.pdf


    Ich habe leider vom Programmieren keine Ahnung. Hat jemand einen Vorschlag, wie man die Verkleinerei vereinfacht?

    Danke!

    Gruß,
    Alexander

  2. #2
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    So was in der Art? (ungetestet)

    Code:
    #!/bin/bash
    
    # dies ist ein Kommentar
    # speichern als: script.sh
    # hier selbstverständlich die GNU GPL einfügen ;-)
    
    INPUT = $1
    OUTPUT = $2
    
    pdfsizeopt.py --use-pngout=true --use-jbig2=true --use-multivalent=true INPUT OUTPUT
    Aufruf: script.sh input.pdf output.pdf

    MfG Bischi

    PS: Falls es nicht funktionieren sollte oder du Fragen zur Funktionalität hast: Her damit

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407
    Hallo Dominik,

    vielen Dank für dieses ordentliche Script, mit dem ich noch experimentieren werde.

    Ich habe die Sache ganz anders, hm, angefangen zu lösen:

    Beim KDE 3 Konqueror konnte man das Kontextmenü anpassen, das ging ziemlich einfach. In meinem Fall habe ich eine Datei namens pdfopt.desktop geschrieben:
    Code:
    [Desktop Entry]
    Encoding=UTF-8
    ServiceTypes=all/allfiles
    Actions=pdfsizeopt_als_Kontext
    
    [Desktop Action pdfsizeopt_als_Kontext]
    Name=Mit pdfsizeopt verkleinern
    Icon=mail_send
    Exec=pdfsizeopt.py --use-pngout=true --use-jbig2=true --use-multivalent=true %U
    Davon gab's im Netz reichlich Vorbilder. Leider funktioniert das unter KDE 4.4.2 (bin von Morbus updateitis befallen) nicht mehr so einfach. Aber hier gibt es ein Script, dass die Konqueror-3-Kontextmenues in die für KDE4 umwandelt, wenn man die obige Datei korrekt unter /opt/kde3/share/apps/konqueror/servicemenus/ abspeichert.

    Und es funktioniert soweit. Jetzt muss ich noch eine zweite Variante bauen für pgnout=false.

    Aber es ist hoffentlich die Mühe wert. Ich muss mal Doku suchen, wie KDE4-Servicemenues zu bauen sind.

    Gruß und nochmal Danke,
    Alexander

  4. #4
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407
    Zur Doku:

    Bei KDE 4 liegen die Dateien für Kontextmenues unter:

    ~/.kde4/share/kde4/services/ServiceMenus/

    Meine Datei pdfopt.desktop sieht jetzt so aus:

    Code:
    [Desktop Entry]
    Type=Service
    Encoding=UTF-8
    ServiceTypes=KonqPopupMenu/Plugin,all/allfiles
    Actions=pdfsizeopt_als_Kontext
    
    [Desktop Action pdfsizeopt_als_Kontext]
    Name=pdfsizeopt pgnout=true
    Icon=mail_send
    Exec=pdfsizeopt.py --use-pngout=true --use-jbig2=true --use-multivalent=true %U
    Das Programm ist wirklich erstaunlich: es verkleinert meine PDFs auf ca. 15 % der Ursprungsgröße.

    Eben bin ich aber auch über ein Hindernis namens
    "NotImplementedError: PDF-1.5 cross reference streams not implemented" bei einer speziellen Datei gestolpert.

    Na, mal testen.

  5. #5
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Beim KDE 3 Konqueror konnte man das Kontextmenü anpassen, das ging ziemlich einfach. In meinem Fall habe ich eine Datei namens pdfopt.desktop geschrieben:
    Viele Wege führen nach Rom Ich benutz aktuell halt gerade Gnome (nachdem ich mit XFCE Probleme hatte). KDE ist mir irgendwie zu langsam und gross

    Zitat Zitat von cookie170 Beitrag anzeigen
    Das Programm ist wirklich erstaunlich: es verkleinert meine PDFs auf ca. 15 % der Ursprungsgröße.
    Was wird denn genau alles rausgeschnitten? Gerade die Schriften hätt ich gerne eingebettet. Wie sehen die PDF's auf nem anderen Rechner aus? Auf nem Windows-Rechner? Was passiert mit Bildern?

    Lg Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  6. #6
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407
    Hallo,

    es bleibt alles bei gleicher Qualität drin. Auf der website findest Du zwei links zu Aufsätzen. Bist Du Dante-Mitglied? Im letzten Heft der EuroTeX war ein langer Aufsatz des Autors Peter Szabo (S. E 112 ff.), so bin ich darauf aufmerksam geworden.

    Bei den Schriften beruht der Trick darauf, dass die Type1-Fonts in ein Format namens CFF konvertiert werden. Sie sind nach wie vor drin, aber _viel_ kleiner. Gelegentlich werde ich 'mal nachlesen, wie das funktioniert.

    Gruß,
    Alexander

  7. #7
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Zitat Zitat von cookie170 Beitrag anzeigen
    es bleibt alles bei gleicher Qualität drin. Auf der website findest Du zwei links zu Aufsätzen.
    Habs mir mal durchgeschaut - sieht sehr interessant aus Auch wenn ich noch nicht wirklich im Detail kapiert hab, was die da machen (ausser Teile von Bildern abschneiden, die nicht zu sehen sind - was ich eigentlich sowieso erwartet hätte ). Muss das wohl nochmals in Ruhe durchlesen (hab nur die Slides durchgeklickt...)

    Bist Du Dante-Mitglied? Im letzten Heft der EuroTeX war ein langer Aufsatz des Autors Peter Szabo (S. E 112 ff.), so bin ich darauf aufmerksam geworden.
    Nö - das müsste ich wohl irgendwann mal noch nachholen

    Bei den Schriften beruht der Trick darauf, dass die Type1-Fonts in ein Format namens CFF konvertiert werden. Sie sind nach wie vor drin, aber _viel_ kleiner.
    Tönt logisch... Und die Kompatibilität bleibt? Kannst du mal ein so verbessertes PDF (kann ja irgend ne Doku sein - bspw l2picfaq ) hier auf mrunix hochladen? Dann können Leute mit verschiedensten Systemen und Viewern schauen, ob es auf dem jeweiligen System passt.

    Lg Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  8. #8
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Zitat Zitat von cookie170 Beitrag anzeigen
    Bei den Schriften beruht der Trick darauf, dass die Type1-Fonts in ein Format namens CFF konvertiert werden. Sie sind nach wie vor drin, aber _viel_ kleiner. Gelegentlich werde ich 'mal nachlesen, wie das funktioniert.
    Zu CFF siehe beispielsweise http://en.wikipedia.org/wiki/Compact...ct_Font_Format. Wie die Konvertierung funktioniert steht dort zwar nicht, aber dass dabei keine Daten verloren gehen.

  9. #9
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Zitat Zitat von cookie170 Beitrag anzeigen
    Das Programm ist wirklich erstaunlich: es verkleinert meine PDFs auf ca. 15 % der Ursprungsgröße.
    Bei meinen Tests schafft es nur ca. 50%. Wobei ich bisher keine Dokumente mit eingebetteten PNGs getestet habe, was sich vermutlich auch erheblich auf das Komprimierungspotential auswirken kann.

    Nachteil ist bei meinen Tests, dass xpdf 3.02 und okular 0.9.5 bei mir zwei Fehler melden:
    Code:
    Error: Loop in Pages tree
    Error: Page count in top-level pages object is incorrect
    und okular dann deutlich länger braucht, bis es die erste Seite anzeigt.

    Trotzdem ist der Tipp gut. Gerade für PDFs per E-Mail kann sich das wirklich lohnen!

  10. #10
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Naja - entweder es werden wirklich Teile entfernt, die nicht gebraucht werden oder es wird halt komprimiert... Und dann leidet unter Umständen die Performance...

    LG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  11. #11
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407
    Hallo,

    l2picfaq wird von 596 kB auf 318 kB verkleinert, ich versuche mal, es hier anzufügen.

    Hm, geht nicht. Entweder Bischi vergrößert einmalig mein Limit zum Hochladen oder ich muss das Ding auf irgendeinen Server hochladen -- hat da jemand einen Vorschlag (hab' ich noch nie gemacht),

    Gruß,
    Alexander

  12. #12
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Zitat Zitat von cookie170 Beitrag anzeigen
    Hm, geht nicht. Entweder Bischi vergrößert einmalig mein Limit zum Hochladen oder ich muss das Ding auf irgendeinen Server hochladen -- hat da jemand einen Vorschlag (hab' ich noch nie gemacht),
    würd ich ja gerne - kann ich aber leider nicht Kannst es mir sonst mailen - dann lad ichs bei mir auf die HP rauf.

    Lg Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  13. #13
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Hier der Link:

    http://www.ee.ethz.ch/~dominikb/l2pi...icfaq.psom.pdf

    Ich seh zumindest auf den ersten Blick keinen Unterschied

    Lg Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  14. #14
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Sieht gut aus. Mir ist allerdings eine kleine Unschönheit aufgefallen, die auch in der Originalversion auftritt: Auf den Seiten 29 und 30 sind die Kopf- und die Fußzeile geringfügig verschoben (und auch die Abstände zu den Trennlinien verändert).

    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

  15. #15
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Stimmt - das ist mir bis jetzt noch gar nicht aufgefallen Noch was, was ich in der nächsten Version korrigieren muss

    Lg Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •