2010-12-10 5 views

Antwort

7

eine PNG-Datei konvertieren (für Bitmap-Daten entworfen) in eine EPS (ausgelegt für Vektordaten) wird immer in einem gehen führen größere Dateigröße, da die EPS im Grunde nur eine EPS-Datenstruktur um die ursprünglichen Bilddaten wickelt (die höchstwahrscheinlich nicht annähernd so effektiv wie eine PNG-Datei gespeichert werden).

Die korrekte Lösung besteht darin, Bitmaps als PNGs und Vektorgrafiken wie EPS oder SVG usw. zu speichern (dh: Verwenden Sie das entsprechende Dateiformat für den fraglichen Inhalt, anstatt zu versuchen, einen bedeutungslosen Ansatz "one size fits all" aufzuerlegen .)

+2

Denn ich zukünftige Referenz verwendet "convert -Dichte 300 myfig.png myfig.pdf" (die 300 ist für eine bessere Qualität), und dann habe ich "pdftops -EPS myfig.pdf". Dieser Prozess erlaubte mir, * .eps-Figuren mit einer Größe von weniger als 0,5 MB (vorher ca. 3-4 MB) und mit einer moderaten Qualität zu erstellen. Ein bisschen besser, dass mit dem Direct-Conversion-Prozess. Vielleicht ist es möglich, die Qualität durch Erhöhen der Dichte zu verbessern. –

+0

Die von @ AnaS.H erwähnte Lösung. Das war das Beste für mich, von all den Leuten in diesem Post. Sie sollten Ihren Kommentar in eine Antwort verwandeln Ana! – Gabriel

1

Es ist möglich, dass das Problem, dass die convert Anwendung, die Sie verwenden, einfach nicht das Einbetten von PNG in EPS unterstützt. Bei richtiger Konfiguration von Adobe Acrobat Professional I bekam ich unerwartet eine enorme Zunahme der Dateigröße. Aber Sie sollten zuerst Ihre "PNG to PDF" Konvertierungseinstellungen richtig konfigurieren. Dann sollten Sie PDF-Dateien als EPS-Dateien aus Acrobat exportieren (oder Speichern unter).

9

convert tatsächlich sprengt die Dateigröße, weil es die Grafikdaten unkomprimiert speichert. Eine bessere Komprimierung und kleinere Dateigröße können z. manuell gimp Umwandlung verwenden oder

convert image.png image.pdf 
pdftops -eps image.pdf 

In meinem Fall zum Beispiel tut, führt dies zu einer EPS-Datei mit einer Größe von 0,3 MB anstelle von 5,2 MB (wenn convert file.png file.eps direkt verwenden).

+3

Das hat nicht für mich funktioniert. Das Bild ging von 659Kb (PNG) zu 750Kb (PDF) zu ** 16.4MB (EPS) ** noch größer als mit dem direkten 'convert * .png zu * .eps', was zu 12.8Mb führte. – Gabriel

+1

Gimp hat gut für mich gearbeitet. Wenn Sie jedoch viele Dateien haben, ist Gimp nicht so einfach wie eine Befehlszeilenlösung. – hadi

+0

Gimp ist die einzige Sache, die die Details in meinen Bildern perfekt bewahrt hat. – dbliss

0

Ich hatte ein ähnliches Problem und löste es den -sample Parameter verwendet:

convert image.png -sample 100 image.eps 

und optimieren den -sample Wert um Ihren Bedarf zu passen.

Siehe auch ImageMagick v6 Examples -- Resize or Scaling

N. B. Die Inverse (von EPS/PDF nach PNG/JPG) kann mit -density eingestellt werden.

+1

Dies funktioniert bei der Reduzierung der Größe, aber die Qualität ist so schlecht, dass es fast nutzlos ist. Um eine höhere Qualität zu erhalten, müssen Sie den Sample-Parameter erhöhen, und das .eps-Bild hat die gleiche Größe wie bei der direkten Konvertierung. – Gabriel

35

Verwenden Sie Level 3 PostScript, wenn Sie können. Im Allgemeinen erzeugt Level 3 die kleinsten Dateien. Level 2 bietet die beste Kompatibilität und funktioniert gut mit JPEG-Bildern. (Siehe http://electron.mit.edu/~gsteele/pdf/)

convert fig.png eps3:fig.eps 
+1

Diese Lösung funktionierte in meinem Fall ziemlich gut. Vielen Dank! – Gabriel

+5

Dies ist die richtige Antwort. – Znorg

+0

Wenn Sie Miktex mit texify (aber nicht im pdf-Modus) verwenden, können Sie die resultierende eps-Datei mit includegraphics einschließen. – Janosch

Verwandte Themen