DOBON.NET DOBON.NETプログラミング掲示板過去ログ

WebBrowserのPDFを拡大縮小

環境/言語:[VB2005SP1 WinXPSP3]
分類:[.NET]

 以前webBrowserの印刷ダイアログでご質問させていただいたのですが
WebBrowserでPDFを開いたときに拡大縮小をVBのボタンなどで任意に
行いたいと思っています。

ShellExecute関数のようにAdobeReaderにアクセスして操作することになるんでしょうか?
それともActiveXInstance.ExecWBを使って行えるのでしょうか?

WebBrowser1.ActiveXInstance.ExecWB(OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER)
でできるかと思ったのですができませんでした。

サンプルなども少なく困っています。

ご教授お願いします。
■No23526に返信(mezashiさんの記事)
> WebBrowserでPDFを開いたときに拡大縮小をVBのボタンなどで任意に
> 行いたいと思っています。

それは、WebBrowser 側の機能では無く、PDF の表示ソフト側の
仕様によりますので、表示ソフト側の資料を当たってください。
http://support.adobe.co.jp/faq/qadoc/spitz.nsf/0/64ac154eb8a76de149256c01000a6140?OpenDocument

# 世の中には、Adobe 社以外の PDF Viewer も存在しますし。
■No23528に返信(魔界の仮面弁士さんの記事)
> それは、WebBrowser 側の機能では無く、PDF の表示ソフト側の
> 仕様によりますので、表示ソフト側の資料を当たってください。

ご回答ありがとうございます。
Adobeについて調べる方向にします。
解決済み!
# 既に解決済みになっているけれども:

■No23531に返信(mezashiさんの記事)
>>それは、WebBrowser 側の機能では無く、PDF の表示ソフト側の
>>仕様によりますので、表示ソフト側の資料を当たってください。
> Adobeについて調べる方向にします。

手元の環境で試してみたところ、setZoom メソッドのようですね。
倍率を % で指定できました。


'[Adobe PDF Reader]コントロールをフォームに追加
'(C:\Program Files\Common Files\Adobe\Acrobat\ActiveX\AcroPDF.dll)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
 Me.AxAcroPDF1.LoadFile("C:\Sample.PDF")
 Me.AxAcroPDF1.setShowToolbar(False)
 Me.AxAcroPDF1.setZoom(150)
End Sub

http://www.adobe.com/devnet/acrobat/pdfs/reader_overview.pdf

[Interapplication Communication]
└[OLE automation]

http://www.adobe.com/devnet/acrobat/
■No23544に返信(魔界の仮面弁士さんの記事)
重ね重ねありがとうございます。

> '[Adobe PDF Reader]コントロールをフォームに追加
> '(C:\Program Files\Common Files\Adobe\Acrobat\ActiveX\AcroPDF.dll)
> Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
>  Me.AxAcroPDF1.LoadFile("C:\Sample.PDF")
>  Me.AxAcroPDF1.setShowToolbar(False)
>  Me.AxAcroPDF1.setZoom(150)
> End Sub
参照設定に追加しました。
コントロールをフォームに追加ということはコンポーネントを追加して
"ツールバー"からコントロールをフォームに置くということですか?
そうなるとWebBrowerじゃないものでPDFを開くということですかね?
ちなみに[Adobe PDF Reader]コントロールというのは参照を追加しても
でてきませんでした。。。

たびたびの質問ですいません。
2008/12/12(Fri) 11:00:58 編集(投稿者)

■No23552に返信(mezashiさんの記事)
> そうなるとWebBrowerじゃないものでPDFを開くということですかね?
WebBrowser でも良いですよ。.ActiveXInstance で得たアンマネージ WebBrowser の
.Document プロパティから、AxAcroPDF インターフェイスを得られますので。

ただ、AcroPDF をわざわざ WebBrowser 経由で利用する必要性を感じなかったので、
私が実験した時は、AcroPDF をフォームに直接配置するようにしていただけです。


> ちなみに[Adobe PDF Reader]コントロールというのは参照を追加しても
> でてきませんでした。。。

参照設定しても、ツールボックスの中身は変わりません。

利用可能なコントロールを増やすには、ツールボックスを右クリックして、
「アイテムの選択」を選ぶ必要があります。
■No23553に返信(魔界の仮面弁士さんの記事)
> 利用可能なコントロールを増やすには、ツールボックスを右クリックして、
> 「アイテムの選択」を選ぶ必要があります。

すいません。こんな初歩的なことまで。。。
正直パニックってました(笑)

アイテム追加でWebBrowserの代わりに使用することでできました!!!
本当に細かいところまでありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板