AI文件格式解析


一、AI文件結構說明

 

AI文件整體結構類似於PDF結構,主要由開頭描述部分、間接對象、交叉索引表、文件尾部組成,主要結構如下圖1所示,其中交叉索引表保存了所有obj在文件中的偏移地址,所有數據信息都保存在obj中,每個obj對象都類似於下面結構:

1 0 obj   數據   endobj ,交叉索引表以單行字符串Startxref開始。

 

Comments

Objm

Objn

……

xref

Trailer(rootIndex)

startxref

%%EOF

 

圖 1

 

注:

 

1.  Startxref包含間接對象交叉索引表文件偏移地址

 

2.  Xref按行列出了所有間接對象的文件偏移地址

 

3.  Trailer(rootIndex),給出文件信息,包括root根目錄對象索引,Infor目錄對象索引,間接對象總個數

 

4.  Comments文檔開始  %PDF-1.5

 

5.  中間Obj部分為間接對象,對象順序是交叉的

 

 

 

二、 AI文件內容格式說明:

 

 

 

ID line

Comments

Prolog

Scripts Setup

Objects

Layer1

Layer2

…….

Page Trailer

%%EOF

 

注:以上數據按照先后順序分塊存儲在文件AIPrivateData對應的Obj中,其中Obj數據長度最大為65536字節,數據可以分為:壓縮(文本文件)、非壓縮。

 

同時AI的圖層信息、路徑數據、圖像數據都存在上面的Objects部分,那么要解析AI文件,就必須首先找到圖層數據的開始,即找到%%EndSetup這一行(未壓縮的文件來說,壓縮的文件首先得解壓縮),之后可以按行讀取、解析具體路徑數據,直到數據區結束、PageTrailer的開始,具體查找過程如下:

 

 

 

三、 AI文件解析過程

 

 

 

 

 

 

注:

 

1.  上面藍色部分顯示了對象目錄的檢索過程。其中AI的文件內容保存在AIPrivateData所對應的Obj中。

 

2.  紅色部分在AI圖形解析過程中並不需要。

 

3.  Private對象中保存了所有AIPrivateData對象的索引信息,可以按照AIPrivateData的序號進行查找,從而找到圖層數據區,並解析路徑信息。

 

具體的文件路徑描述符L、m、c、v、y說明可以參考點擊打開鏈接

 

 

 

PS:上面只是對於AI文件格式以及解析過程的大概說明,如果對於上面的AI文件解析過程不太理解,可以找個AI文件以文本方式打開(寫字板),對照着上面的流程對具體的細節部分進行理解。

 

 參考文章:http://www.fileformat.info/format/ai/egff.htm     點擊打開鏈接

 

官方98版說明文檔:http://partners.adobe.com/public/developer/en/illustrator/sdk/AI7FileFormat.pdf 點擊打開鏈接

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM