注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

MicroDraw CAD/CAM中间件

产品主页 http://www.microdraw.com

 
 
 

日志

 
 

转载 AI文件格式解析  

2016-06-21 10:37:30|  分类: 业界资讯收集 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
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 点击打开链接

 


  评论这张
 
阅读(137)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018