FlashでAIRを作っていてPDF表示させたいと思って

var htmlControl:HTMLLoader = new HTMLLoader();
htmlControl.width = 950;
htmlControl.height = 700;

var url:URLRequest = new URLRequest("test.pdf");
htmlControl.load(url);
addChild(htmlControl);


これでいけるはずだ!ってやってみたが表示されないガーン
ここで負けるのは嫌だったので調べた。
無事解決できたので忘れないうちにメモひらめき電球

AIR 内の PDF コンテンツに関する既知の制限
サイトから引用です。
Adobe AIR 内の PDF コンテンツには、次のような制限があります。
  • PDF コンテンツは、透明な(transparent プロパティが true に設定されている)ウィンドウ(NativeWindow オブジェクト)には表示されません。
  • PDF ファイルの表示順序は、AIR アプリケーションの他の表示オブジェクトの表示順序とは動作が異なります。PDF コンテンツは、HTML の表示順序に従って適切に配置されますが、AIR アプリケーションの表示順序では常にコンテンツの最上部に配置されます。
  • PDF コンテンツは、フルスクリーンモードの(Stage の displayState プロパティが air.StageDisplayState.FULL_SCREEN または air.StageDisplayState.FULL_SCREEN_INTERACTIVE に設定されている)ウィンドウには表示されません。
  • PDF ファイルを含む HTMLLoader オブジェクトの表示プロパティは変更できません。HTMLLoader オブジェクトの filters、alpha、rotation または scaling プロパティを変更すると、それらのプロパティをリセットするまで、不可視の PDF ファイルがレンダリングされます。HTMLLoader オブジェクトを含む表示オブジェクトコンテナで同じプロパティを変更した場合も同様です。
  • PDF コンテンツを含む NativeWindow オブジェクトの Stage オブジェクトの scaleMode プロパティは、StageScaleMode.NO_SCALE に設定する必要があります。
  • PDF ファイル内のコンテンツへのリンクをクリックすると、PDF コンテンツのスクロール位置が更新されます。PDF ファイルの外部にあるコンテンツへのリンクをクリックすると、(リンクのターゲットが新規ウィンドウである場合でも)PDF ファイルを含む HTMLLoader オブジェクトがリダイレクトされます。
  • PDF コメントワークフローは、AIR 1.0 では機能しません。
ウィンドウを透明にしていたから表示されなかったみたいですあせる

関連メモひらめき電球 PDFが表示できるかチェックする方法
pdfCapability プロパティで確認できる。
PDFを表示する前に最初にチェックしたほうが安全。

インストールされている Adobe Reader のバージョンを調べる
PDFファイルを読み込む事が可能
HTMLPDFCapability.STATUS_OK
数値:0

Adobe Readerが検出できない
HTMLPDFCapability.ERROR_INSTALLED_READER_NOT_FOUND
数値:3201

Adobe Readerのバージョンが古い
HTMLPDFCapability.ERROR_INSTALLED_READER_TOO_OLD
数値:3202

Adobe Readerのバージョンは対応しているがPDFのコンテンツを扱うように設定されている Adobe Reader のバージョンが古い
HTMLPDFCapability.ERROR_PREFERED_READER_TOO_OLD
数値:3203



webサイトを作っていてHtmlのformで資料請求とか
メールフォームを作るときに都道府県を入れたいときに
頑張って書くんですけど、あれって以外に面倒なんですよね。

結構使うので毎回やってると効率悪すぎDASH!

ってことでPHPでアッというまに都道府県のプルダウンが
表示できますひらめき電球

使い方は簡単です。
echo kenPulldown("県");

これで、自動でプルダウンが作れますビックリマーク

/**
* 都道府県表示
* $name formの名前 $ken 県名:入れるとセレクトされる
* $size 何個表示するか 1だと一個表示 $mode 都道府県を表示するか
*/
function kenPulldown($name, $ken="", $size=1, $mode=0) {
$pull = '<select id="' . $name . '" name="' . $name . '" size="' . $size . '">';

if ($mode == 0) {
if ($ken == "") {
$pull .= '<option value="" selected>都道府県</option>';
}
else {
$pull .= '<option value="">都道府県</option>';
}
}

for ($i = 1; $i < 48; $i++) {
if (kenName($i) == $ken) {
$pull .= '<option value="' . kenName($i) . '" selected>' . kenName($i) . '</option>';
}
else {
$pull .= '<option value="' . kenName($i). '">' . kenName($i) . '</option>';
}
}

$pull .= "";

return $pull;
}

/**
* 県名
*/
function kenName($ken) {
switch ($ken) {
case 0:
$name = '都道府県';
break;
case 1:
$name = '北海道';
break;
case 2:
$name = '青森県';
break;
case 3:
$name = '岩手県';
break;
case 4:
$name = '宮城県';
break;
case 5:
$name = '秋田県';
break;
case 6:
$name = '山形県';
break;
case 7:
$name = '福島県';
break;
case 8:
$name = '茨城県';
break;
case 9:
$name = '栃木県';
break;
case 10:
$name = '群馬県';
break;
case 11:
$name = '埼玉県';
break;
case 12:
$name = '千葉県';
break;
case 13:
$name = '東京都';
break;
case 14:
$name = '神奈川県';
break;
case 15:
$name = '新潟県';
break;
case 16:
$name = '富山県';
break;
case 17:
$name = '石川県';
break;
case 18:
$name = '福井県';
break;
case 19:
$name = '山梨県';
break;
case 20:
$name = '長野県';
break;
case 21:
$name = '岐阜県';
break;
case 22:
$name = '静岡県';
break;
case 23:
$name = '愛知県';
break;
case 24:
$name = '三重県';
break;
case 25:
$name = '滋賀県';
break;
case 26:
$name = '京都府';
break;
case 27:
$name = '大阪府';
break;
case 28:
$name = '兵庫県';
break;
case 29:
$name = '奈良県';
break;
case 30:
$name = '和歌山県';
break;
case 31:
$name = '鳥取県';
break;
case 32:
$name = '島根県';
break;
case 33:
$name = '岡山県';
break;
case 34:
$name = '広島県';
break;
case 35:
$name = '山口県';
break;
case 36:
$name = '徳島県';
break;
case 37:
$name = '香川県';
break;
case 38:
$name = '愛媛県';
break;
case 39:
$name = '高知県';
break;
case 40:
$name = '福岡県';
break;
case 41:
$name = '佐賀県';
break;
case 42:
$name = '長崎県';
break;
case 43:
$name = '熊本県';
break;
case 44:
$name = '大分県';
break;
case 45:
$name = '宮崎県';
break;
case 46:
$name = '鹿児島県';
break;
case 47:
$name = '沖縄県';
break;
default:
$name = '';
break;
}

return $name;
}
Flashのactionscript3でボタンをロールオーバーさせるときに
使える関数にしてみました。
よく使うのでコピペできるようにメモひらめき電球
仕組みは1フレームに通常時の表示をさせて
オーバーで2フレームに飛ばしてオーバー時
の表示をさせてるだけです。

使い方はボタンMCにイベントを設定するだけです。
MCの1フレームにはstop();を書かないとダメです。

MC.addEventListener(MouseEvent.ROLL_OVER, bottomRollOver);
MC.addEventListener(MouseEvent.ROLL_OUT, bottomRollOut);

//ボタンロールオーバー goto版
function bottomRollOver(e:MouseEvent):void {
e.target.gotoAndStop(2);
}

//ボタンロールアウト
function bottomRollOut(e:MouseEvent):void {
e.target.gotoAndStop(1);
}