トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     AIRでPDFを読み込み、そこから取り出したデータでギャラリーを作りたいと思っています。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
takuhi
Åê¹ÆNo.47826
投稿日時: 2011-7-31 11:26
新米
居住地:
投稿: 2
使用環境:
WinXP,FlashCS5
AIRでPDFを読み込み、そこから取り出したデータでギャラリーを作りたいと思っています。
質問させていただきます。

FLashCS5にてAIRでphotoギャラリーを作りたいと思っています。
jpegやpngのようにPDFを素材として、表示させたいのですが、
PDFを表示の方法などをnetで調べ、以下のスクリプトで試したものの、
HTMLLoaderを使ってのAdobe Readerの様なUIでの表示しかできず困っています。
自作したビューアにイメージだけを取り出し、使用したいのです。

当サイトで過去スレッドの【EPSの画像のあつかい】の解答にあったように、
一旦URLLoaderで読み込んで、バイナリデータをビットマップ画像として展開・表示する。方法なら可能なのでしょうか?

不確かな情報なのですが、PDFを画像(JPEG?)何かにして、使うライブラリみたいなものがあるとお聞きしたのですが、いくら探しても見つかれません。もしご存知な方がいらっしゃいましたら、ご口授いただきたいと思います。

ご口授よろしくお願いします。


ーーーー参照スクリプトーーーーーーーーーーーーーーーーーーーーーーー
package {
import flash.display.*;
import flash.events.*;
import flash.html.*;
import flash.net.*;
import flash.text.*;

//PDFの表示
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;
}
}
}

ーーーーーーーーーーーーーーーーーーーーーーーーーーー


ひろゆき
Åê¹ÆNo.47827
投稿日時: 2011-7-31 13:59
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: AIRでPDFを読み込み、そこから取り出したデータでギャラリーを作りたいと思っています。
PDFを表示するならまだしも、PDFから画像のみを抜き出してそれを表示するというのは、
あなたご自身にどの程度の実力がおありかわかりませんが、
おそらく相当敷居が高いのではないでしょうか?

FlashでPDFを「作成」するライブラリとしては、
「AlivePDF」や「purePDF」などがあるようですが、
これによって、PDFを読み込み、なおかつ、PDFから画像のみを抜き出すことが
可能かどうかは、わかりません。

ActionScript 3.0で日本語対応のPDFが作成できる「purePDF」のサンプル | ClockMaker Blog

少なくとも、それほどメジャーな仕様ではないと思うので、
ご自分でもっと下調べすることが必要なのではないでしょうか?

Adobe AIRでPDF表示されない時の7つのチェックポイント|本を買わずに解決するWeb制作の小技



なお、スクリプトは、見やすいように、[code][/code]で囲んで、掲載しましょう。


----------------
質問する際は、回答者に具体的な情報を与えてください。

takuhi
Åê¹ÆNo.47829
投稿日時: 2011-7-31 20:43
新米
居住地:
投稿: 2
使用環境:
WinXP,FlashCS5
Re: AIRでPDFを読み込み、そこから取り出したデータでギャラリーを作りたいと思っています。
ひろゆき様

ご返答ありがとうございます。
教えていただいたURLを参考にもっと情報を集めてみたいと思います。

http://code.google.com/p/as3corelib/
とりあえず上記の【JPGEncoder 】なるライブラリをつかって見ようと思います。
『何らかのデータ』に
公式のリファレンスのBitmapdataの項目に書いてあった
『BitmapData クラスを使用すると、Bitmap オブジェクトのデータ (ピクセル) を処理できます。BitmapData クラスのメソッドを使用して、任意のサイズの透明または不透明のビットマップイメージを作成し、実行時に様々な方法で操作できます。さらに、flash.display.Loader クラスを使ってロードされるビットマップイメージの BitmapData にアクセスすることもできます。』のBitmapDataを渡してみたいと思います。

参考スクリプト

JPGEncoder:

//ライブラリのインポート
import com.adobe.images.JPGEncoder;

private var jpgEncoder:JPGEncoder = new JPGEncoder();
private var byteArray:ByteArray = new ByteArray();

//100 , 100 は幅、高さです。
private var bitmapData:BitmapData = new BitmapData( 100, 100);

//bitmapDataに実際のデータを書き込みます。
bitmapData.draw(『何らかのデータ』);

//bitmapDataのデータをjpgに変換しbyteArrayに格納します。
byteArray = jpgEncoder.encode(bitmapData);
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops