CMYK Überdrucken (farbgetrennte PDF-Ausgabe) mit Reportlab
-
01-10-2019 - |
Frage
ist es möglich, CMYK zu verwenden Überdrucken, ohne die CMYKColorSep-Klasse, die immer eine neue separate Farbe in den Druckereinstellungen erzeugt, i Überdrucken nur verwenden möchten, mit den Standard-4 CMYK-Tinten (farbgetrennte PDF-Ausgabe, wie angegeben in die 2,4 Changelog)
hier meinen Beispiel-Code (reportlab 2.4 erforderlich):
from reportlab.graphics.shapes import Rect
from reportlab.lib.colors import PCMYKColor, PCMYKColorSep
from reportlab.pdfgen.canvas import Canvas
black = PCMYKColor(0, 0, 0, 100)
blue = PCMYKColor(91.0, 43.0, 0.0, 0.0)
red = PCMYKColorSep( 0.0, 100.0, 91.0, 0.0, spotName='PANTONE 485 CV',density=100)
red2 = PCMYKColor( 0.0, 100.0, 91.0, 0.0, knockout=0) #knockout does nothing?
c = Canvas('test.pdf', (420,200))
c.setFillColor(black)
c.setFont('Helvetica', 10)
c.drawString(25,180, 'overprint w. CMYKColorSep')
c.setFillOverprint(True)
c.setFillColor(blue)
c.rect(25,25,100,100, fill=True, stroke=False)
c.setFillColor(red)
c.rect(100,75,100,100, fill=True, stroke=False)
c.setFillColor(black)
c.drawString(225,180, 'overprint w. plain CMYKColor (does not work)')
c.setFillColor(blue)
c.rect(225,25,100,100, fill=True, stroke=False)
c.setFillColor(red2)
c.rect(300,75,100,100, fill=True, stroke=False)
c.save()
Hinweis: Sie müssen die Überdrucken-Vorschau im Acrobat Reader ermöglichen pro richtig diese Ansicht
., wenn dies nicht funktioniert mit reportlab, wissen Sie, andere serverseitige Alternative pdf zu erzeugen, wobei das Überdrucken funktioniert?
Vielen Dank
Lösung 2
Diese Funktion ist in Reportlab 2.4 nicht implementiert. Aber sie werden es mit ihrer nächsten Major-Release tun.
Andere Tipps
Sie können nur mit CMYKColorSep verwenden Aufdruck. Sein derzeit in 2.4, aber nicht stabil (Robin noch mit dem Code durcheinander :)).
Es ist eine nicht öffentliche Snippet auf der reportlab Website http://www.reportlab.com/ Schnipsel / 10 / dass Demos es aber damit ist die Funktion noch in der Entwicklung der Schnipsel nicht aufgeführt ist.
Meitham