Flash/Flex 开发中的AS3 PDF库alivepdf

http://www.alivepdf.org/ (国内可能需要代理访问)是一个在Flash/Flex中使用Actionscript3生成PDF的工具库。其代码放在google code上面:http://code.google.com/p/alivepdf/
LivePDF 可以轻松的生成打印用的报表PDF. 

由于Actionscript3本身对打印的支持不是非常到位,导致我们一般情况下,在Flash中,如果需要打印,不仅操作打印的步骤比较繁琐,而且,打印出来的内容由于都转换成了位图,也会导致打印过程中产生一些失真的情况。

而如果使用alivepdf库,则可以将文字,图片甚至矢量图绘制到PDF文档中去。使用alivepdf生成的pdf文档,文字不会被转换为图片,图像也不会由于失真而看上去比较乱。

另外,alivepdf的使用非常简单易懂.

他有两种PDF生成模式

1,在服务器远程生成

服务器远程生成的机制是为了兼容Flash Player9,因为Flash player9的用户无法直接保存文件到本地,需要服务器生成后下载文件。如果你的目标是Flash Payer10,则不需要远程服务器生成

2,在本地直接生成

 

其代码非常简单易懂,下面简单介绍一下代码

  var myPDF:PDF = new PDF( Orientation.LANDSCAPE, Unit.MM, Size.A4 );  

这行代码创建一个PDF对象,使用A4纸张,单位是毫米,A4纸张横向放置。

如果选择Orientation.PORTRAIT 则是纸张纵向使用

由于在PDF中绘制是矢量,我们需要指明其缩放模式。

 

 myPDF.setDisplayMode ( Display.REAL );  

 这行代码会按照100%的方式把你绘制的内容缩放到纸张上。

 

 myPDF.addPage();

 在PDF中添加一页

 

 myPDF.lineStyle ( new RGBColor ( 0x990000 ) ); myPDF.drawCircle ( 20, 20, 20 );

在PDF中绘制一个圆圈。注意,这里完全在使用Actionscript3的绘图API,意味着你可以直接直接使用一些AS3的绘图类库和工具类

 

   myPDF.setFont(FontFamily.ARIAL, 'B', 12); myPDF.textStyle ( new RGBColor ( 0x000000) ); myPDF.addCell(50,10,'A clikable cell !', 1, 1, null, 0, 'http://www.riameeting.com');

这里,添加了一个字体为ARIAL的文字,并且,这个文字可以点击链接到www.riameeting.com网址。

最后,我们来保存这个PDF 

  myPDF.save( Method.REMOTE, 'http://www.riameeting.com/examples/alivepdf/create.php','generated.pdf');

如果你担心你的发布人群中,大家都在使用Flashplayer9,则可以发布为远程生成模式。alivepdf附带了php的代码以及java的代码还有C#代码的服务端代码。直接上传至服务器即可。

如果你使用AIR,则可以直接在本地保存:

  1. var f:FileStream = new FileStream(); file = File.desktopDirectory.resolvePath('pdf/generate.pdf'); f.open( file, FileMode.WRITE); var bytes:ByteArray = myPDF.save(Method.LOCAL); f.writeBytes(bytes);<br />
  2. f.close()<br />

 到此,这个PDF就生成好了。 下面的Flash是一个例子

 

 

riadevID: 
您给予的分值: None 平均分: 10 ( 7 票)

AlivePDF 0.1.5

AlivePDF 0.1.5 还是bata 的,又美德 swc文件,要弄下来好恼火哦,哪个有没得弄好了的1.5的swc哦

.... 难道你不会自己打

....
难道你不会自己打包成SWC文件?FB4里面有一个FlexFrameworkCmdPrompt.bat,用这个打包AS类成SWC包的,打包的方法,自己上网搜吧~~

我用的版本是 AlivePDF 0.1.4.9 ,应该是最新的了吧

我用的版本是 AlivePDF 0.1.4.9,应该是最新的了吧

alivepdf 中文支持

alivepdf 如何设置,能支持中文啊,现在尽是乱码,我用的打印gird ,列头不支持中文

中文支持

如何设置,能支持中文啊,现在尽是问号

需要使用最新版

需要使用最新版

很好不知道最中文支持吗

很好不知道最中文支持吗

最新的alivepdf中增加了

最新的alivepdf中增加了对unicdoe的支持。
因此,中文支持肯定不是问题。

中文支持有问题啊

1.存在bug
2.按照官网上的修改了代码还是不能中文和英文数字一起显示(eg: 中国111aa)

真的很帮,谢谢!

确实很不错,记得之前有很多蓝色的朋友问过,没想到这个这么快就出来了。

发表新评论

  • 网页地址和电子邮件地址将会被自动转换为链接。
  • 行和段被自动切分。
  • 您可以使用下面的标签来高亮显示您的评论内容: <code>, <blockcode>. 可以使用"[foo]".旁边显示标签样式 "<foo>" PHP代码可以用这样的区块来包含<?php ... ?> or <% ... %>

更多格式化选项信息

验证区域
系统验证:请回答下面的问题