Skip to main content
  • 2,094 Posts
  • 2,567 Replies
2094 Posts
PDF印刷処理不具合

vb.netでAxAcroPDFLib.AxAcroPDFで作成された領域にPDFを表示後、printAll()を使用してPDFを印刷する処理を作成しました。印刷するPDFは複数あり、PDFによって印刷するプリンタが異なります(2種類ある)。印刷する順序はユーザーの選択によって任意に行え、既定のプリンタを切り替えたのちprintAll()で出力します。AxAcroPDF1.printAll()仮にPDF-AをプリンタAに、PDF-BをプリンタBに出力するとします。最初にPDF-Aを出力した後、PDF-Bを出力すると両方ともプリンタAに出力されます。逆にPDF-Bを出力した後、PDF-Aを出力すると両方ともプリンタBに出力されます。プリンタの切り替えは、WshNetworkオブジェクトを作成して以下の方法を使用しております。Public Sub SetDefaultPrinter(ByVal PrinterName As String) 'WshNetworkオブジェクトを作成する Dim Tp As Type = Type.GetTypeFromProgID("WScript.Network") Dim WshNetwork As Object = Activator.CreateInstance(Tp) Tp.InvokeMember("SetDefaultPrinter", System.Reflection.BindingFlags.InvokeMethod , Nothing, WshNetwork, New Object() {PrinterName})End Subプリンタの切り替え自体はうまくいっているようです。printAll()で出力時、2回目以降は最新のプリンタを読みに行かず1回目に使用したプリンタをずっと引き継いでいる気がします。解消するにはどうしたらよいでしょうか?