Gibt es etwas, das CMYK SVG lesen, importieren oder konvertieren kann?

11

Kurze Frage: Ich habe SVG-Dateien mit CMYK-Farben, die gemäß den SVG-Spezifikationen angegeben wurden . Ich möchte dies in ein Designprogramm - ein beliebiges Designprogramm - integrieren, um das Design fertigzustellen und für den Druck vorzubereiten. Ich kann jedoch nichts finden, das den CMYK-Farben in der SVG tatsächlich Aufmerksamkeit schenkt (jedenfalls nicht Illustrator oder Inkscape).

Die Farben sind kompliziert und nicht einfach zu konvertieren: Stellen Sie sich Hunderte von Farbtönen vor, die dynamisch generiert werden, als Farbtöne und Mischungen aus CMYK, die von Markenrichtlinien spezifiziert wurden und genau richtig sein müssen.


Hintergrund: Etwas, das immer häufiger vorkommt, ist das Entwerfen datengesteuerter Grafiken, die aus Daten mit Javascript und SVG generiert werden. Anschließend wird eine Variante für das Web mit Javascript und SVG veröffentlicht, beispielsweise über D3 (oder über Raphael / D34Raphael für IE-Unterstützung). Verwenden Sie dann denselben Code, um eine Druckvariante zu erstellen, die in Illustrator (oder Inkscape) fertiggestellt und als PDF an die Drucker oder Layouter gesendet wird.

Hier ist ein Beispiel aus dem New York Times-Grafikblog, das sich mit diesem Workflow befasst. Die folgende Grafik wurde für das Web codiert, dann wurde die SVG vom Browser in Illustrator kopiert und dann als Druckgrafik finalisiert (für sie sind die Farben einfach, damit sie mein Problem nicht haben, sie können einfach aus dem RGB konvertieren). ::

Geben Sie hier die Bildbeschreibung ein

SVG kann CMYK-Farben angeben (für alle SVG-Codierer sieht die Syntax folgendermaßen aus :) <circle fill="#CD853F device-cmyk(0.11, 0.48, 0.83, 0.00)"/>. Die meisten Design-Programme ignorieren dies jedoch. Ich habe in der Inkscape-Community Gespräche darüber gesehen, wie man CMYK SVG unterstützt und etwas Kompliziertes mit Scribus ("das Open-Source-InDesign"), aber ich habe es auch nicht geschafft, an die Arbeit zu gehen (ich habe das Scribus möglicherweise falsch verstanden - Bearbeiten: Dieser Artikel schlägt vor, dass Scribus CMYK SVG importieren kann, wenn es als ICC-Farbprofil definiert wird .


So kann ich Code erstellen, der RGB-SVG-Visualisierungen im 'Web-Modus' und CMYK-SVG im 'Druckmodus' generiert und dynamisch Farben erzeugt, die genau richtig sind. Das Problem ist, dass ich mit diesen CMYK-SVG-Dateien nichts anfangen kann - Illustrator und Inkscape behandeln sie einfach als schwarz.

Gibt es ein Grafikprogramm, Plugin oder Methode , die ein SVG - Bild mit CMYK Formen annehmen kann und wandelt es in einem beliebigen Vektor - Format ( ai, pdf,eps ...) wo Design - Software in den CMYK - Farben zu hören?


Hier ist eine einfache SVG-Datei mit Text, dessen Farben in CMYK angegeben sind. Einfach kopieren und einfügen und als SVG-Datei speichern.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" 
     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="176.18px"
     height="111.59px" viewBox="0 0 176.18 111.59" enable-background="new 0 0 176.18 111.59" xml:space="preserve">
<switch>
    <g>
        <text transform="matrix(1 0 0 1 31.5986 34.522)" fill="#dddddd device-cmyk(0.00, 0.00, 0.00, 0.60)" font-family="'MyriadPro-Regular'" font-size="12">TEST FILE...</text>
        <text transform="matrix(1 0 0 1 31.5986 59.3633)" fill="#dddddd device-cmyk(0.00, 0.85, 0.65, 0.00)" font-family="'MyriadPro-Regular'" font-size="12">This should be red</text>
        <text transform="matrix(1 0 0 1 31.5986 84.2041)" fill="#dddddd device-cmyk(0.90, 0.55, 0.00, 0.00)" font-family="'MyriadPro-Regular'" font-size="12">This should be blue</text>
    </g>
</switch>
</svg>
user56reinstatemonica8
quelle
Hast du eine Testdatei?
Scott
@scott Ich habe eine einfache in der Frage bearbeitet
user56reinstatemonica8
Alles am Code der SVG kann geändert werden. Außerdem habe ich diesen Artikel gefunden - libregraphicsworld.org/blog/entry/… - der aussieht, als könnte Scribus CMYK SVG importieren, wenn er richtig definiert ist. Noch nicht geknackt.
user56reinstatemonica8
Nun, ich habe hier nichts, was die Farbe zieht.
Scott
1
Beachten Sie, dass es sich um den SVG 1.2-Standardentwurf handelt , auf den Sie sich beziehen. SVG 1.2 wurde vom Ausschuss zugunsten von SVG 2 aufgegeben, was wahrscheinlich Jahre dauern wird, bis es standardisiert ist.
John Smith

Antworten:

6

Das scheint zu funktionieren:

  • Installieren Sie die Open Source Indesign-Alternative Scribus , Mac und Windows (es gibt auch eine offizielle tragbare Version für Windows auf SourceForge , für die keine Installation erforderlich ist). WARNUNG: Die Benutzeroberfläche ist sehr verwirrend ... Aber sie ist kostenlos und erledigt diesen speziellen Job. Es gibt nur eine einfache Sache, für die wir sie verwenden müssen.
  • Öffnen Sie es, gehen Sie zu File > Document Setupdann Colour Managementund stellen Sie alles ein, was mit CMYK zu tun hat Generic CMYK profile- sollte drei Stellen umfassen: Farben, feste Formen und Druck.
  • Stellen Sie sicher, dass die SVG-Dateien ihre CMYK-Farben wie folgt angeben: fill="#ffffff icc-color(Generic-CMYK-profile, 1.00, 0.50, 0.00, 0.25)"(wobei 1,00 = 100%)

    • Wenn die SVG in einem Browser generiert wird, mögen es Browser nicht, solche Stildaten festzulegen. Versuchen Sie zunächst, das fillAttribut direkt festzulegen. Wenn dies nicht funktioniert, verwenden Sie ein benutzerdefiniertes SVG-Attribut wiedata-fill="#223fa3 icc-color..." und suchen Sie es dann in der Textdatei.
    • Machen Sie sich keine Sorgen, wenn im Browser alles schwarz angezeigt wird. Dies ist ein Zeichen dafür, dass die Fülldaten vorhanden sind, aber der Browser versteht sie nicht - normal. Überprüfen Sie mit Inspect Element, um sicherzugehen.
    • Wenn die SVG von Raphael generiert wird, stellen Sie sie wie folgt ein element.node.setAttribute( 'fill', '#223fa3 icc-color...' );: Raphaels .attr('fill','')scheint nicht auf das eigentliche Element zuzutreffen. Aktualisieren Sie auch, .attr('fill')wenn der Code dies später lesen muss. Gleiches gilt für stroke. Funktioniert natürlich nur im SVG-Modus ...
  • Importieren Sie die SVG-Datei mit in ScribusFile > Import > Get vector
  • Als PDF exportieren (das Exportieren als EPS funktionierte bei mir nicht, es wurden alle Farben angezeigt). Stellen Sie sicher, dass in den Exportoptionen "CMYK" oder "Zum Drucken" eingestellt ist oder wie auch immer sie derzeit auf der Registerkarte "Farbverwaltung" formuliert werden - die Standardeinstellung scheint RGB zu sein ("Für Web / Bildschirme").
  • Öffnen Sie diese PDF-Datei in Illustrator. Sie sollte als CMYK-Dokument mit denselben CMYK-Farben wie im ursprünglichen SVG angegeben geöffnet werden.

Ergebnis: CMYK-Grafiken in Illustrator, die mit der SVG übereinstimmen, mit CMYK-Farben, wie in der SVG angegeben.


Warnung: Die SVG-Unterstützung von Scribus ist sehr schwierig. Im Speziellen:

  • Grundsätzlich gibt es keine SVG-Textunterstützung, und sie haben SVG-Text nicht weiter unterstützt als ein Argument darüber, wessen Fehler dies ist . Erwarten Sie, dass der gesamte Text mit schrecklichem Kerning zu weit oben in der falschen Schrift dargestellt wird.
  • Es scheint durch Farbverläufe und Transparenz verwirrt zu sein - obwohl es manchmal die Dinge richtig anzeigt, obwohl es sich auf dem Weg beschwert.
  • Alles in der PDF-Datei wird in einen Haufen Schnittmasken eingewickelt.
  • Die eigene Benutzeroberfläche von Scribus ist wirklich verwirrend (Stand Sommer 2013). Ich empfehle, das absolute Minimum an Basteln in Scribus selbst vorzunehmen.

Manchmal müssen Sie möglicherweise Elemente aus der ursprünglichen SVG-Datei (z. B. Text) mit der Scribus-Version mischen. Wenn jemand einen besseren Weg als Scribus kennt, teile ihn bitte mit!


Wenn Sie bestimmte Farbprofile benötigen, können Sie weitere Farbprofile in Scribus installieren und in Ihrer SVG angeben, aber ich bin mir der Details nicht sicher. Dieser zuvor verlinkte Artikel ist möglicherweise ein guter Anfang.

user56reinstatemonica8
quelle