- PR -

adobe AIR でのPDFの印刷について

1
投稿者投稿内容
mo
会議室デビュー日: 2006/06/20
投稿数: 7
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)