2014-03-28 39 views
1

我打開PDF文件時,我的形式載有下面的代碼打開特定網頁:在PDF文件c#

Process process = new Process(); 
ProcessStartInfo startInfo = new ProcessStartInfo(); 
process.StartInfo = startInfo; 
startInfo.FileName = @"F:\STAGE\test.pdf"; 
process.Start(); 

也能正常工作,但現在我想開一個特定的頁面。例如文件test.pdf的第5頁。有沒有人有想法?嘗試了一些東西,但沒有工作!

謝謝!

回答

0

嘗試

process.StartInfo.Arguments = "/A \"page=n\" \"F:\\STAGE\\test.pdf""; 

改變n的頁碼你想

0

這樣稱呼它在這裏建議的內容:Adobe Reader Command Line Reference

因此,這將是:

ProcessStartInfo startInfo = new ProcessStartInfo(); 
    startInfo.FileName = "EXE_PATH\\AcroRd32.exe"; 
    startInfo.Arguments = "/A \"page=PAGE_NUM\" \"FILE_PATH\""; 
    Process.Start(startInfo); 
0

結帳這個:http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf

它解釋了Adobe Reader可以接受的參數。

它有一個Page參數。

您的代碼必須是:

Process process = new Process(); 
ProcessStartInfo startInfo = new ProcessStartInfo(); 
process.StartInfo = startInfo; 
startInfo.Arguments = "/A \"page=N\""; 
startInfo.FileName = @"F:\STAGE\test.pdf"; 
process.Start(); 

其中N是您的頁碼。

+0

該程序仍然在第1頁打開。即使我將N替換爲5 – thijs1095

0

你可以試試這段代碼。

Process myProcess = new Process(); 
    myProcess.StartInfo.FileName = @"C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe"; 
    myProcess.StartInfo.Arguments = "/A \"page={pagenum}\" \"c:\\Classic\\Manual\\DocumentationManual.pdf\""; 
    myProcess.Start(); 

請根據您的目錄更改AcroRd32.exe的路徑。

謝謝

0

試試這個。 注意:在使用axAcroPDF之前,您必須在您的電腦上安裝acrobat reader。

  int n = 5; //page number 
      string filePath = "F:\STAGE\test.pdf"; 

      axAcroPDF1.LoadFile(filePath); 
      axAcroPDF1.setCurrentPage(n);