2010-06-22 242 views
5

我不假设有任何可以计算PDF文件上的CMYK覆盖率的免费或开源库。我试着环顾四周,我似乎无法找到任何东西。如果没有任何人出现,如果有人能指出我正确的方向,那么我需要做什么才能计算CYMK的pdf覆盖率。哦,还开发环境我会在合作是.NET框架4.0计算PDF上的CMYK覆盖率

干杯

+0

我认为可以使用Adobe SDK完成,唉,我不知道更多。你最终弄清楚了吗? – 2011-03-20 18:40:39

回答

2

您可以使用Ghostscript。以分辨率为72dpi的tiffseptiffsep1设备运行。这将为每个CMYK着色剂,然后可以进一步使用“计数”的覆盖范围为每种颜色独立的TIFF文件:

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

该装置产生多个输出文件。它创建:

  1. 一个32位的复合CMYK文件(tiff32nc格式,它是32位CMYK [8位/组分]),外加
  2. 多个tiffgray文件 - 一个tiffgray(其是8位灰度,LZW压缩)为每种颜色分离。

tiffgray文件是LZW压缩的。 -sOutputFile=...指定的文件名将是CMYK文件。用于CMYK着色剂的分离'tiffgray'文件的名称将在该名称后附加'.Cyan.tif','.Magenta.tif''.Yellow.tif'和'.Black.tif'。 tiffsep还自动识别专色并为它们创建更多tiffgray分色;这些名称附有一个数字。 (您也可以通过在命令行上传递-sSeparationColorNames来预先确定名称 - 但是您最好在Ghostscript的文档Devices.htm中查看详细信息)。

如果使用tiffsep1输出设备,其结果将是类似的 - 不同的是,你会得到灰分离(无32位复合CMYK),但这些将是TIFF G4文件(G4压缩方案)。

您可以通过添加-sCompression=lzw(或none | crle | g3 | g4 | pack之一)来更改压缩方案。请注意,使用=none进行压缩将为每个分色着色器创建相同大小的文件。

3

好的,现在有一个新的选项(自从几天前)与Ghostscript为所有愿意从源头编译它的人。它仍然是“流血的边缘”,不建议用于生产性用途。其他人将不得不等待下一次正式发布。

新选项采用名为inkcov的新“设备”形状。这与'bbox'设备类似,它为每个页面吐出BoundingBox值:'inkcov'设备吐出用于每页的油墨覆盖率的C,M,Y和K值(值为1对应于100 %)。请注意墨水的总和可能高于100%(例如:将100%的黄色与100%的洋红色混合在一起给出100%'红色'的光学印象)。

试试这个命令与current Git source编制了Ghostcript:

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

这将吐出类似于输出这一项:

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 
[....] 

这个小工具已经从创建塞巴斯蒂安Kapfer埃尔兰根大学并贡献了Ghostscript源代码。 (当然,它仍在等待一些繁重的测试和验证,将其结果与其他类似的工具进行比较。)

+1

是否也可以输出CMYK和点/特殊颜色,还是仅限于CMYK? – 2012-10-29 15:57:10