2009-02-13 3 views
13

Ich habe meinen Kopf gegen diesen erfolglos geschlagen.Verwenden Sie ImageMagick oder Ghostscript (oder etwas), um PDF auf Seite anzupassen?

Ich muss einige große PDFs verkleinern, um auf einer 8,5x11 Zoll (Standardbrief) Seite zu drucken. Kann ImageMagick/Ghostscript mit so etwas umgehen, oder habe ich so viele Probleme, weil ich das falsche Werkzeug für den Job verwende?

Es ist keine Option, sich nur auf die Option zum Verkleinern der Seite in clientseitigen Druckdialogen zu verlassen, da wir möchten, dass dies für die Endbenutzer einfach zu handhaben ist.

Antwort

7

Das Problem mit ImageMagick besteht darin, dass Sie in ein Rasterbildformat konvertieren, die Dateigröße erhöhen und die Qualität für alle Vektorelemente auf Ihren Seiten verringern.

Multivalent werden die Vektorinformationen des PDF beibehalten. Versuchen:

java -cp Multivalent.jar tool.pdf.Impose -dim 1x1 -paper "8.5x11in" myFile.pdf 

eine Ausgabedatei myFile-up.pdf

+0

Oooh, ich werde das ausprobieren. Vielen Dank! – ceejayoz

+4

Die neueste Version dieser Software enthält nicht die PDF-Tools! Sie müssen die Datei Multivalent20060102.jar finden und verwenden. –

+1

hier: http://minus.com/lherwk1Y5TQzZ und hier: http://ge.tt/6fVll5H können Sie die neueste multivalente Version ** mit Tools herunterladen ** – Dingo

8

ImageMagicks mogrify/convert-Befehle werden tatsächlich die Aufgabe erfüllen. Stephen Page hatte genau die richtige Idee, aber Sie müssen auch die dpi der Datei einstellen, sonst werden Sie die Arbeit nicht erledigen.

Angenommen, Sie haben eine Datei, die der Befehl als 8,5 x 11 300 dpi und bereits das gleiche Seitenverhältnis ist wäre:

// 300dpi x 8.5 -2550, 300dpi x 11 -3300 
convert original.pdf -density "300" -resize "2550x3300" resized.pdf 

Wenn das Seitenverhältnis anders ist, dann müssen Sie einig etwas kniffliges Zuschneiden tun .

+0

Ist für mich nicht. Das PDF ist nach der Konvertierung beschädigt (v. 7.0.7-Q16) – Unicco

18

Ich würde nicht convert verwenden zu erstellen. Es verwendet Ghostscript im Hintergrund, ist aber viel langsamer. Ich würde Ghostscript direkt verwenden, da es mir viel direktere Kontrolle gibt (und auch etwas Kontrolle über Einstellungen, die mit convert viel schwieriger zu erreichen sind). Und für convert für PDF-to-PDF-Konvertierung zu arbeiten haben Sie Ghostscript sowieso installiert:

gs \ 
    -o /path/to/resized.pdf \ 
    -sDEVICE=pdfwrite \ 
    -dPDFFitPage \ 
    -r300x300 \ 
    -g2550x3300 \ 
    /path/to/original.pdf 
6

Der Ghost Ansatz funktioniert gut für mich. (Ich habe meine Datei von meinem Windows-PC auf einen Linux-Computer verschoben und dort ausgeführt.) Ich habe eine kleine Änderung am Ghostscript-Befehl vorgenommen, weil der obige Ghostscript-Befehl zum Ändern der Größe eine Seite von 8,5 x 11 Zoll vollständig ausfüllt. Mein Drucker kann jedoch nicht bis zum Rand drucken, daher gingen mehrere Millimeter entlang jeder Seitenkante verloren. Um dieses Problem zu überwinden, skalierte ich mein PDF-Dokument auf 0,92 von vollen 8,5 x 11 Zoll. So sah ich alles auf der Seite zentriert und hatte einen kleinen Spielraum. Da 0,92 * (2550x3300) = (2346x3036), lief ich den folgenden Ghost Befehl:

gs -sDEVICE=pdfwrite \ 
    -dPDFFitPage \ 
    -r300x300 \ 
    -g2346x3036 \ 
    /home/user/path/original.pdf \ 
    -o /home/user/path/resized.pdf 
Verwandte Themen