0

我在 WinForm 应用程序中有一个 WebBrowser 控件。我正在加载 PDF(使用 Adob​​e Reader XI),如下所示:

string url = Path.GetFullPath("test.pdf");
webBrowser1.Navigate(url);

加载后,我将尝试使用 SendKeys 通过单击按钮发送向下翻页键:

webBrowser1.Focus();
SendKeys.Send("{PGDN}");

此代码在普通 HTML 页面上运行良好,但加载 PDF 时行为不一致。通常它只会每隔一次点击向下滚动一页。以编程方式调用它两次似乎没有帮助。

webBrowser1.Focus();
SendKeys.Send("{PGDN}");
webBrowser1.Focus();
SendKeys.Send("{PGDN}");

我也试过用这个代码调用 SendMessage:

SendMessage(webBrowser1.Handle, WM_KEYDOWN, (IntPtr)VK_NEXT, (IntPtr)1);
SendMessage(webBrowser1.Handle, WM_KEYUP, (IntPtr)VK_NEXT, (IntPtr)1);

但这根本没有效果。

任何人都可以提出一个解决方案来模拟加载的 PDF 的向下翻页按键吗?

4

1 回答 1

1

如果您尝试显示 PDF 的特定页面,您可以向 URL 添加参数以指定页面。例如:

webBrowser1.Navigate("http://somewhere.com/file.pdf#page=2")

于 2013-05-16T17:45:19.670 回答