PostScript level bei EPS Export
  • HarryKane August 2010
    EDIT: dpi war nicht das Problem, sondern das PS level 3 bzw. 2


    Hallo,

    ich habe da mal eine Frage zum EPS Export. Ich habe ein SVG erstellt mit Farbverläufen. Das ist dann am Ende ca. 900kB groß. Wenn ich mit den Standarteinstellungen exportiere wird es 13MB groß. Ich habe anfangs erstmal mit den verschiedenen Optionen herumgespielt, ohne dass sich was geändert hat. Erst als ich die dpi von 90 auf 10 gesetzt habe wurde das EPS kleiner. Soweit so gut.

    Da ich nun in aber keinen Unterschied zw. dem 90er und dem 10 dpi EPS erkennen kann, frage ich mich was der Wert nun eigentlich bewirkt (ausgedruckt habe ich es noch nicht).

    Gruß,
    HarryKane
  • ~suv August 2010
    HarryKane schrieb:
    Ich habe anfangs erstmal mit den verschiedenen Optionen herumgespielt, ohne dass sich was geändert hat.
    Hast Du ev. viel Text in Deiner Datei, und der Unterschied war bedingt durch unterschiedliche Einstellungen für 'Texte in Pfade umwandeln'? Wenn Du Text als Pfad exportierst, wird die Datei-Grösse natürlich viiiel grösser.


    HarryKane schrieb:
    Erst als ich die dpi von 90 auf 10 gesetzt habe wurde das EPS kleiner.
    Die DPI Einstellungen betreffen ausschliesslich SVG Filter Effekte, für die raster images erzeugt werden (da es keine vektor-basierte Entsprechung dafür in EPS/PS/PDF gibt) - also für Objekte mit Unschärfe > 0 (Gaussian blur) oder anderen Effekten aus dem Menu 'Filter'.

    Weiters ist beim Export nach EPS/PS zu beachten, dass sämtliche Objekte mit Transparenzen oder reduzierter Deckkraft als bitmaps in die EPS/PS Datei eingebettet werden (da PostScript keine Transparenz kennt). Allerdings spielt die DPI-Einstellung hierfür keine Rolle - die Auflösung dieser fallback images ist immer 90dpi (soweit ich weiss). Dies betrifft natürlich auch Standard-Farbverläufe, die eine Farbe von opaque nach transparent variieren.


    Wenn Du die SVG-Datei hier anhängst, wäre es ev. möglich, genaueres zu sagen, was beim EPS Export geschieht und die Datei-Grösse beinflusst.
  • HarryKane August 2010
    Ah ok ... hat sich erledigt. Ich habe nicht aufgepasst und neben den dpi auch das PostScript level von 3 auf 2 geändert. Das hat offensichtlich die Größe drastisch reduziert.

    Hmm ... also wie gesagt am Bildschirm sehe ich da jetzt keinen Unterschied. Ist zu befürchten, dass später im Druck die Grafik doof aussieht? Ich habe mal meine Datei angehängt.

    Gruß,
    HarryKane
  • ~suv August 2010
    Ich kann das Problem nachvollziehen, mit der aktuellesten Entwicklerversion von Inkscape (Inkscape 0.48+devel r9695, Cairo 1.8.10 auf OS X 10.5.8).

    Zum testen hatte ich den Layer "Inlay" auf hidden gestellt, und nur die wenigen Elemente (den Kreis mit Farbverlauf sowie den Text dazu) nach EPS exportiert -> selbes Ergebnis wie bei Dir mit default EPS export settings (page): 13,9 MB grosse EPS-Datei. Stelle ich das PostScript level auf '2' um, ist die exportierte EPS-Datei nur 332 KB gross, und grösstenteils vektor-basiert. Die grosse EPS-Datei hingegen enthält nur ein Fallback image, d.h. Raster-Daten.

    Interessanterweise steht in der Datei, die mit 'PostScript level 3' exportiert wurde:
    %%LanguageLevel: 2
    während in der Datei, die mit 'PostScript level 2' exportiert wurde, folgendes steht:
    %%LanguageLevel: 3

    Dasselbe hatte ich schonmal beobachtet: bei der triage von Bug #491590 in Inkscape: “EPS Level 3 export Rasterized”. Allerdings weiss ich zu wenig über das PostScript Format, noch kann ich beurteilen, ob da ein Fehler in Inkscape's Export-Funktion vorliegt, oder ev. doch in der Cairo Bibliothek. Leider hat sich noch kein Entwickler diesen Bug angeschaut, und ich hatte mir damals nicht die Zeit genommen herauszufinden, ob dieser 'Fehler' von bestimmten SVG Elementen oder gradients ausgelöst wird.

    Die importierte Graphik (Layer "Inlay") werde ich auch noch testen - manchmal sind extern erzeugte SVG Grafiken nicht 100% kompatibel zu Inkscape und können ebenfalls beim Export Probleme bereiten. Mehr dazu in einem späteren Kommentar.
  • ~suv August 2010
    Der trigger scheint im 'RadialGradient' des Kreises im Layer 'Background' zu liegen -> auch isoliert als einzelne Zeichnung wird der Kreis als Fallback image in die EPS-Datei (13,8 MB) eingebettet - obwohl keiner der stops des Farbverlaufs eine reduzierte Deckkraft oder Transparenz hat:
    %!PS-Adobe-3.0 EPSF-3.0
    %%Creator: cairo 1.8.10 (http://cairographics.org)
    %%CreationDate: Wed Aug 11 19:45:24 2010
    %%Pages: 1
    %%BoundingBox: 0 0 800 800
    %%DocumentData: Clean7Bit
    %%LanguageLevel: 2
    %%EndComments

    % Fallback Image: x=0, y=0, w=800, h=800 res=300dpi size=33346668

    Derselbe Farbverlauf als LinearGradient für den Kreis erzeugt sogar eine 17,7 MB grosse EPS-Datei. Weitere Tests zeigen, dass scheinbar alle Formen von Farbverläufen (linear/radial, 2-stop or more, ohne Transparenz) [ulist][*]bei 'PostScript level 3' '%%LanguageLevel: 2' (mit Fallback image) und [*]bei 'PostScript level 2' '%%LanguageLevel: 3' (mit Vektor-Daten) [/ulist]schreiben.

    Diese technischen Details sind für Dich wenig relevant, entschuldige: Mein Tip wäre,
    • beim Export dieser Datei explizit 'PostScript level 2' auszuwählen (um möglichst viele Daten/Objekte in Vektor-Form zu exportieren). (workaround für Bug #491590)
    • Ausserdem würde ich bei den Elementen in den Ebenen 'Inner, Intermediate, Background' nochmals die Farb-Einstellungen für die Konturen überprüfen: etliche haben einen reduzierten Alpha-Kanal (240 statt 255), was wiederum bedeutet, dass diese Elemente als Raster-Image in die EPS-Datei eingebettet werden. Da der Unterschied nicht wahrnehmbar erscheint, denke ich, dass dieser minimale Transparenz-Wert nicht relevant ist und würde darauf verzichten oder allenfalls anstatt Schwarz einen leichten Grauwert einstellen (wiederum mit dem Ziel, möglichst viele Daten/Objekte als skalierbare Vektor-Daten zu exportieren und die Erzeugung von rasterisierten Fallback images auf ein Minimum zu reduzieren).
  • HarryKane August 2010
    [quote][cite]~suv schrieb:[/cite]Diese technischen Details sind für Dich wenig relevant, entschuldige:[/quote]Kein Problem, ich finde es immer gut wenn auch die Hintergründe etwas beleuchtet werden ... da lernt man immer wieder was ... zBsp. wo man beim nächsten mal so nachschauen könnte bevor man andere mit seinen Fragen belästigt :)

    Auf jeden Fall vielen Dank für deine Mühen und für deine Tipps. Ich werde mir die Farb-Einstellungen für die Konturen noch mal anschauen.

    Gruß,
    HarryKane

    PS: ist es eigentlich möglich, dass man per Mail benachrichtig wird, wenn man eine Antwort erhält?

Hey Fremder!

Sieht so aus als wenn du neu hier bist. Wenn du mitmachen willst, drücke einen dieser Buttons!

Login mit Facebook Anmelden mit Google Anmelden mit OpenID Anmelden mit Twitter

In dieser Diskussion