2008-09-10 38 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; 
}