3 返信 最新の回答 日時: Jan 25, 2006 9:02 AM ユーザー:(sun-20d915c6)

    印刷時にサイズごとにプリンタを変更したい

      Adobe Reader 7.0.2
      Windows2000

      1つのPDFファイル内に、A1、A2、A3、A4のPDFが縦横混在であります。

      それらのファイルをサイズごとに原寸大で自動でプリンタを切り替えて印刷したいのですが、可能でしょうか?
      (保有するプリンタはA1、A2サイズとA3、A4サイズで機種が異なるので。)

      Adobe Readerの基本機能だけでは無理そうな気がするのですが、JavaScriptやSDKなどを使えば可能な技術なのでしょうか?
      詳しい方がいらっしゃれば教えてください。
        • 1. Re: 印刷時にサイズごとにプリンタを変更したい
          Level 1
          Adobe ReaderではなくAcrobatフォーラムのほうが相応しい気がするが。

          各ページの大きさは「getPageBox」で取得できるだろう。

          プリントはprintだし、プリンターの名前はprinterNameだろう。

          Acrobat Javascript のリファレンス(PDF文書)は以下のサイトで公開されている。
          http://partners.adobe.com/public/developer/acrobat/sdk/index_doc.html

          以下のサイトで基本的なことが勉強できる。
          ・Adobe Acrobat 7.0 Javascript 例文辞典
          http://www.openspc2.org/reibun/Acrobat7/
          • 2. Re: 印刷時にサイズごとにプリンタを変更したい
            Level 1
            Adobe Readerフォーラムの範疇を逸脱するが・・・。

            以下のようなスクリプトを作ってみた。

            console.clear();
            console.show();
            for (var page = 0; page < this.numPages; page++)
            {
            var aRect = this.getPageBox("Crop", page);
            var width = aRect[2] - aRect[0];
            var height = aRect[1] - aRect[3];
            var pagenum = page + 1 ;
            console.println("Page" + pagenum + " has a width of " + width + " and a height of "
            + height);
            }

            1ページ目はレターサイズ、2ページ目はA4サイズというPDF文書で実行してみると、コンソールには以下のように表示された。

            Page1 has a width of 612 and a height of 792
            Page2 has a width of 595 and a height of 842

            ここでサイズはポイントなので必要なら適宜単位を変換すればよいだろう。今回はサイズが整数だが、場合によっては少数桁がでる。

            各ページのサイズ取得が可能であることは示されたので、あとはサイズによる場合分けをしてそれぞれのプリンターに出力すればよいはず。
            • 3. Re: 印刷時にサイズごとにプリンタを変更したい
              Level 1
              brazil様、とても丁寧な回答ありがとうございました。
              フォーラム違いとなるため、Acrobatフォーラムに移動いたします。