4 返信 最新の回答 日時: Feb 13, 2004 10:18 AM ユーザー:(J'sGarage)

    JScriptからのPrintAllによる印刷

      JScriptからprintAllメソッドを使用して
      PDFを印字するようにしているのですが
      5.0から6.01にアップデートしたところ
      印刷ができなくなりました。
      PrintAllではなくPrintWithDialogと印刷前のダイアログを表示するようにしたところ
      印刷はできるようになったのですが、これだと印刷するものが多い場合に印刷数分印刷ボタンを押すことになってしまいます。

      またPrintAllのままでもAcrobatReaderの環境設定内の一般にある「すべての警告をリセット」を押すと「警告!スクリプトでAcrobatファイルの印刷が要求されました。
      文書全体が印刷される可能性があります。印刷を実行しますか?」
      と表示されますが印刷を行えます。
      しかしこのダイアログにある「以後、このメッセージを表示しない」というチェックボックスをONにしてOKにすると以後は
      印刷も行わなくなってしまいます。
      Acrobat5.0を導入しているPCではPrintAllで印字できるのでpdf.ocxのバージョンによるものかと推理していますが、もしそうであっても、すべてのPCにAcrobat を導入してもPDFの作成は決まったPCでしか行わないので出費が多すぎるということで困っています。
      何か対応策というのはないものでしょうか。お知恵をお貸しください。
        • 1. Re: JScriptからのPrintAllによる印刷
          Level 1
          JScriptというと.NETでしょうか。PrintAllやPrintWithDialogというメソッドは見あたらないようですが…

          それはさておき、もしAdobe Readerである必要が無ければ、Acrobat Reader 5のままで運用すればよいのではないでしょうか。
          最新版が最良とは限りませんし。
          • 2. Re: JScriptからのPrintAllによる印刷
            Level 1
            書き込み内容に誤りがありました。
            質問する立場として正確な情報を記載せず申し訳ありませんでした。
            正しくはVBSCRIPTです。
            内容については以下の通り(表示の関係で<を[に変更してあります。)で、クライアントはWin95.98.2000で試してみましたがAcrobatReader5.1および6.0では印刷 を行いませんが
            AcrobatReader5.05の場合はダイアログなしで
            印刷を行うことが可能でした。

            [SCRIPT LANGUAGE="VBScript"]
            [!--
            Sub Print()
            objPDF.PrintAll
            End Sub
            --]
            [/SCRIPT]
            [OBJECT CLASSID="CLSID:CA8A9780-280D-11CF-A24D-444553540000" name="printobj" WIDTH="726" HEIGHT="161" ID="objPDF"]
            [PARAM NAME="src" VALUE="../print/order.PDF"]
            [embed src="../print/order.PDF" width="600" height="480"][/embed]
            [/OBJECT]

            規定を行い利用者が5.05を使用してくれればいいのですが、徹底が難しいように思えますので
            なんらかの方法があればと思っていましたが
            難しいようですね。
            • 3. Re: JScriptからのPrintAllによる印刷
              ### 規定を行い利用者が5.05を使用してくれればいいのですが
              Acrobat Javascriptには、PDFビューワー(Adobe Readerなど)のバージョンを知るものとして「viewerVersion」というものがある。
              該当PDFが開かれたときにAdobe Readerのバージョンを調べて、規定バージョンより小さければ警告メッセージを出すとかの方策で啓蒙活動を行うのも一方法。

              以下にサンプルがある。
              ・バージョンを調べる
              http://www.openspc2.org/reibun/Acrobat6/javascript/app/025/
              • 4. Re: JScriptからのPrintAllによる印刷
                Level 1
                Polyさんありがとうございます。
                やはりAcrobatReader5.1や6.0では自動印刷はできないものと諦めて5.05を使用するように啓蒙活動を行うようにしようと思います。
                AcrobatReaderのバージョンを表示するScriptも参考になりました。
                同じようにAcrobatのJavaScriptで表示と同時に印刷などできればそれでも目的を達成するかなと思ったのですが、AcrobatのJavaのマニュアルが英語だったのと(笑)P HPからPDFを作成する場合にJavaScriptをどうやって記述するかも勉強不足なので断念しました。
                http://www.openspc2.org/reibun/Acrobat6/javascript/app/025/
                はとても参考になりました。
                ありがとうございます