Открыть определенную страницу в файле PDF C#

Я открываю PDF-файл, когда моя форма загружается со следующим кодом:

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

Это прекрасно работает, но теперь я хочу открыть определенную страницу. Например страница № 5 документа test.pdf? У кого-нибудь есть идея? Пробовал некоторые вещи, но не работает!

Спасибо!

5 ответов

Решение

Пытаться

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

изменения n на номер страницы, которую вы хотите

Проверьте это: http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf

Это объясняет, какие аргументы может получить Adobe Reader.

И у него есть аргумент страницы.

Ваш код должен быть:

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 - номер вашей страницы.

Назовите это так, как было предложено здесь: Справочник по командной строке Adobe Reader

Так было бы:

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

Вы можете попробовать этот код.

  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 в соответствии с вашим каталогом.

Спасибо

Попробуй это. Примечание: на вашем компьютере должен быть установлен Acrobat Reader, прежде чем вы сможете использовать axAcroPDF .

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

            axAcroPDF1.LoadFile(filePath);
            axAcroPDF1.setCurrentPage(n); 
Другие вопросы по тегам