2013-01-14 25 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的打開參數的信息,但沒有任何迴應。

相關問題