Skip to main content
2097 Posts
アンカーが設定されたPDFファイルを直接起動すると、ファイルが開かずAcrobatReaderが落ちる事象

アンカーが設定されたPDFファイルを直接起動すると、ファイルが開かずAcrobatReaderが落ちる事象が発生しました。イベントビューアーでログを確認したところ、別紙No.7に添付しているランタイムエラーが原因となっていました。【端末スペック】OS:Windows11 Enterprise GAC バージョン23H2 64ビットAcrobatReader Continuous 64bit版:2024.004.20220【確認した事象】・アンカーが設定されたPDFファイルを直接起動すると、ファイルが開かずAcrobatReaderが落ちる・アンカーが設定されていないPDFファイルは問題なく直接起動できる・アンカーが設定されているPDFファイルは直接起動はできないが、AcrobatReaderを起動後に開くと問題なく開く・アンカーが設定されているPDFで複数回直接起動再試行すると、なぜかPDFを開くことができるようになるなお、一度開くことができるとエラーが解消し、その後は同様のエラーは発生していません。【質問】当事象について、以下ご教授いただけますでしょうか。①ランタイムエラーが発生する原因と解消方法②アンカーが設定されているPDFと設定されていないPDFで挙動が違う理由③一度起動することでエラーが解消される理由と、以降の挙動に問題がないか

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回目に使用したプリンタをずっと引き継いでいる気がします。解消するにはどうしたらよいでしょうか?