Fluid idea for Life

随笔,杂记

as3 pdf Reader

as3 pdf Reader,这是我最近在专注开发的一个开源工具库。目前Air支持动态加载pdf,但需要软件支持,使用flash是否可以加载pdf?从理论上说,使用as3解析pdf文件是可行的,不外乎分析二进制流,只不过pdf的结构要复杂一些。我有这个念头已经有一段时间了,打算花几个月的时间,实现一个类似Adobe Reader(当然功能要简单的多)的浏览器。

pdf文件的结构是一个环环相扣的树型结构,对于第一次研究文件结构的我来说,开始真被弄得很昏,好不容易才理清了中间的关系。查找资料的过程中,发现中文的资料比较少。Java、C#等有对应的开源库,看那些源代码真是件头疼的事。目前是照办了PDFBox的代码,从java搬到as,工程量很大,决非简单的重写。

解析pdf和生成pdf这件事逻辑上是可逆的,但实现起来难度却很大,我觉得读比写要困难,AlivePDF的代码对我的帮助有限。PDF文件格式标准到现在已经有多个版本,这无疑增加了解析的难度,其中文本、数据的编码方式也有很多。

不管怎样,作为自己开发的第一个有意义的开源工具库,希望能坚持下去。

开发进度: 目前已经完成了文件的二进制流解析部分,中间的过程不可谓不艰辛,但接下来的才是关键,也就是解析页面信息,分离出文字。再接下来,向更高难度挑战,包括解析图片、字体等等,道路还很曲折。

这是第一个Demo,读取了文件的基本信息:

[kml_flashembed movie="http://www.fluidea.cn/lab/pdfReader/Demo_Text.swf" height="380" width="480" /]

ps:pdf中,对文本一般采用flate编码方式压缩,刚好as3支持,省了一大笔事!!ByteArray的compress和uncompress默认使用的是zlib压缩方式,这个功能原来这么有用!最后,来一段压缩过的新年祝福: 78 DA 7B 36 6D C3 D3 9D 5B 9E EE 5F FD 64 E7 04 45 00 44 76 09 1C

var s:String = "78 DA 7B 36 6D C3 D3 9D 5B 9E EE 5F FD 64 E7 04 45 00 44 76 09 1C";
var stream:ByteArray= new ByteArray();
var arr:Array = s.split(" ");
for (var i:int = 0; i < arr.length; i++)
{
	stream.writeByte ( parseInt(arr[i], 16) );
}			
stream.uncompress();
trace(stream);

由于flash player的安全限制,可以将swf文件下载到本地运行。

Tags: as3 pdfReader

上一篇: 25行as代码能做出什么?
下一篇: AS pdfBox 0.1

访客评论

  1. #21 walktree 2009-02-05, 12:43 AM
    AlivePDF已经提到了,是用来创建pdf文件
  2. #22 ibio 2009-02-04, 4:06 AM
    我也找了个PDF的,你看看能用么?
    http://code.google.com/p/alivepdf/downloads/list
  3. #23 walktree 2009-01-14, 12:46 AM
    showping,你好,我已给你发邮件。
  4. #24 showping 2009-01-12, 10:17 AM
    对不起,我的QQ写错了,我的QQ是:228171441
  5. #25 showping 2009-01-12, 10:13 AM
    walktree
    你好!
    我对JAVA开源类库PDFBOX,Itex研究了两个个星期
    写AS3也有三年的经验
    不知道够不够条件和你一起开发这个项目

    我的QQ:228271441
    email:showping@yeah.net
  6. #26 walktree 2009-01-11, 7:34 AM
    目前正在开发中,也欢迎熟悉pdfBox同时又熟悉as的朋友联系我,一起合作开发这个项目。
  7. #27 showping 2009-01-11, 2:39 AM
    你好,看到你的这个项目,我很高兴,也很有兴趣

    请问是开源的吗?
    在哪可以下载到你的代码?

    在http://code.google.com/p/as3-pdfreader/downloads/list这里并没有找到可以下载的东西

    给我一份好吗?
    showping@yeah.net
    非常感谢
  8. #28 Y.Boy 2009-01-01, 11:28 AM
    看AlivePDF的代码,我也晕死了。。。
    再看你的,更晕了。。。
    以后再研究,再研究。。。
Total: 28Page 3 of 3‹ Prev123

发表评论

评论内容:

点击获得Trackback地址