- - PR -
adobe AIR でのPDFの印刷について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-10-29 21:41
AIRを用いたPDFの印刷方式について検討しています。(AIRの利用は初めてです)
サーバ上のPDFを取得しローカル側で印刷したいのですが、最終的に実現したいのは、以下です。 ・ブラウザ上での印刷ボタン押下等のみで印刷したい ・1押下につき1回だけ印刷したい ・ローカルにPDFデータを残したくない 現在サンプルコードを書いてみていますが問題があります。 @起動時にPDFを読み込みそのままプリンタに送ってるが、プリンタから出力されない。 一度画面への表示が必要なのかと思い、表示後にボタン押下イベント起因で印刷をしてみましたが Aプリンタから出力されるが、一面グレーとなりPDFのデータが出力されていない。 B仮に上記@Aが解決できたとして、PDFが表示されている以上、印刷ボタンがいくらでも押下できてしまう。 (PDFを表示せず@のみが実現できればよいのですが・・) 原因や解決案などありましたらご指導お願いします。 ---PDFTest.mxml----------------------------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="800" height="800" applicationComplete="initApp()"> <mx:Script> <![CDATA[ import flash.filesystem.File; import flash.html.HTMLPDFCapability; import flash.html.HTMLControl; import flash.net.URLRequest; private var pdfFile:File; private var pdfFilter:FileFilter; private var pdfContainer:HTMLControl; private function initApp():void{ if(HTMLControl.pdfCapability != HTMLPDFCapability.STATUS_OK){ return; } pdfContainer = new HTMLControl(); pdfContainer.width = htmlContainer.width; pdfContainer.height = htmlContainer.height; pdfContainer.load(new URLRequest("http://***/test.pdf")); if(htmlContainer.getChildAt(0) != pdfContainer) htmlContainer.addChildAt(pdfContainer, 0); var pj:PrintJob = new PrintJob(); pj.start(); pj.addPage(pdfContainer); pj.send(); } private function print(event:MouseEvent):void{ var pj:PrintJob = new PrintJob(); pj.start(); pj.addPage(pdfContainer); pj.send(); } ]]> </mx:Script> <mx:Button id="printBtn" x="10" y="0" label="print" width="70" click="print(event)"/> <mx:HTML id="htmlContainer" horizontalCenter="0" width="100%" bottom="0" height="750" /> </mx:WindowedApplication> ---PDFTest-app.xml-------------------------------------------------------------- <?xml version="1.0" encoding="UTF-8" standalone="no"?> <application xmlns="http://ns.adobe.com/air/application/1.0.M5" appId="PDFTest" version="1.0 Beta"> <name>PDFTest</name> <title/> <description/> <copyright/> <initialWindow> <title/> <content>!ApolloApplicationWizardPage.rootContentValue!</content> <systemChrome>standard</systemChrome> <transparent>false</transparent> <visible>true</visible> <resizable>false</resizable> </initialWindow> <fileTypes> </fileTypes> </application> |
1