0

是否可以在不使用 CMYKColorSep 类的情况下使用 CMYK 叠印,该类总是在打印机设置中生成新的单独颜色,我只想使用标准 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的任何其他服务器端替代方案,其中叠印有效?

非常感谢你

4

2 回答 2

3

您只能将叠印与 CMYKColorSep 一起使用。它目前在 2.4 中可用,但不稳定(Robin 仍在弄乱代码:))。

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

梅瑟姆

于 2010-08-10T10:32:50.717 回答
0

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

于 2010-07-22T09:34:34.120 回答