package {
import flash.display.*;
import flash.events.*;
import flash.html.*;
import flash.net.*;
import flash.text.*;
//PDFの表示
[SWF(width=480, height=480, backgroundColor=0xFFFFFF)]
public class PDFEx extends Sprite {
private var htmlControl:HTMLLoader;//HTMLコントロール
//コンストラクタ
public function PDFEx() {
//PDFの利用可能
if (HTMLLoader.pdfCapability ==
HTMLPDFCapability.STATUS_OK) {
//HTMLコントロールの生成
htmlControl = new HTMLLoader();
htmlControl.width = stage.stageWidth;
htmlControl.height = stage.stageHeight;
addChild(htmlControl);
//アプリと同じフォルダにあるPDFの読み込み
var request:URLRequest = new URLRequest(
"app:/sample.pdf");
htmlControl.load(request);
//ウィンドウサイズ調整
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.nativeWindow.addEventListener(
NativeWindowBoundsEvent.RESIZE, onResizeWindow);
}
//PDF利用不可
else {
addChild(makeLabel(
"PDFを表示するにはAcrobat Reader 8.1以降を" +
"パソコンにインストールしておく必要があります。"));
}
}
//ウィンドウリサイズイベントの処理
private function onResizeWindow(evt:NativeWindowBoundsEvent):void {
htmlControl.width = stage.stageWidth;
htmlControl.height = stage.stageHeight;
}
//ラベルの生成
private function makeLabel(text:String):TextField {
var label:TextField = new TextField();
label.text = text;
label.autoSize = TextFieldAutoSize.LEFT;
label.selectable = false;
return label;
}
}
}
|