我不认为有任何免费或开源的库能够计算pdf文件的CMYK覆盖率。我试着环顾四周,似乎找不到任何东西。如果没有任何人可以指出我正确的方向,我需要做什么才能计算pdf上的CYMK覆盖率。哦,我正在开发的开发环境是.net framework 4.0
干杯
答案 0 :(得分:4)
好的,现在有一个新选项(几天前),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
[....]
这个小实用程序是由埃尔兰根大学的Sebastian Kapfer创建的,并为Ghostscript源代码做出了贡献。 (当然,它仍在等待一些繁重的测试和验证,将其结果与其他类似工具进行比较。)
答案 1 :(得分:2)
您可以使用Ghostscript。使用tiffsep
或tiffsep1
设备以72dpi分辨率运行它。这将为每个CMYK着色剂创建单独的TIFF文件,然后您可以进一步使用它来“计算”每种颜色的覆盖率:
gswin32c.exe ^
-sDEVICE=tiffsep ^
-r72x72 ^
-o "c:/path/to/output/dir/page_%03d.tif" ^
c:/path/to/input.pdf
此设备会创建多个输出文件。它创造了:
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
进行压缩会为每个分离着色剂创建大小相等的文件。