打开带有参数(Page/Named Destination)的PDF,不引用特定程序

本文关键字:PDF 引用 程序 Destination 参数 Named Page | 更新日期: 2023-09-27 17:51:19

感谢您花时间阅读我的困惑。

我需要打开一个PDF (c# 4.0, winforms)。通常情况下,如果你没有传入参数(Process。从PDF开始),但我需要能够传入参数(现在转到特定的页面或指定的目的地,可能稍后会更多)。

现在我知道如果你调用AcroRd32,你可以传递需要这样做的参数,但有可能用户不会在他们的机器上安装Acrobat Reader,所以我真的不想调用那个exe。有人知道怎么做吗?

我是否错过了使用其他东西来完成此操作的明显方法?

谢谢你的帮助!

PS -回复可以用c#或VB,不用在意

打开带有参数(Page/Named Destination)的PDF,不引用特定程序

要在Process.Start()中传递参数,您需要调用AcroRd32.exe或Acrobat.exe,如:

Process myProcess = new Process();    
myProcess.StartInfo.FileName = "acroRd32.exe"; //not the full application path
myProcess.StartInfo.Arguments = "/A '"page=2=OpenActions'" /n C:''sample.pdf";
myProcess.Start();

我建议把这是一个Try/Catch块,如果它失败了,然后尝试"Acrobat.exe"作为另一个文件名,嵌套的Try/Catch块,如果失败,默认为:

Process.Start("C:''sample.pdf");

不允许打开到特定的页面,但如果前两种方法都失败了,至少PDF会打开。