- - PR -
VB.NETでPDFを表示
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-11-27 14:12
環境:VS2005 Standard
お世話になっております。 現在DBで登録されているPDFのLOBデータを VB.NETで作ったもので表示する仕組みを考えております。 そこで、 ImageBoxやPictureBoxにLOBデータを流し込もうかと考えていたのですが、 PDFが対応していないことに気が付きました。 (Webのときは簡単にできたもので。。。) VB.NETでPDFデータを表示する なにかよい方法をご教授願えませんでしょうか? | ||||||||
|
投稿日時: 2006-11-27 15:18
前後の文章から察するに、"Windows アプリケーションで" ですよね。
次のような方法で可能ではないでしょうか?
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-11-27 15:20
やったことはありませんが、
*.PDF が アクロバットリーダーなどに関連づいているなら 一時ファイル経由で実行してあげてはどうでしょうか? _________________ かるあ のメモ と スニペット | ||||||||
|
投稿日時: 2006-11-27 15:25
WebBrowserコントロールならPDFファイルを表示することが可能です。
(LOBデータを流し込めるかどうかはわかりませんが...) _________________ -------------------------------------------- HIRO's.NET VB.NETとC#のTipsを掲載しています [ メッセージ編集済み 編集者: HIRO 編集日時 2006-11-27 15:28 ] | ||||||||
|
投稿日時: 2006-11-27 16:22
>HIROさま・かるあさま
WebBrowserコントロールならPDFファイルを表示することはできそうですが、 Lobファイルが流し込めなさそうです。 一時ファイルを作ると出来そうですが、 できればファイルを作る方法は避けたいと考えております。 >じゃんぬねっとさま 仰られた方法ですが、 Image.FromStream メソッドから Image のインスタンスを生成 する段階でファイルとして認識されないようでPDFファイルに変換できませんでした。 | ||||||||
|
投稿日時: 2006-11-27 16:59
まず、PDF を自分で解析してレンダリングするんでも無い限り、PDF の表示には Acrobat Reader (に含まれている ActiveX コントロール)が必要です。 おそらく、Web ベースで開発した際も「Acrobat Reader がインストール済みであること」みたいな制限事項を設定しましたよね? 次に、Acrobat Rader の ActiveX コントロールにオンメモリでデータを引き渡す方法ですが、正当な方法は2つ考えられます。 ・アプリケーションレベルで簡単な Web サーバ機能を実装し、その Web サーバ経由で PDF データを引き渡す。 ・カスタムの Moniker(OLE/COM で定義されます)を実装して、Moniker 経由で PDF データを引き渡す。 前者は、BCL を使えば現実的なボリュームで実装できると思いますが、ポートを占有してしまうのが個人的には気に喰わないです。 後者は、真正面から問題を解決する手法ですが、BCL の COM サポートの限度を遥かに超えているので、かなり工数がかかると思います。 [ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2006-11-27 17:01 ] | ||||||||
|
投稿日時: 2006-11-27 17:58
"PDF ファイルに変換" は関係ないと思いますが、バイナリ (いわゆる BLOB) でなければ無理でしょうね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-11-27 19:16
バイナリであっても無理です。 Image.FromFile() が受け付けるのは BMP, GIF, JPEG, TIFF といったところで、PDF までは読み込んでくれません。 |