2010-06-22 10 views
5

Ich nehme an, dass es keine freien oder Open-Source-Bibliotheken gibt, die in der Lage sind, die CMYK-Abdeckung in einer PDF-Datei zu berechnen. Ich habe versucht, mich umzusehen, ich kann anscheinend keine finden. Wenn es da draußen keine gibt, wenn mir jemand in die richtige Richtung zeigen könnte, was ich tun muss, um die CYMK-Abdeckung auf einem PDF zu berechnen. Oh auch die Entwicklungsumgebung ich arbeiten würden in ist .NET Framework 4.0CMYK-Abdeckung in PDF berechnen

Prost

+0

Ich denke, dass es mit dem Adobe SDK gemacht werden kann, ach, ich weiß nicht mehr als das. Hast du es irgendwann herausgefunden? –

Antwort

2

Sie können Ghostscript verwenden. Führen Sie es mit dem tiffsep oder tiffsep1 Gerät mit 72 dpi Auflösung. Dies wird separate TIFF-Dateien für jede CMYK-Farbmittel erstellen, die Sie dann weiter zu ‚count‘ verwenden, um die Abdeckung für jede Farbe:

gswin32c.exe^
    -sDEVICE=tiffsep^
    -r72x72^
    -o "c:/path/to/output/dir/page_%03d.tif"^
    c:/path/to/input.pdf 

Dieses Gerät erzeugt mehrere Ausgabedateien. Es schafft:

  1. eine 32-Bit-Composite-CMYK-Datei (tiff32nc-Format, das 32-Bit-CMYK sind [8bits/component]) plus
  2. mehr tiffgray Dateien - ein tiffgray (die 8-Bit-grau ist, LZW komprimiert) für jede Farbtrennung.

Die Tiffgray-Dateien sind LZW-komprimiert. Der -spezifische Dateiname wird die CMYK-Datei sein. Namen von Separations-Tiffgray-Dateien für CMYK-Farbmittel haben an diesen Namen '.Cyan.tif', '.Magenta.tif' '.Yellow.tif' und '.Black.tif' angehängt. tiffsep erkennt auch Sonderfarben automatisch und erzeugt zusätzliche Tiffgray-Separationen für sie; die Namen dieser haben eine Nummer angehängt. (Sie können die Namen auch vorbestimmen, indem Sie -sSeparationColorNames auf der Kommandozeile übergeben - aber Sie sollten die Details in der Ghostscript-Dokumentation lesen, Datei Devices.htm).

Wenn Sie das tiffsep1 Ausgabegerät verwenden, wird das Ergebnis ähnlich sein - der Unterschied ist, dass Sie nur die grauen Trennungen erhalten werden (kein 32-Bit-Composite-CMYK), aber diese werden TIFF G4-Dateien sein (G4 Komprimierungsschema).

Sie können das Komprimierungsschema ändern, indem Sie -sCompression=lzw (oder einen der none | crle | g3 | g4 | pack) hinzufügen. Beachten Sie, dass die Verwendung von =none für die Komprimierung Dateien mit gleichen Größen für jeden Trennfarbstoff erstellt.

3

OK, es gibt jetzt eine neue Option (seit ein paar Tagen) mit Ghostscript für alle, die bereit sind, es von der Quelle zu kompilieren. Es ist immer noch "blutig" und nicht für den produktiven Einsatz empfohlen. Der Rest von euch muss auf die nächste offizielle Veröffentlichung warten.

Die neue Option kommt in Form eines neuen 'Geräts' inkcov. Dies funktioniert ähnlich wie das "bbox" -Gerät, das die BoundingBox-Werte für jede Seite ausspuckt: das 'inkcov'-Gerät spuckt die C-, M-, Y- und K-Werte der Farbdeckung für jede Seite aus (ein Wert von 1 entspricht 100) %). Beachten Sie, dass die Gesamtsumme der Tinte höher als 100% sein kann (wie: Mischen von 100% Yellow mit 100% Magenta ergibt den optischen Eindruck von 100% 'Red').

Versuchen Sie diesen Befehl mit einem Ghostcript von current Git source zusammengestellt:

gs -o - -sDEVICE=inkcov /path/to/your.pdf 

Dies wird eine Ausgabe ähnlich dieses ausspucken ein:

Page 1 
0.20898 0.20905 0.41320 0.55001 CMYK OK 
Page 2 
0.33561 0.02026 0.21677 0.16750 CMYK OK 
Page 3 
0.00000 0.00000 0.00000 1.00000 CMYK OK 
[....] 

Dieses kleine Programm wird von Sebastian Kapfer aus dem geschaffen Universität Erlangen und trug zum Ghostscript-Quellcode bei. (Natürlich wartet es immer noch auf einige schwere Tests und Verifizierungen, vergleicht seine Ergebnisse mit anderen ähnlichen Tools.)

+1

Ist es möglich, auch CMYK und Spot/Sonderfarben auszugeben oder dies auf CMYK beschränkt? –