ubuntuusers.de

PDF Dateien verkleinern?

Status: Ungelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

Oldenburger1967

Anmeldungsdatum:
20. April 2010

Beiträge: 987

Hallo Ubunutu Forum,

erst einml wünsche ich Euch Allen nachträglich ein frohes neues Jahr!

Nun zu meinem Problem, ich habe von der Uni ein fast 150 MB große PDF Datei bekommen, sie enthält relativ viele Grafiken (Vorlesung!). Mein Rechner geht doch beim Betrachten ziemlich in die Knie. Selbstredend ist er dabei extrem langsam. Gibt es eine Möglichkeit unter Ubuntu die PDF Datei zu verkleinern?

Mit PDF SAM und PDF Chain habe ich schon experimentiert, aber ich will die Datei ja nicht zerlegen sondern in ihrer Integrität erhalten, nur eben verkleinern. Ich habe es auch schon mit Druck in eine (PDF) Datei versucht, merkwürdigerweise wird die Datei dadurch aber noch größer (ca. 900 MB). Kann mir vielleicht einer von Euch helfen ?

Ich danke Euch im Vorhinein und verbleibe mit freundlichen Grüßen

Der Oldenburger

eknus

Anmeldungsdatum:
25. März 2006

Beiträge: 1019

Wohnort: Friolzheim

Da habe ich gerade in der letzte Ausgge des freien Magazins ein Artikel über das Programm pdfsizeopt gelesen. Vielleicht hilft's ... ??

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7735

Ich hatte mal einen Hiwi-Job an der Uni, da durfte ich Lehrmaterialien einscannen und zu PDFs verarbeiten. Das ist natürlich eine ganz besonders sinnvolle Anwendung, ein Dokument, das ursprünglich digital vorlag, ausgedruckt wurde, dann wieder hintenrum zu digitalisieren und als riesengrosses PDF... heute gibts solche Jobs nicht mehr, da wird das einfach aufs Kopiergerät geschmissen und das Kopiergerät macht dann das PDF. Die Dinger arbeiten mittlerweile ja auch digital.

Was ich dabei gemacht habe, was das Kopiergerät allerdings nicht macht: Auf Größe optimieren.

Das heißt unnötige schwarze Ränder und Kleckse entfernen, die Auflösung sinnvoll wählen (für Text braucht man keine 1200 dpi), ganz wichtig auch die Farbtiefe: Für Text reicht 1 bit (schwarz weiss), für schematische Grafiken ein paar wenige Graustufen / Farben, und nur Bilder/Icons dann eben RGB (dann aber auch wirklich nur das Bild und nicht die ganze Seite). Da kann man dann je nach Dokument trotz sehr guter Qualität auf relativ kleine, modemfreundliche Dateigrößen vorstoßen. Und das ist letztendlich das wofür ich dann bezahlt wurde (was die eigentliche Anwendung, leider nicht sinnvoller macht).

Sorry, der ganze Scheiß hilft dir jetzt auch nicht weiter, oder?

Leider ist es schwer eine Antwort zu geben, wenn man das Dokument nicht kennt. Ist es überhaupt ein gescanntes PDF, oder ist es schon ne rein digitale Ausgabe (kann man Text markieren und kopieren), sind es Bitmap-Grafiken (wird pixelig beim zoomen) oder Vektorgrafiken (werden nicht pixelig, werden u.U. mit sichtbarer Verzögerung nach und nach gezeichnet, so daß bspw. bei einem Auto zuerst die Karosserie und erst später die Reifen dargestellt werden), usw.

Bei Vektorgrafiken könnte ein pdf2pdf schon helfen (bzw. wenns das nicht gibt, pdf2ps, ps2pdf), dabei werden die dann mitunter vorberechnet.

Bei Bitmapgrafiken bleibt nur extrahieren, runterskalieren, Farbtiefe verringern, ...

Oder ganz andere Alternative, schauen ob ein anderer PDF-Reader hier vielleicht performanter arbeitet.

Safina

Anmeldungsdatum:
3. März 2009

Beiträge: 93

Hallo!

Ich habe mal auf dieser Website ein Bash-Skript gefunden, das sehr gute Dienste tut:

#!/bin/bash
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=${1%\.pdf}-small.pdf $1

Kann ich nur weiterempfehlen!

Viele Grüße,

Safina

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7735

-dPDFSETTINGS=/ebook kannte ich nicht (finde auch keine Dokumentation dazu).

Der Rest ist genau das was auch pdf2pdf / pdf2ps /ps2ps usw. machen (kurze Schreibweisen für lange umständliche gs Befehle, aber letztendlich ist immer gs dahinter).

Safina

Anmeldungsdatum:
3. März 2009

Beiträge: 93

frostschutz schrieb:

Der Rest ist genau das was auch pdf2pdf / pdf2ps /ps2ps usw. machen (kurze Schreibweisen für lange umständliche gs Befehle, aber letztendlich ist immer gs dahinter).

Mag sein, aber mein System bspw. kennt den Befehl pdf2pdf nicht. Ich habe beim Googeln auch mehrere Varianten gefunden, was dieser Befehl wohl tun soll. Vielleicht kannst Du mal angeben, wo Du das Skript heruntergeladen hast?

Oldenburger1967

(Themenstarter)

Anmeldungsdatum:
20. April 2010

Beiträge: 987

Hallo und Vielen Dank Euch Allen,

södele melde mich erst jetzt da ich vorhin aus der besagten Uni gekommen bin. Also bei der in Frage kommenden PDF Datei handelt es sich um ein Konglumerat aus Text, Fotgrafien und Skizzen / Strichzeichnungen, allerding alles in Schwarz Weiss. Ich möchte die Datei aber an dieser Stelle aus rechtlichen Gründen nicht aus der Hand geben. (Vor ein paaar Jahren hat einer von uns Studis ziemlich eins aufs Dach bekommen, weil er eine Vorlesung mit seinem Diktatophon FÜR SICH mitgeschnitten hatte, das macht schon nachdenklich. Was Du Frostschutz über moderne Kopiergeräte schreibst mag an vielen Universitäten Einzug gehalten habe, aber bei uns in der norddeutschen Provinz (siehe Nickname) ist das noch nicht angekommen, zumindest noch nicht in den Geisteswissenschaften. Die Informatiker mögen da bei uns etwas besser aufgestellt sein, gehören ja auch zu den viel zitierten Leuchttürmen. Ein guter Freund von mir macht heute noch exakt das, was Du beschrieben hast, na ja, bei uns im Norden geht halt allles etwas gemächlicher.

Ich werde mich jetzt mal hinsetzen und die gesamten Tips durchgucken, wobei der Hinweis auf das freie Magazin mit dem Artikel über PDFsizeopt sehr vielversprechend klingt. Einzig bei Anwendungen auf der Terminal Ebene bin ich noch etwas zurückhaltend, da ich erst letztes Jahr von Windows umgestiegen bin.

Also erst einmal Danke Euch Dreien, ich melde mich wenn ich weiter bin.

Bis denne

Euer Oldenburger

Oldenburger1967

(Themenstarter)

Anmeldungsdatum:
20. April 2010

Beiträge: 987

Den Befehl pdf2pdf kennt mein System auch nicht, ich schließe mich an dieser Stelle der Bitte von Safina an. Ich wäre Dir Frostschutz dankbar, wenn Du uns die Library oder das Paket nennen könntest, zu der pdf2pdf gehört, bin auch über google nicht wirklich schlauer geworden und unsere wiki spuckt diesbezüglich auch nur 3 Einträge aus u.a. diesen Thread.

Danke !

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7735

pdf2pdf scheints bei Ubuntu so nicht zu geben, spielt aber auch keine Rolle da es wie gesagt nur ein Alias auf GhostScript mit pdfwrite ist. Ist also genau das gleiche wie der gs Befehl oben, so daß dir (außer etwas Komfort) nichts fehlt wenn du das nicht hast.

Sorry für die Verwirrung - ich bin mit mehr als nur einer Distribution unterwegs und den Überblick was es (nicht) nur bei Ubuntu gibt habe ich dann halt nicht. ☺

Safina

Anmeldungsdatum:
3. März 2009

Beiträge: 93

Oldenburger1967 schrieb:

Einzig bei Anwendungen auf der Terminal Ebene bin ich noch etwas zurückhaltend, da ich erst letztes Jahr von Windows umgestiegen bin.

Och, so schwer ist das nicht. Ich erkläre das mal (für Dummies ☺ )

1. Lege in Deinem home-Verzeichnis einen Ordner namens "bin" an (falls noch nicht vorhanden) und starte danach das System neu (warum erkläre ich auf Anfrage).

2. Öffne z.B. gedit und kopiere die zwei Zeilen von oben dort hinein und speichere das ganze z.B. unter dem Namen "pdfcompress" in besagtem Ordner bin ab.

3. Öffne ein Terminal und gib ein:

cd bin
chmod a+x pdfcompress

4. Jetzt kannst Du mit dem Terminal per "cd" in den Ordner navigieren, wo die Datei "Dateiname" liegt. Die kannst Du einfach komprimieren, indem Du eingibst:

pdfcompress Dateiname.pdf

Voilà! Das war's.

freebirth_one

Avatar von freebirth_one

Anmeldungsdatum:
19. Juli 2007

Beiträge: 5051

Wohnort: Mönchengladbach

Was bei mir (Erfolgreich) funktioniert hat ist folgendes:

gs	-q\
        -dNOPAUSE -dBATCH -dSAFER \
	-sDEVICE=pdfwrite \
	-dCompatibilityLevel=1.3 \
	-dPDFSETTINGS=/screen \
	-dEmbedAllFonts=true \
	-dSubsetFonts=true \
	-dColorImageDownsampleType=/Bicubic \
	-dColorImageResolution=72 \
	-dGrayImageDownsampleType=/Bicubic \
	-dGrayImageResolution=72 \
	-dMonoImageDownsampleType=/Bicubic \
	-dMonoImageResolution=72 \
	-sOutputFile=out.pdf \
        <PDF_zum_verkleinern>.pdf

Gefunden habe ich das hier

Oldenburger1967

(Themenstarter)

Anmeldungsdatum:
20. April 2010

Beiträge: 987

Hallo Ihr,

erst mal danke für Euer Interesse und Eure Hilfe,

also ich habe jetzt beide Methoden ausprobiert, zunächst Deine Safina. das Verzeichnis angelegt, die Datei angelegt und in das besagte bin Verzeichnis verschoben. dann wie beschrieben gestartet. Das Script legt auch eine neue PDF an, die ist aber m Gegensatz zu der 150 MB großen Originaldatei nur wenige KB groß und lässt sich leider nicht öffnen.

dann habe ich die Methode mit dem Ghostsript ausprobiert

...gs ... Melanchthon.pdf...

hier das Ergebnis.

thomas@thomas-HPlaptop:~$ gs
GPL Ghostscript 8.71 (2010-02-10)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
GS>gs   -q\
Error: /undefined in gs
Operand stack:

Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   %loop_continue   --nostringval--   --nostringval--   false   1   %stopped_push   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--
Dictionary stack:
   --dict:1153/1684(ro)(G)--   --dict:0/20(G)--   --dict:70/200(L)--
Current allocation mode is local
Last OS error: 11
Current file position is 3
XIO:  fatal IO error 0 (Success) on X server ":0.0"
      after 39 requests (38 known processed) with 0 events remaining.
thomas@thomas-HPlaptop:~$ ls
Azureus Downloads  Dosbox            GNUstep                troubleshoot.txt
backs              dosboxgui.0.5.3   Mediathek_2.1.0        UrbanTerror
Bilder             Downloads         Melanchthon.pdf        Vangu1.pdf
bin                DVD               Melanchthon-small.pdf  Vangu2.pdf
CAD                dvdrip-data       Musik                  Videos
Desk               dwhelper          Öffentlich             Vorlagen
Desktop            examples.desktop  Spa_Achtern.png        wine
Dokumente          Games             Thomas
thomas@thomas-HPlaptop:~$ gs Melanchthon.pdf  
GPL Ghostscript 8.71 (2010-02-10)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 122.
Page 1
>>showpage, press <return> to continue<<

Page 2
>>showpage, press <return> to continue<<

Page 3

>>showpage, press <return> to continue<<
Page 4
>>showpage, press <return> to continue<<

Page 5
>>showpage, press <return> to continue<<

Page 6

>>showpage, press <return> to continue<<
Page 7

>>showpage, press <return> to continue<<
Page 8





>>showpage, press <return> to continue<<
Page 9

>>showpage, press <return> to continue<<
Page 10

>>showpage, press <return> to continue<<
Page 11

>>showpage, press <return> to continue<<
Page 12

>>showpage, press <return> to continue<<
Page 13

>>showpage, press <return> to continue<<
Page 14

>>showpage, press <return> to continue<<
Page 15

>>showpage, press <return> to continue<<
Page 16

>>showpage, press <return> to continue<<
Page 17

>>showpage, press <return> to continue<<
Page 18

>>showpage, press <return> to continue<<
Page 19

>>showpage, press <return> to continue<<
Page 20

>>showpage, press <return> to continue<<

Page 21
>>showpage, press <return> to continue<<
Page 22

>>showpage, press <return> to continue<<
Page 23

>>showpage, press <return> to continue<<
Page 24

>>showpage, press <return> to continue<<
Page 25
>>showpage, press <return> to continue<<

Page 26
>>showpage, press <return> to continue<<
Page 27
>>showpage, press <return> to continue<<
Page 28
>>showpage, press <return> to continue<<
Page 29
>>showpage, press <return> to continue<<
Page 30
>>showpage, press <return> to continue<<

Page 31
>>showpage, press <return> to continue<<

Page 32

>>showpage, press <return> to continue<<
Page 33




>>showpage, press <return> to continue<<
Page 34
>>showpage, press <return> to continue<<
Page 35
>>showpage, press <return> to continue<<
Page 36
>>showpage, press <return> to continue<<
Page 37
>>showpage, press <return> to continue<<

Page 38








>>showpage, press <return> to continue<<

Page 39


>>showpage, press <return> to continue<<
Page 40
>>showpage, press <return> to continue<<
Page 41
>>showpage, press <return> to continue<<
Page 42
>>showpage, press <return> to continue<<
Page 43
>>showpage, press <return> to continue<<
Page 44
>>showpage, press <return> to continue<<
Page 45
>>showpage, press <return> to continue<<
Page 46
>>showpage, press <return> to continue<<
Page 47


>>showpage, press <return> to continue<<

Page 48
















>>showpage, press <return> to continue<<

Page 49

>>showpage, press <return> to continue<<
Page 50
>>showpage, press <return> to continue<<
Page 51
>>showpage, press <return> to continue<<
Page 52
>>showpage, press <return> to continue<<
Page 53
>>showpage, press <return> to continue<<
Page 54
>>showpage, press <return> to continue<<
Page 55
>>showpage, press <return> to continue<<
Page 56
>>showpage, press <return> to continue<<
Page 57
>>showpage, press <return> to continue<<
Page 58
>>showpage, press <return> to continue<<
Page 59
>>showpage, press <return> to continue<<
Page 60
>>showpage, press <return> to continue<<
Page 61
>>showpage, press <return> to continue<<
Page 62
>>showpage, press <return> to continue<<
Page 63
>>showpage, press <return> to continue<<
Page 64
>>showpage, press <return> to continue<<
Page 65
>>showpage, press <return> to continue<<
Page 66
>>showpage, press <return> to continue<<
Page 67
>>showpage, press <return> to continue<<
Page 68
>>showpage, press <return> to continue<<
Page 69
>>showpage, press <return> to continue<<
Page 70
>>showpage, press <return> to continue<<

Page 71






>>showpage, press <return> to continue<<

Page 72













>>showpage, press <return> to continue<<

Page 73


>>showpage, press <return> to continue<<
Page 74
>>showpage, press <return> to continue<<
Page 75
>>showpage, press <return> to continue<<
Page 76
>>showpage, press <return> to continue<<
Page 77
>>showpage, press <return> to continue<<
Page 78
>>showpage, press <return> to continue<<
Page 79
>>showpage, press <return> to continue<<
Page 80
>>showpage, press <return> to continue<<
Page 81
>>showpage, press <return> to continue<<
Page 82
>>showpage, press <return> to continue<<
Page 83
>>showpage, press <return> to continue<<
Page 84
>>showpage, press <return> to continue<<
Page 85
>>showpage, press <return> to continue<<
Page 86
>>showpage, press <return> to continue<<
Page 87
>>showpage, press <return> to continue<<
Page 88
>>showpage, press <return> to continue<<
Page 89
>>showpage, press <return> to continue<<
Page 90
>>showpage, press <return> to continue<<
Page 91
>>showpage, press <return> to continue<<
Page 92
>>showpage, press <return> to continue<<
Page 93
>>showpage, press <return> to continue<<
Page 94
>>showpage, press <return> to continue<<

Page 95















>>showpage, press <return> to continue<<

Page 96


>>showpage, press <return> to continue<<
Page 97
>>showpage, press <return> to continue<<
Page 98
>>showpage, press <return> to continue<<
Page 99
>>showpage, press <return> to continue<<
Page 100
>>showpage, press <return> to continue<<
Page 101
>>showpage, press <return> to continue<<
Page 102
>>showpage, press <return> to continue<<
Page 103
>>showpage, press <return> to continue<<
Page 104
>>showpage, press <return> to continue<<
Page 105
>>showpage, press <return> to continue<<
Page 106
>>showpage, press <return> to continue<<
Page 107
>>showpage, press <return> to continue<<
Page 108
>>showpage, press <return> to continue<<
Page 109
>>showpage, press <return> to continue<<
Page 110
>>showpage, press <return> to continue<<
Page 111
>>showpage, press <return> to continue<<
Page 112
>>showpage, press <return> to continue<<
Page 113
>>showpage, press <return> to continue<<

Page 114





>>showpage, press <return> to continue<<
Page 115





>>showpage, press <return> to continue<<

Page 116














>>showpage, press <return> to continue<<
Page 117













>>showpage, press <return> to continue<<

Page 118




>>showpage, press <return> to continue<<
Page 119
>>showpage, press <return> to continue<<
Page 120
>>showpage, press <return> to continue<<
Page 121
>>showpage, press <return> to continue<<
Page 122
>>showpage, press <return> to continue<<
GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>GS>
GS>ls
Error: /undefined in ls
Operand stack:

Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   %loop_continue   --nostringval--   --nostringval--   false   1   %stopped_push   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--
Dictionary stack:
   --dict:1153/1684(ro)(G)--   --dict:1/20(G)--   --dict:70/200(L)--
Current allocation mode is local
Last OS error: 11
Current file position is 3
GS>

das ist die Fehlermeldung aus dem terminal. Ich habe mittlerweile den eindruck als wenn die Datei irgendwie wegen besagten Urheberrecht geschützt ist oder so?

Vielen Dank für Eure Hilfe

Der Oldenburger

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7735

Oldenburger1967 schrieb:

hier das Ergebnis.

thomas@thomas-HPlaptop:~$ gs
GPL Ghostscript 8.71 (2010-02-10)

Öh, so solltest ja nicht starten

Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
GS>gs   -q\ 

Und das klappt dann erst recht nicht...

Das gs -a -b -c muss so in der Kommandozeile schon kommen also (beispielsweise)

thomas@thomas-HPlaptop:~$ gs -q -foo -bar -undsoweiter file.pdf
thomas@thomas-HPlaptop:~$ gs Melanchthon.pdf  

damit wird die datei nur angezeigt ...

du brauchst schon mindestens "gs -sDEVICE=xywrite -sOutputFile=foobar inputdatei" als ein befehl, wenn da was konvertiert werden soll...

Zonk1982

Anmeldungsdatum:
10. Januar 2011

Beiträge: 2

Wenn du es als Bild speicherst und mit Open Office wieder als PDF exportierst kannst du die Qualität komfortabel mit Schiebereglern einstellen.

Aber da du wahrscheinlich mehr als 1 Seite hast:

Wenn du das als ausführbares Skript speicherst und in der Konsole, gefolgt vom Dateinamen des PDF aufrufst wird das komprimierte PDF in /home gespeichert

#!/bin/sh

gs	-q -dNOPAUSE -dBATCH -dSAFER \
	-sDEVICE=pdfwrite \
	-dCompatibilityLevel=1.3 \
	-dPDFSETTINGS=/screen \
	-dEmbedAllFonts=true \
	-dSubsetFonts=true \
	-dColorImageDownsampleType=/Bicubic \
	-dColorImageResolution=72 \
	-dGrayImageDownsampleType=/Bicubic \
	-dGrayImageResolution=72 \
	-dMonoImageDownsampleType=/Bicubic \
	-dMonoImageResolution=72 \
	-sOutputFile=out.pdf \
	 $1

Bearbeitet von freebirth_one:

Ah, war mein Fehler; hatte beim ersten Backslash das Leerzeichen vergessen. rotzdem: bitte Codeblöcke verwenden.

Oldenburger1967

(Themenstarter)

Anmeldungsdatum:
20. April 2010

Beiträge: 987

Hallo Euch,

erst einmal Danke für Eure Hilfe. Ich habe gerade das Script von Dir als pdfshrinker in dem bereits erwähnten bin Verzeichnis abgespeichetr, und versucht es mit der Melanchthon Pdf Datei zu starten. Leider erfolgte ein Abbruch:

thomas@thomas-HPlaptop:~$ pdfshrinker melanchthon.pdf
bash: /home/thomas/bin/pdfshrinker: Permission denied
thomas@thomas-HPlaptop:~$ sudo pdfshrinker melanchthon.pdf
[sudo] password for thomas: 
sudo: pdfshrinker: command not found
thomas@thomas-HPlaptop:~$ 

Tut mir Leid wenn ich im Augneblick noch etwas begriffstutzig bin, sorry!

Antworten |