2013-01-14 24 views
4

以下代码行用于在C#中的特定页面打开PDF文件。代码适用于所有比最新的其它土坯版本,这是11无法使用C#代码在Adobe Reader 11的特定页面打开PDF文件

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。

+0

该进程仍称为AcroRd32.exe? –

+0

你会得到什么错误信息? –

+0

@glace:是这个过程仍然叫做AcroRd32 –

回答

4

请确保您没有空格在文件的名称。它可以工作,如果它在所有其他adobe阅读器中有空格,但adobe阅读器11剂量支持。

希望这有助于

+1

这个问题是因为我在文件中有空间名字 改变了下面线 'myProcess.StartInfo.Arguments = “/ A \” 页= 2 = OpenActions \ “C:\\杰克和Jill.pdf”;' 到 'myProcess.StartInfo.Arguments = “/ A \”page = 2 = OpenActions \“\”C:\\ Jack and Jill.pdf \“”;' –

0

按照Parameters for Opening PDF Files,你的论点行应该是这样的:

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

试过了..但是我得到了同样的错误 –

0

确保文件C:\为例.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(); 
} 
+0

这个文件确实存在,它在我从cmd执行它时打开 –

0

为读者11打开参数已经改变或者被删除。 使用阅读器10. 我已经要求Adobe提供有关阅读器11的打开参数的信息,但没有任何回应。

相关问题