使用ghostscript检查PDF是否具有透明对象

时间:2014-01-08 21:11:18

标签: pdf transparency ghostscript pdf-parsing

PDF可以在几个部分中定义透明度(参见例如here):

作为图形样式属性:

  • 填充不透明度(/ca)或描边不透明度(/CA)低于1.0
  • 软掩码的定义(\SMask

或透明度页面组的定义(/S /Transparency)。

以下grep表达式是对它的快速(和脏)检查:

grep -aE -e '/[Cc][Aa] +0?\.[0-9]' -e '/SMask' -e '/S /Transparency' *.pdf

是否可以检查是否存在gs的透明对象?

1 个答案:

答案 0 :(得分:5)

我相信pdf_info.ps(gs / toolbin)会告诉你这个。 Ghostscript想提前知道页面是否使用透明度,因为如果它知道没有透明度,它可以对性能和内存进行优化。

请注意,浮动的大量PDF文件声明“虚假”透明度,透明度变为100%不透明: - (