在Adobe AIR中打印 - 独立PDF生成

时间:2008-09-10 03:18:14

标签: flex printing air ria

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

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

4 个答案:

答案 0 :(得分:7)

AlivePDF,它是适用于ActionScript的PDF生成库,应该可以使用,它只是针对您描述的情况而制作的。

答案 1 :(得分:1)

刚刚添加了Adobe Air + Javascript + AlivePDF演示:

此演示需要flex并且非常直接。

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

答案 2 :(得分:0)

我工作的其他团队之一正在开发基于Flex的绘图应用程序,他们完全惊讶AIR / Flex没有内置的PDF创作。他们最终根据PDF规范推出了自己的简单PDF创建者。

答案 3 :(得分: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;
}