Poppler:以目标分辨率渲染
Posted
技术标签:
【中文标题】Poppler:以目标分辨率渲染【英文标题】:Poppler: render with a target resolution 【发布时间】:2013-04-06 21:07:25 【问题描述】:我正在使用 Poppler 在 Qt 和 C++ 中编写一个 pdf 查看器。如何呈现 pdf 页面以适合我的小部件大小? Poppler 提供了一个名为 renderToImage 的方法,它接受一个 dpi 并返回一个 QImage,其大小随该 dpi 变化。如何计算正确的dpi?
【问题讨论】:
我使用的是 QtWebKit 和 PDF.js。渲染有点慢(还不错),但在几个小时内完成了工作。 我从okular中移除了kde组件,这样okular核心程序就可以在qt中运行了。你可以试试。我的github地址是github/lin-min 【参考方案1】:pageSizeF()
返回以磅为单位的页面大小,除以 72 后得到以英寸为单位的页面大小。
小部件大小的每个组成部分(以像素为单位)除以大小的每个组成部分(以英寸为单位)得出 2 个 dpi 值(每个轴 1 个)。
如果要保持页面纵横比,则应将这两个 dpi 值中较小的一个传递给 renderToImage
,用于 xres
和 yres
参数。
【讨论】:
以上是关于Poppler:以目标分辨率渲染的主要内容,如果未能解决你的问题,请参考以下文章