複数のPDFファイルを連続印刷したい


こた  2013-07-01 18:40:19  No: 44783

2つのPDFファイルを以下のようなコードで連続して印刷させようとしているのですが、
1つ目の印刷を待ってくれずに2番目の印刷しか実行されません。
きちんと両方共印刷されるにはどうすれば良いでしょうか?

ちなみに、実際にはいくつかのPDFファイルをCheckBoxで選択して印刷させますので、
PDFを連結して1つにすればいいという回答は無しでお願いします。

  PathName := ExtractFileDir(Application.ExeName) + '\Additional1.pdf';
  WebBrowser1.Navigate(PathName);

  if (WebBrowser1.Document <> nil) then begin
    AcroPDF := (WebBrowser1.Document as IAcroAXDocShim);
    AcroPDF.printWithDialog;
  end;

  PathName := ExtractFileDir(Application.ExeName) + '\Additional2.pdf';
  WebBrowser1.Navigate(PathName);

  if (WebBrowser1.Document <> nil) then begin
    AcroPDF := (WebBrowser1.Document as IAcroAXDocShim);
    AcroPDF.printWithDialog;
  end;


  2013-07-01 19:30:52  No: 44784

1個めのIF文は、確実に条件をクリアしていますか?
例えば、IF文の次の行にShowMessageを入れると、
メッセージダイアログは表示されますか。


こた  2013-07-01 19:54:50  No: 44785

もちろんです(#^^#)
それで、2つ目の印刷用に別のWebBrowserを使うようにしたら、
一応、両方とも印刷されるようになりました。
ただ、それぞれの印刷ダイアログが容赦なく同時に表示されますね(^_^;)
で、AcroPDFの事を調べてみたら、printWithDialogなどでも、
処理を待つ事はないようです(´・ω・`)


Nov  2013-07-02 22:48:28  No: 44786

問題の回答にはなりませんが、直接的な方法もあります。

http://helpx.adobe.com/jp/acrobat/kb/510705.html

問題が解決しない場合の回避策としてどうぞ。


KHE00221  2013-07-03 10:44:39  No: 44787

まず
 DocumentComplete 待たずに印刷開始してるみたいだけどいいのかな?

 あと
 AcroPDF.printWithDialog;  は印刷終了してから返って来てる?
 (WebBrowser1.Documentを書き換えて良い状態で返って来てる?)

2個目の
PathName := ExtractFileDir(Application.ExeName) + '\Additional2.pdf';
前で
ShowMessageで止めれば出ないかな?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加