2011-11-23 36 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文件

相關問題