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ドキュメントがオープンされてないか、他で印刷中の場合。  

動作するバージョン

VersionAdobe
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キーでステップ実行しながら動作確認する。
  • 事前に参照設定をする。
001 Private Sub CommandButton18_Click() 002 003 Dim objAcroApp As New Acrobat.AcroApp 004 Dim objAcroAVDoc As New Acrobat.AcroAVDoc 005 Dim lRet As Long 006 007 'Acrobatアプリケーションを起動する。 008 lRet = objAcroApp.Show 009 'PDFファイルを開いて表示する。 010 lRet = objAcroAVDoc.Open("E:\Test01.pdf", "") 011 'PDFファイルの頁を指定して印刷する。 012 lRet = objAcroAVDoc.PrintPages(1, 2, 2, 0, 0) 013 014 'PDFファイルを閉じます。 015 lRet = objAcroAVDoc.Close(1) 016 017 'Acrobatアプリケーションを終了する。 018 lRet = objAcroApp.Hide 019 lRet = objAcroApp.Exit 020 021 'オブジェクトを強制解放する 022 Set objAcroAVDoc = Nothing 023 Set objAcroApp = Nothing 024 025 End Sub


 Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
 

補足

  • 第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 メソッド」への7件のフィードバック

  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. レジストリを操作しないとダメなんですね・・・。
    英語サイトみてみます。
    ありがとうございました。

  6. 初めまして、
    OS:Windows11
    バージョン:Adobe Acrobat X Pro

    HKEY_CURRENT_USER¥Software¥Adobe¥Adobe Acrobat ¥10.0¥General¥cPrintAsImage
    レジストリに
    名前:t0 データ:Adobe PDF
    設定していますが、
    VBAだと「画像として印刷」がうまく機能しません。
    手でファイル開いて印刷したら画像にはなるんですが、、、。

  7. chen さんへ。

    質問の趣旨がイマイチ不明ですが。コチラに似たような会話をしているサイトを見つけました。英語ですが、機械翻訳でも十分に理解できる内容だと思っています。ご参考にしてください。

コメントを残す

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

CAPTCHA



SAMURAI Plugin

コメントをする時は出来れば以下もお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れる時はコードを全て全角文字列にしてください。コチラで半角に戻します。それでもエラーが回避できない時はコメント下さい。個別に対処します。



お仕事で当サイトを見ている方へ
考え込んだら、ご質問下さい。
一緒に解決策を考えましょう。

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