2008-09-10 37 views
6

是否可以在Adobe AIR应用程序中生成PDF文档而无需使用往返Web服务来生成PDF?我查看了GoogleCode上的初始Flex报告,但它需要往返才能生成实际的PDF。在Adobe AIR中打印 - 独立PDF生成

鉴于AIR应该是RIA的桌面端,有没有办法做到这一点?我怀疑我忽略了一些东西,但是我通过文档的搜索没有透露太多,并且考虑到AIR的目标,我无法相信这只是他们没有包含的内容。

回答

7

AlivePDF,这是一个适用于ActionScript的PDF生成库,它应该可以工作,它只是针对您描述的情况而做出的。

0

我工作的其他团队之一正在研究基于Flex的绘图应用程序,他们对AIR/Flex没有内置PDF创作感到惊讶。他们结束了基于PDF规范的自己的简单PDF创建器。

1

只是增加了一个Adobe空气+的JavaScript + AlivePDF演示:

这个演示需要柔性,是非常简单的。

http://www.drybydesign.com/2010/02/26/adobe-air-alivepdf-without-flex/

+0

嗨..我也在寻找PDF选项,我必须生成一个长约15页的pdf,其中我必须在最终的pdf上添加mxml组件的数量,我正在尝试使用活着的pdf为同样的,但我的网页有垂直滚动和隐藏部分被排除在PDF以外,我也没有得到好质量pdf 我试图打开你的演示,但链接不工作,它已经很长一段时间..如果你可以帮助我一点,然后PL。 在此先感谢。 – 2013-09-19 06:49:32

0

是的,它是非常容易使用AlivePDF创建PDF,这里是示例代码,第一种方法创建一个PDF和第二种方法在磁盘上保存的PDF和返回路径,随意问任何问题。

public function createFlexPdf() : String 
{ 
    pdf = new PDF(); 
    pdf.setDisplayMode (Display.FULL_WIDTH,Layout.ONE_COLUMN,Mode.FIT_TO_PAGE,0.96); 
    pdf.setViewerPreferences(ToolBar.SHOW,MenuBar.HIDE,WindowUI.SHOW,FitWindow.RESIZED,CenterWindow.CENTERED); 
    pdf.addPage(); 
    var myFontStyle:IFont = new CoreFont (FontFamily.COURIER); 
    pdf.setFont(myFontStyle,10); 
     pdf.addText('Kamran Aslam',10,20);//String, X-Coord, Y-Coord 
    return savePDF(); 
} 
private function savePDF():String 
{ 
    var fileStream:FileStream = new FileStream(); 
    var file:File = File.createTempDirectory(); 
    file = file.resolvePath("temp.pdf"); 
    fileStream.open(file, FileMode.WRITE); 
    var bytes:ByteArray = pdf.save(Method.LOCAL); 
    fileStream.writeBytes(bytes); 
    fileStream.close(); 
    return file.url; 
}