PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pdf zu groß



peyo
15-12-2010, 07:28
Hallo Leute,

mein Script klappt soweit wunderbar. Schonmal Danke für eure Hilfe.

Jetzt habe ich das Probelm, dass die .pdfs zu groß sind. Latex nimmt die Bilder so wie sie auf der FP liegen. Leider sind die mit 300 dpi zu groß für das pdf.

Jetzt soll ich mittels ghostscript das pdf verkleinern, weil dann angeblich auch die Bilder runter gerechnet werden.
die vorgegebene dpi Zahl ist 144.
Ich habe leider keine Ahnung von Ghostscript und kann dieses auch nur über die kommandozeile aufrufen. Habe schon rum gegoogelt, aber nicht das gefunden, was ich brauch.

Wie ist der Befehl auf der Kommandozeile ein fertiges pdf zu verkleinern mit vorgegebener dpi Zahl?

Für jede Hilfe wäre ich sehr dankbar,

Danke und LG schonmal im vorraus.
peyo

The EYE
15-12-2010, 07:38
Hallo!

Ich würde dir Bilder von Hand verkleinern.
Welches Betriebssystem nutzt du? Unter Windows zB gibt es ein kleines Programm namens Image Resizer (http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx) (ist direkt von Microsoft) das diesen Job einfach erledigt.

Gruß Max

peyo
15-12-2010, 07:40
das problem ist, dass das >5000 Bilder sind.

die möchte ich nicht unebdingt per hand verkleinern.

ich benutze linux zum verarbeiten der latex files und pdfs

Schweinebacke
15-12-2010, 08:12
convert von ImageMagick kann ebenfalls Bilder in eine kleinere Auflösung runterrechnen. Da man das Programm über die Kommandozeile aufruft, kann man es einfach in ein Script/Batch stecken, das über alle *.jpg oder was auch immer eine Schleife bildet.

voss
15-12-2010, 08:26
,Jetzt habe ich das Probelm, dass die .pdfs zu groß sind. Latex nimmt die Bilder so wie sie auf der FP liegen. Leider sind die mit 300 dpi zu groß für das pdf.

Jetzt soll ich mittels ghostscript das pdf verkleinern, weil dann angeblich auch die Bilder runter gerechnet werden.
die vorgegebene dpi Zahl ist 144.
Ich habe leider keine Ahnung von Ghostscript und kann dieses auch nur über die kommandozeile aufrufen. Habe schon rum gegoogelt, aber nicht das gefunden, was ich brauch.


Wenn du das für das ganze DOkument machst, ist alles betroffen, was schlecht ist. Da du Linux hast und wie es aussieht, die PDFs keine Vektorgrafiken sind, solltest du zum Test mit convert alle *.pdf in *.png wandeln und dann diese einbinden. Das wäre lediglich ein Einzeiler.

Herbert

peyo
15-12-2010, 08:34
hallo,

danke für die antworten.
ich werde mal das "convert von ImageMagick" ausprobieren.

ich habe probiert das mit ghostscript zu lösen, aber da bekomme ich nur fehlermeldungen.


Cannot open X display `(null)'.
**** Unable to open the initial device, quitting.

ich weiß echt nich was ich da machen könnte.

Das sind .eps Bilder die in dem pdf vorkommen. im prinzip sollte ich das pdf nehmen, das über ghostscript verkleinern und gut ist. nur keine ahnung wie das gehen soll

voss
15-12-2010, 08:38
Das sind .eps Bilder die in dem pdf vorkommen. im prinzip sollte ich das pdf nehmen, das über ghostscript verkleinern und gut ist. nur keine ahnung wie das gehen soll
Teste mal für eine Datei:


eps2eps datei.eps neu.eps

Herbert

peyo
15-12-2010, 10:26
hallo voss,

der befehl geht. jetzt ist das bild 5 kb groß.

hab jetzt mal als ghostscript:


#!/bin/sh

gs -sDEVICE=pdfwrite \
-q -dNOPAUSE -dBATCH \
-dEmbedAllFonts=true -dSubsetFonts=true \
-dColorImageResolution=144 \
-dGrayImageResolution=300 \
-dMonoImageResolution=300 \
-sOutputFile=test.pdf "5NJ37131EN03.pdf"


dann kommt die Fehlermeldung:


Error: /typecheck in --run--
Operand stack:
--nostringval-- --dict:5/14(L)-- F1 11.955 --dict:6/6(L)-- --dict:6/6(L)-- ZCDDQJ+SitecoTheMix --dict:9/10(L)-- --dict:6/6(L)-- --dict:9/10(L)-- --nostringval-- 286715 CMapName usr share fonts --nostringval-- truetype
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1905 1 3 %oparray_pop 1904 1 3 %oparray_pop 1888 1 3 %oparray_pop --nostringval-- --nostringval-- 2 1 3 --nostringval-- %for_pos_int_continue --nostringval-- --nostringval-- --nostringval-- --nostringval-- %array_continue --nostringval-- false 1 %stopped_push --nostringval-- %loop_continue --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval--
Dictionary stack:
--dict:1158/1684(ro)(G)-- --dict:1/20(G)-- --dict:98/200(L)-- --dict:98/200(L)-- --dict:108/127(ro)(G)-- --dict:275/300(ro)(G)-- --dict:22/25(L)-- --dict:4/6(L)-- --dict:21/40(L)-- --dict:10/13(L)--
Current allocation mode is local
Last OS error: 2
GPL Ghostscript GPL Ghostscript 8.628.62: : Unrecoverable error, exit code 1
Unrecoverable error, exit code 1

ellocco
15-12-2010, 11:19
Bei mir geht der Befehl, ich arbeite jedoch unter WIN-XP
mit Ghostscript v8.63.
Ich weis nicht ob es betriebssystemabhängig ist, aber unter
Windoof ersetze ich die Gleichheitszeichen mit Doppelkreuz "#".
Nach der Konvertierung erhalte ich foldgende Info:

Producer: GPL Ghostscript 8.63
CreationDate: 12/15/10 10:59:30
ModDate: 12/15/10 10:59:30
Tagged: no
Pages: 1
Encrypted: no
Page size: 336 x 242 pts
File size: 41121 bytes
Optimized: no
PDF version: 1.4

Anbei mein Skript und meine Eingangsdatei und das Konvertierungsergebnis.

Grüße

ellocco

peyo
15-12-2010, 13:13
Hallo ellocco,

danke für deine antwort.
dein script funktioniert.
hab heraus gefunden, dass es an der .pdf datei liegt, die ich umwandeln möchte.

habe ein pdf mit xelatex erstellt. das erkennt das script nicht und dann kommt die fehlermeldung.
weiß allerdings nicht, wie ich das umgehen kann. andere pdfs die mit latex erstellt wurden werden vom script umgewandelt ohne fehlermeldung.

weiß jemand rat?
wäre sehr dankbar um irgendwelche tipps.

LG,
peyo

peyo
16-12-2010, 07:15
Hallo Leute,

wollte nur schnell sagen, dass ich das jetzt doch mit ImageMagick geklöst habe. so wars dann doch am einfachsten.

Danke für eure Hilfe,

Lg
peyo