AcroExch.AVDoc: PrintPages メソッド

TOP > AcroExch.AVDoc > PrintPages      [...]


説明

PDFファイルを頁指定して印刷する。

印刷はデフォルトのプリンターです。

印刷ダイアログは表示されません。

 

形式

VARIANT_BOOL PrintPages(long FirstPage,
                                     long LastPage,
                                     long PSLevel,
                                     long BinaryOk,
                                     long ShrinkToFit); 

 

引数

  1. 第1引数(long FirstPage) :
    印刷を開始する頁番号。1頁目は0を指定する。
  2. 第2引数(long LastPage) :
    印刷の終了頁。第1引数に注意。
  3. 第3引数(long PSLevel) :
    ポストレベルを指定する。(2又は3)
  4. 第4引数(long BinaryOk) :
    数値ならバイナリーデータ、0は7-bit ASCIIデータ
  5. 第5引数(long ShrinkToFit) :
    用紙の印刷可能領域に収まる様に縮小印刷指定する。 注)第5引数部分は未テスト。
    0(false)=縮小印刷する
    0以外(true)=縮小しない

 





戻り値

  • 戻り値が-1は成功。
  • 戻り値が-1以外はPDFドキュメントがオープンされてないか、他で印刷中の場合。  

 

動作するバージョン

Version Adobe
Acrobat
備考
4
-
Acrobat 4.0    ※Windows 98SE + Excel 2000
5
-
Acrobat 5.0.5
6
-
Acrobat 6.0.3 Pro
7
-
Acrobat 7.0.9 Pro
Acrobat 7.1.4 Pro
8
OK
Acrobat 8.1.2 Pro
9
-
Acrobat 9.3.2 Extended
10
-
Acrobat X (10.1.8) Extended
11
-
Acrobat XI (11.0.04) Extended
  • OK = 動作する。
  • NO = 動作しない。 戻り値が0を返す。
  • - = 未確認。

 


サンプル:ExcelのVBA

  • F8キーでステップ実行しながら動作確認する。
  • 事前に参照設定をする。

 

Private Sub CommandButton18_Click()

    Dim objAcroApp As New Acrobat.AcroApp
    Dim objAcroAVDoc As New Acrobat.AcroAVDoc 
    Dim lRet As Long 

    'Acrobatアプリケーションを起動する。
 
    lRet = objAcroApp.Show 
    'PDFファイルを開いて表示する。 
    lRet = objAcroAVDoc.Open("E:¥Test01.pdf", "") 
    'PDFファイルの頁を指定して印刷する。 
    lRet = objAcroAVDoc.PrintPages(1, 2, 2, 0, 0) 

    'PDFファイルを閉じます。
 
    lRet = objAcroAVDoc.Close(1) 

    'Acrobatアプリケーションを終了する。 
    lRet = objAcroApp.Hide 
    lRet = objAcroApp.Exit 

    ‘オブジェクトを強制解放する 
    Set objAcroAVDoc = Nothing 
    Set objAcroApp = Nothing

End Sub

 

補足

  • 第5引数は0(false)の場合、用紙の印刷可能領域に収まるようにする為、(必要に応じて)ページが縮小印刷します。0以外(true) の場合は縮小印刷しません。デフォルトは0の縮小印刷です。なお、この第5引数に関しては未テスト状態ですが、一応記載します。
  • 印刷先のデフォルトプリンタを変更する事が出来ます。
    デフォルトプリンタを一時的に変更する方法」 を参照して下さい。  

 

参照

 

動作確認環境

  • WindowsXP Pro(+ SP3) +
    Acrobat 8.1.2 Pro + Office 2003 + MicrosoftUpdate

 

戻る


キーボード

ブラウザ画面の文字サイズを変更するショートカットキー

  1. [ CTRL ] + [ + ]  :  文字を大きく
  2. [ CTRL ] + [ - ]  :  文字を小さく

Shortcut Keys

  1. [ CTRL ] + [ + ]  :  Up the font size
  2. [ CTRL ] + [ - ]  :  Down the font size

「AcroExch.AVDoc: PrintPages メソッド」への5件のフィードバック

  1. 大変参考になりました、私でもお役に立てるかと思い、投稿いたします。
    http://www.adobe.com/jp/support/products/pdfs/acrojs_j.pdf
    上記リンクのPDF136ページに「bShrinkToFit」の説明が載っていました。
    第5引数がこれなのは、AdobeSDKのacrobat.hにlong bShrinkToFitとして記述されています。
    bShrinkToFit がtrue の場合、用紙の印刷可能領域に収まるようにするため、(必要に応じて)
    ページが縮小されます。false の場合は縮小されません。デフォルトはfalse です。

  2. まさか、こんな2002年のJavaScript解説PDFに記載されているとは、・・。(汗
    確かにPDFの印刷にはその機能がありました。
    それがコノ部分に相当する引数だった訳ですね。
    この後に修正させて頂きます。
    ありがとうございます。m(_ _;)m

  3. サイト内を検索しましたが該当のメソッドについて記述がなかったので質問します。
    今は
     Call AcroAVDoc.PrintPages() を用いて印刷処理をしてます。
    しかしこれだと詳細設定の「画像として印刷」が設定できないみたいです。
    設定方法わかりますか?

  4. masaさん。初めまして。
    OLEには、詳細設定の「画像として印刷」に該当するメソッド又はプロパティは存在しません。
    しかし、どの様にしたらその設定を出来るかは判ります。
    レジストリです。
    HKEY_CURRENT_USER¥Software¥Adobe¥Acrobat Reader¥9.0¥General¥cPrintAsImage
    1) 9.0: 7.0 , 8.0 , 9.0などのソフトのバージョン番号です。
    2) 使用するソフトにより[Acrobat Reader]部分は[Adobe Acrobat]に代わります。
    3) デフォルトでは[¥General¥]も含めてキーは存在しません。つまり「画像として印刷」しないです。一度設定をするとこの部分のキー以下が生成されます。詳細設定をデフォルトにしてもこの部分は残ります。
    4) [¥General¥cPrintAsImage]キーが存在しても、その下の名前[t0],[t1],・・・に値(文字列=プリンター名)無しなら「画像として印刷」しないです。「画像として印刷」したい時はこの名前t0にプリンター名をセットします。
    5) 上記4)で名前[t0],[t1]と書きましたが、これはAcrobat Reader 9.0の場合です。Adobe Acrobat8.0では[s0],[s1]と変わります。名前の値もバイナリーになります。値はプリンター名です。値が無ければ「画像として印刷」しない。値があれば「画像として印刷」するです。
    以上の様にシステムにインストールされているのがAcrobat ReaderなのかAdobe Acrobatによって変更箇所が変わります。またバージョンにより見るところも変わります。
    注意点ですが、Acrobat ReaderもAdobe Acrobatも起動(Show)する時にレジストリを一気に読み込みます。そして終了(Exit)する時にレジストリを更新します。つまり、起動中はレジストリを見ません。この点を注意して下さい。
    以前にも同じ質問を受けたのですが、サンプルを作るにも「汎用性」を考えると非常に難しいので作っていません。(今は暇が無い)
    同じように解説しているサイトページがあります。英語サイトですが、見て損は無いです。
    http://www.404techsupport.com/2008/09/09/make-adobe-reader-and-adobe-acrobat-use-print-as-image-setting-by-default-2/
    参考になったでしょうか。

  5. レジストリを操作しないとダメなんですね・・・。
    英語サイトみてみます。
    ありがとうございました。

コメントを残す

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

CAPTCHA


出来るだけ早く返答する様には心がけています。
が、遅くなる時もありますのでご了承ください。


SAMURAI Plugin

コメントをする時は最低でも以下をお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン