Acrobat/DDE:DocZoomTo

説明

現在表示されているPDFドキュメントの表示方法をパーセント、幅に合わす、ページ全体、描画領域の幅に合わせて、などに指定をして表示する様にします。
※Adobe Readerでは当DDEを使用出来ません。

 

形式

[DocZoomTo(char* fullPath, char* zoomType, int scale)]

 

引数

注意:第3引数の印刷ドライバー名「driverName」は要らないくても印刷出来る!

fullPath
[char*]
印刷するPDFファイルのフルパス
注意:パス中に空白があるときは注意する。
zoomType
[char*]
ズームタイプ。以下の固定文字列を指定する。
AVZoomNoVary : パーセントでズームの割合を指定します。
AVZoomFitPage : ページ全体を表示
AVZoomFitWidth : ページの幅に合わして表示
AVZoomFitVisibleWidth : 描画領域の幅に合わせて表示
scale
[int]
第2引数がAVZoomNoVaryの時だけ、ズームタイプをパーセントで指定出来ます。100%の時は100を指定します。それ以外のタイプの時は意味を持ちません。

 

戻り値

true false以外のとき。
false fullPathによって指定されたPDFドキュメントが開かれてない。
ズームタイプの指定が間違っている。

注)ExcelのVBAではDDE命令の発信ステートメント上で、戻り値を取得出来ません。

 


サンプル:ExcelのVBA

 

PDFドキュメントを「120%表示」、「ページ全体表示」、「幅に合わして表示」、「描画領域の幅に合わせて表示」に切り替えながら表示します。

  • Excel VBA開発環境をF8キーでステップ実行して動作確認します。

 

Sub DDE_DocZoomTo()

Dim lChanNo As Long ‘DDEチャンネル番号
‘パスに空白が入った時用にダブル引用符を付加

Const CON_PDF_PATH = “””E:¥TEST-01.pdf”””

‘Acrobatアプリケーション起動。
Shell “C:¥Program Files¥Adobe¥Acrobat 8.0¥Acrobat¥Acrobat.exe”
‘DDEチャンネルのオープン
lChanNo = DDEInitiate(“Acroview”, “Control”)

‘事前にPDFファイルのオープンする必要がある
DDEExecute lChanNo, “[DocOpen(“ & CON_PDF_PATH & “)]”
‘120%表示。
DDEExecute lChanNo, “[DocZoomTo(“ & _
CON_PDF_PATH &
“,AVZoomNoVary,120)]”
‘ページ全体表示
DDEExecute lChanNo, “[DocZoomTo(“ & _
CON_PDF_PATH &
“,AVZoomFitPage,0)]”
‘幅に合わして表示
DDEExecute lChanNo, “[DocZoomTo(“ & _
CON_PDF_PATH &
“,AVZoomFitWidth,0)]”
‘描画領域の幅に合わせて表示
DDEExecute lChanNo, “[DocZoomTo(“ & _
CON_PDF_PATH &
“,AVZoomFitVisibleWidth,0)]”

‘PDFを全て閉じ、Acrobatアプリケーション終了
DDEExecute lChanNo, “[AppExit()]” ‘これをしないとAcrobatプロセスが残る
‘DDEチャネルを閉る
DDETerminate lChanNo

End Sub

 

実行結果

 

実行前

DocZoomTo実行前

 

実行後

: 120パーセントでズーム
DocZoomTo実行後

 

実行後

: ページ全体を表示
DocZoomTo実行後

 

実行後

: ページの幅に合わして表示
DocZoomTo実行後

 

実行後

: 描画領域の幅に合わせて表示
DocZoomTo実行後 

 

補足

  • Adobe Readerでは使用出来ません。
  • 事前にDocOpenで画面表示しておく必要があります。

 

動作確認環境

  • WindowsXP + SP3 + WindowsUpdate
  • Adobe Acrobat Pro 8.1.4 + Office Pro 2003

 

Adobe社の解説ページ : 英語

以下がAdobe社のAcrobat DDEの解説ページです。表示には時間がかかります。
http://livedocs.adobe.com/acrobat_sdk/9/Acrobat9_HTMLHelp/IAC_API_DDE_Messages.104.23.html

 

TOPへ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください