Delphi中的AcroPDF-如何滚动?

Delphi中的AcroPDF-如何滚动?,delphi,pdf,Delphi,Pdf,我目前正在使用TAcroPDF在Delphi程序中添加PDF查看器。我的问题是,需要显示PDF的触摸屏相当小,所以我想添加更大的滚动按钮 我想我可以使用函数ScrollBy(DeltaX,DeltaY),但是该函数在它的容器中滚动组件,而不是滚动文档本身 有什么方法可以滚动PDF文档吗?PDF浏览器控件可以通过AxAcroPDFLib.AxAcroPDF界面(TAcroPDF只是一个PDF.ocx包装器)获得,该界面提供了SetViewScroll方法。这可能是一条路要走 不幸的是,这真的很糟糕

我目前正在使用TAcroPDF在Delphi程序中添加PDF查看器。我的问题是,需要显示PDF的触摸屏相当小,所以我想添加更大的滚动按钮

我想我可以使用函数ScrollBy(DeltaX,DeltaY),但是该函数在它的容器中滚动组件,而不是滚动文档本身


有什么方法可以滚动PDF文档吗?

PDF浏览器控件可以通过
AxAcroPDFLib.AxAcroPDF
界面(TAcroPDF只是一个PDF.ocx包装器)获得,该界面提供了
SetViewScroll
方法。这可能是一条路要走

不幸的是,这真的很糟糕(例如,
SetViewScroll
的页面实际上描述了
SetViewRect
…wtf?),您必须进行一些测试

您可能感兴趣的其他方法有:

  • GotoFirstPage
  • GotoLastPage
  • GotoNextPage
  • GotoPreviousPage
  • SetCurrentPage
  • SetView
  • SetViewRect

如果您想要滚动自己的查看器,请查看。他们有一个RenderPageToStream函数,可以创建一个可靠的文档图像,格式可以是BMP、JPG和TIFF等多种格式之一。这是一个不错的解决方案,我用它来打印填写的可扫描政府表格的相当忠实的版本,并且没有收到我提交这些表格的政府机构的投诉。

还有另一个PDF格式的官方文档版本(内部通信API参考)。它指出了以下同时滚动和缩放的方便方法:

SetZoomScroll

根据指定的值设置放大率,并滚动 根据 具体数额

语法无效设置ZoomScroll(浮动百分比、浮动左侧、浮动顶部)


我用C#和VS2010 Express在.NET 3.5中试用过,效果相当不错。

你试过发布键盘消息吗?WM_KEYDOWN或WM_KEYPRESS或类似的东西?嗯,也许我误解了最初的问题-是关于在AdobeAcrobat viewer控件UI中放大吗?这是不同的,好吧。