在 WebBrowser 控件中发布显示的 PDF 文件

5
我在我的WinForms应用程序中使用WebBrowser控件来显示所选的PDF文件,然后我想将该PDF文件移动到其他位置。
当我尝试移动PDF文件时,它会给出一个错误,说该文件正在使用中。我尝试让WebBrowser在移动之前导航到另一个页面,但它仍然给出了这个错误,说该文件被另一个进程使用。
如何释放此PDF文件,以便我可以轻松地移动它?释放WebBrowser并没有起作用。

您能验证在处理完WebBrowser控件后,后台没有任何僵尸进程AcroRd32.exe吗?AcroRd32.exe僵尸进程非常普遍。 - Shai
释放资源后仍然存在AcroRd32.exe进程,关闭该进程后我就可以自由地移动文件了。 - PandaNL
1
@Shai - Acrobat 僵尸... 太棒了。我闻到了情景喜剧的味道。 - M.Babcock
@M.Babcock - 僵尸进程!(-: - Shai
尝试导航到 about:blank 并等待导航完成后再移动文件。 - Sheng Jiang 蒋晟
3个回答

6
他们说“Adobe Acrobat和Adobe Reader被设计成在您关闭查看PDF文件的浏览器窗口后继续运行几分钟。”
解决方法似乎是:
将PDF复制到临时文件并显示它,然后当您导航离开时,即使AcroRD32.exe保持对PDF的控制几分钟,您仍然可以使用原始文件完成所需的操作!

1

0

我曾经遇到过类似的问题,即在浏览器中打开PDF文件的表单被隐藏,然后打开了表单的新实例,这导致了相同的文件锁定错误。对我来说,在隐藏表单之前仅仅释放WebBrowser控件就可以解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接