我在关闭Acrobat时遇到问题。在运行Acrobat时,我使用vb.net对一个PDF文件进行签名。完成后,我关闭Acrobat并尝试删除当前签名的PDF文件,但收到一条错误消息,告诉我该文件正被另一个进程使用。我尝试关闭并设置为Nothing AcroApp、AcroAVDoc、AcroPDDoc JSO,但仍然不起作用。我试着用Marshal.ReleaseComObject(...)发布它们。还是没有效果。
acroPDDoc.Close()
acrobatAVDoc.Close(False)
acrobatApp.Exit()
Try
Marshal.ReleaseComObject(javaScriptObj)
Catch ex As Exception
End Try
Try
Marshal.ReleaseComObject(acroPDDoc)
Catch ex As Exception
End Try
Try
Marshal.ReleaseComObject(acrobatAVDoc)
Catch ex As Exception
End Try
Try
Marshal.ReleaseComObject(acrobatApp)
Catch ex As Exception
End Try
javaScriptObj = Nothing
acroPDDoc = Nothing
acrobatAVDoc = Nothing
acrobatApp = Nothing下面的选项我不想使用,因为它会杀死所有我不想要的打开的PDF文档。
'Gets All Acrobat Processes
Dim tProcess() As Process = System.Diagnostics.Process.GetProcessesByName("Acrobat")
'Kills Each Acrobat Process
For Each AcrobatProcess As Process In tProcess
AcrobatProcess.Kill()
Next请帮我找到解决这个问题的方法。谢谢
发布于 2012-06-06 00:48:47
我想出了一个类似的解决方案。你可以看看我的例子(下面的链接),它可能对你的情况有所帮助。录制所有打开的acrobat文档,然后删除,然后重新打开它们。然后,用户可以手动关闭每个文档,而无需Acrobat挂起。这可能不是最好的解决方案,但它是可行的。
VB.Net / Acrobat - Acrobat hangs after user manually exits program
发布于 2012-07-04 00:36:09
确认所有对象都已释放。我用C#编写的一个实用程序也遇到了同样的问题,该实用程序使用PDDoc InsertPages方法合并pdf并通过JSObject接口添加书签。
我发现,一旦我释放了存储bookmarkRoot的对象,一旦释放了最后一个对象,Acrobat.exe进程就会释放该对象。我不需要终止进程。
https://stackoverflow.com/questions/10858539
复制相似问题