【问题标题】:Open a PDF with Open Parameters Using C# / VB.NET使用 C#/VB.NET 打开带有打开参数的 PDF
【发布时间】:2016-01-05 04:16:07
【问题描述】:

对于this question 关于如何使用 C# 打开 PDF 到特定页面的公认答案总结如下:

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

但是,这个答案似乎不完整。如果 Adob​​e Reader (acroRd32.exe) 已经在运行,但如果 R​​eader 正在运行,则效果很好,此代码不会做任何事情(至少在我的 Windows 8.1 PC 上)。那么,如何使用 C#(或 VB.NET)无论是否已经在运行 Adob​​e Reader,以 PDF 格式打开到指定页面?

【问题讨论】:

  • 如果您只是将文档名称传递给进程,而不将 Acrobat 指定为阅读器,会发生什么情况?
  • 那么您无法传递参数以将 PDF 打开到特定页面。

标签: c# vb.net pdf


【解决方案1】:

原来的诀窍是将“/n”开关添加到 PDF 路径之前的参数字符串,如下所示:

myProcess.StartInfo.Arguments = String.Format("/A ""zoom={0}&page={1}=OpenActions"" /n ""{2}", strZoom, strPage, strPath)

根据Acrobat developer FAQ,/n 开关“启动 Acrobat 或 Adob​​e Reader 的单独实例,即使当前已打开。”我无法想象您想要使用此开关的情况(在打开 OP 中描述的 PDF 时),因此令人惊讶的是,在几十个中几乎没有提及此开关就这个话题提出了解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 2019-02-23
    • 2011-12-16
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多