Открыть определенную страницу в файле 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);