从linux命令行查找PDF中的颜色空间

从linux命令行查找PDF中的颜色空间,linux,image,pdf,Linux,Image,Pdf,我需要检查给定的PDF文件是否完全在CMYK颜色空间中。您可能知道,打印时需要它 目前,它是使用Adobe的GUI应用程序完成的,但这需要很多时间,我们需要使用linux脚本将其自动化 我已经测试了很多库,但是每个库都给出了无效的结果,或者不支持更新的PDF规范 我在ghostscript 从pdf导出图像还不够好,因为还有路径和其他媒体,也需要验证 identify-verbose给出无效结果(颜色空间不好,但DPI也不好) 据我所知,PDF文档中的元素可以有不同的颜色空间,我想检查是否每

我需要检查给定的PDF文件是否完全在CMYK颜色空间中。您可能知道,打印时需要它

目前,它是使用Adobe的GUI应用程序完成的,但这需要很多时间,我们需要使用linux脚本将其自动化

我已经测试了很多库,但是每个库都给出了无效的结果,或者不支持更新的PDF规范

  • 我在
    ghostscript
  • 从pdf导出图像还不够好,因为还有路径和其他媒体,也需要验证
  • identify-verbose
    给出无效结果(颜色空间不好,但DPI也不好)

据我所知,PDF文档中的元素可以有不同的颜色空间,我想检查是否每个元素都在CMYK中。

从编码角度看,您需要访问一个工具,该工具将呈现PDF文档中的每个页面,但它需要在每个PDF绘图命令上调用瓶颈,而不是实际绘制东西

从那里,您需要截取所有颜色操作符、所有gstate操作符、所有图像操作符,并在所有表单XObject上递归,并标记所有非CMYK的内容。请注意,某些颜色空间会比较复杂,例如,您可以在引擎盖下使用CMYK ICC颜色空间的调色板颜色空间。您还可能遇到这样的情况:应用程序将颜色设置为RGB颜色,从不标记页面,然后在标记之前切换到CMYK。

您可以通过以下方式执行此操作:

对于包含CMYK图像的文件,输出类似于:

page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    5197  6732  cmyk    4   8  jpeg   no         5  0   600   601 32.3M  24%
   1     1 mask     5197  6732  -       1   1  jpeg   no         5  0   600   601 32.3M 775%
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    5197  6732  icc     3   8  jpeg   no         8  0   600   601 7080K 6.9%
   1     1 mask     5197  6732  -       1   1  jpeg   no         8  0   600   601 7080K 166%
如果所有图像都使用ICC配置文件,则输出类似于:

page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    5197  6732  cmyk    4   8  jpeg   no         5  0   600   601 32.3M  24%
   1     1 mask     5197  6732  -       1   1  jpeg   no         5  0   600   601 32.3M 775%
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    5197  6732  icc     3   8  jpeg   no         8  0   600   601 7080K 6.9%
   1     1 mask     5197  6732  -       1   1  jpeg   no         8  0   600   601 7080K 166%

此解决方案似乎只显示有关文档中包含的光栅图形的信息,而原始问题不包含此类约束。通常,PDF文档包括由某些原始格式生成的矢量图形或文本,如矢量绘图工具或文本处理工具。