使用Reportlab进行CMYK叠印(颜色分离的PDF输出)

时间:2010-06-29 11:35:26

标签: python pdf pdf-generation reportlab cmyk

是否可以在不使用CMYKColorSep类的情况下使用CMYK叠印,CMYKColorSep类始终在打印机设置中生成新的单独颜色,我只想使用标准4 CMYK墨水套印(颜色分离的PDF输出,如2.4更改日志)

这里是我的示例代码(需要reportlab 2.4):

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()

注意:您需要在acrobat reader pro中启用叠印预览才能正确查看。

如果这对reportlab不起作用,您是否知道生成pdf的任何其他服务器端替代方法,其中套印有效?

非常感谢

2 个答案:

答案 0 :(得分:3)

您只能使用CMYKColorSep的叠印。它目前可用2.4但不稳定(Robin仍在使用代码:))。

reportlab网站http://www.reportlab.com/snippets/10/上有一个非公开代码段可以对其进行演示,但因此该功能仍在开发中,但该代码段未列出。

Meitham

答案 1 :(得分:0)

此功能未在Reportlab 2.4中实现。但他们会在下一个主要版本中做到这一点。

相关问题