tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルFormにPDFファイルを表示し操作したい
記事No12390
投稿日: 2008/05/27(Tue) 13:47
投稿者てぷ子
お世話になります。
VB6.0、Adobe Reader 8、Adobe Acrobat 8 Professionalを
使用して下記のことを行いたいのですが、うまくいきません。
ご存知の方がいましたら、教えていただけないでしょうか。

■やりたいこと
・pdfファイルをFormの中に表示し、
 表示されたファイルの「拡大」「縮小」
 「90度回転」をボタンから行いたい

■これまでの調査経緯
Adobe Acrobat 7.0 Browser Control Type Libraty 1.0を
コンポーネントに追加し、
AcroPDFをFormに貼り付け、
ソース上に
AcroPDF.LoadFile ("C:\test.pdf")
と記述すると、
フォーム内にpdfファイルを表示することが出来ました。

また「拡大」「縮小」は
AcroPDF.setZoom (150)
のように、setZoomメソッドで設定出来ました。
しかし、「90度回転」させるためのメソッドが見つからず、
もしかしてAcroPDFでは回転をソース上から指示することが
出来ないのかなと思っています。
(勘違いだったらスミマセン;)

なのでAcroPDFの使用をあきらめ、
Acrobat SDKを使用して取り組んでみました。
AcroExch.PDPage の SetRotateメソッドを使用すれば、
回転の命令が出せることが分かっており、
Formの中ではなく別ウィンドウとしてAcrobatアプリケーションを起動し、
その表示を回転させることは出来ました。
ただ、「Formの中にpdfを表示する」ことが出来ません。

AcroExch.AVDoc の OpenInWindowExメソッドを使用したら
Formの中に表示することが出来るのではないかと思っているのですが、
コンパイル・実行は出来ても実際期待通りに動いてはくれず、
pdfファイルが表示されません。
方法としては、Formの中にPictureBoxを配置し、それに
pdfファイルを表示させようとしています(下記ソース参照)
---------------------------------------------------------------
Dim avDoc As CAcroAVDoc
Dim rtn As Boolean

Set avDoc = CreateObject("AcroExch.AVDoc")
rtn = avDoc.OpenInWindowEx( _
    "C:\test.pdf", _       '←表示させたいpdfファイルのアドレス
    Form.PictureBox.hWnd, _    '←表示させるFormの中のPictureBoxのウィンドウハンドル)
    AV_DOC_VIEW, _
    True, 0, PDUseNone, AVZoomFitPage, 0, 0, 0)
---------------------------------------------------------------
もしかして、PictureBoxにpdfファイルを表示させようというのが
そもそも間違いなのでしょうか…?
(rtnにはFalseが返ってきます)

上記のように
「AcroPDFを使用した方法」、
「Acrobat SDKを使用した方法」または
まったく別の方法でも、
私が叶えない動きをさせることは可能でしょうか。
もし可能でしたは、その方法を教えていただけないでしょうか。

VB初心者なので、説明も的を得ていない部分などあるかと思いますが、
よろしくお願いします。

[ツリー表示へ]