0
我正在使用Poppler在Qt和C++中编写pdf查看器。我如何渲染一个pdf页面以适合我的小部件大小? Poppler提供了一个名为renderToImage的方法,它接受一个dpi并返回一个QImage,其大小随dpi的变化而变化。如何计算正确的dpi?Poppler:以目标分辨率渲染
我正在使用Poppler在Qt和C++中编写pdf查看器。我如何渲染一个pdf页面以适合我的小部件大小? Poppler提供了一个名为renderToImage的方法,它接受一个dpi并返回一个QImage,其大小随dpi的变化而变化。如何计算正确的dpi?Poppler:以目标分辨率渲染
pageSizeF()
以磅为单位返回页面大小,除以72则为页面大小以英寸为单位。
您的小部件大小的每个分量(以像素为单位)除以每英寸分量的大小(以英寸为单位)将为您提供2 dpi的值(每个轴为1)。
如果要保持页面宽高比,则应将这两个dpi值中较小的一个通过xres
和yres
参数的renderToImage
。
我改用QtWebKit和PDF.js。渲染速度有点慢(仍然很好),但在几个小时内完成了工作。 – Archie 2013-04-06 21:50:29
我从okular中删除了kde组件,所以okular core程序可以在qt中运行。你可以试试。我的github地址是http:// github/lin-min – 2013-04-07 04:06:44