2011-11-23 34 views
2

如果文件中有一些栅格元素,是否有编程方式检查(使用PHP语言)?我会对.pdf,.eps和.ai格式这样做感兴趣。以编程方式检查文件是否是栅格或矢量(pdf,eps,ai)

如果该文件只是矢量,我将它转换为.svg,如果它有一些光栅元素,我必须将其转换为.png文件。

+0

什么语言搜索DeviceRGB? – PeeHaa

+0

PHP,但我也可以使用任何命令行工具!我正在Inkscape中进行所有转换。 (注意Tnx,只是编辑了这个问题) – Vladimir

回答

0

不,没有。

以下是eps的理论计算机科学证明,证明所要求的属性无法计算。

PostScript(ps)和Encapsulated PostScript(eps)都是图灵完整的编程语言。在理论计算机科学中,有证据表明,用图灵语言编写的程序的某些属性不能被计算出来。例如,这样一个属性是否给定的程序终止。所以我们知道存在一个PostScript程序,我们无法分辨它是否终止。如果我们采用该程序,则从中删除所有栅格对象,并且只插入仅在文档上打印的单个栅格对象,当且仅当该程序终止时。我们通过插入这个光栅打印步骤作为可能导致终止的每个程序部分的最后一步(直接在每个退出命令之前(如果存在这样的命令)并且在主结束时)来完成。现在我们有一个PostScript程序,我们无法判断它是否包含打印光栅对象。它确实不能被告知,因为如果我们知道它是否包括打印它,我们也知道它是否终止并且我们已经知道,我们不能计算这个属性。证明完毕

+0

这在某些我不明白的理论方式中可能是正确的,但它让我困扰,它是对一个仍然有效的问题的接受答案。由于EPS可以打开和渲染,当然可以确定它是否包含光栅元素。每当我打开一个EPS文件时,Adobe Illustrator都会执行它,可能与否。 – Culme

2

你可以运行PDF文件这个命令并检查是否有任何光栅存在于文件:

grep -c -i "/image" thisfile.pdf 
+0

'grep -w -c'/ Image'file.pdf',因为PostScript区分大小写。 –

0

可以在EPS/AI文件

相关问题