无法使用C#代码在Adobe Reader 11中的特定页面上打开pdf文件

时间:2013-01-14 20:09:25

标签: c# visual-studio-2010 adobe adobe-reader

以下代码行用于在C#中的特定页面上打开PDF文件。对于除最新版本之外的所有adobe版本,代码都可以正常工作,即11。

System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = "AcroRd32.exe";
myProcess.StartInfo.Arguments = "/A \"page=2=OpenActions\" C:\\Jack and Jill.pdf";
myProcess.Start();

有人可以帮助我,让我们知道adobe reader 11有什么特别之处。非常感谢任何帮助。

错误是“打开此文档时出错。无法找到该文件。” (文件已存在)

P.S:我已经卸载了adobe 11并安装了adobe reader 10,然后代码工作正常。

安装Acrobat Reader 11时从命令行给出的参数也正常工作并打开PDF。

4 个答案:

答案 0 :(得分:4)

确保文件名中没有空格。如果它在所有其他adobe阅读器中都有空格,但adobe reader 11支持它,那么它可以工作。

希望这有帮助

答案 1 :(得分:0)

根据Parameters for Opening PDF Files,您的参数行应如下所示:

myProcess.StartInfo.Arguments = "/A \"page=2\" C:\\example.pdf";

答案 2 :(得分:0)

确保存在 C:\ example.pdf 文件。没有文件时会发生此错误。

string pdfPath = @"C:\example.pdf";

if (System.IO.File.Exists(pdfPath))
{
     System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
     myProcess.StartInfo.FileName = "AcroRd32.exe";
     myProcess.StartInfo.Arguments = string.Format("/A \"page=2=OpenActions\" \"{0}\"", pdfPath);
     myProcess.Start();
}

答案 3 :(得分:0)

Reader 11的打开参数已更改或已删除。 使用Reader 10。 我已经向Adobe询问了有关读者11的开放参数的信息,但没有回复。