【问题标题】:Poppler: render with a target resolutionPoppler:以目标分辨率渲染
【发布时间】: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

标签: c++ qt poppler


【解决方案1】:

pageSizeF() 返回以磅为单位的页面大小,除以 72 后得到以英寸为单位的页面大小。

小部件大小的每个组成部分(以像素为单位)除以大小的每个组成部分(以英寸为单位)得出 2 个 dpi 值(每个轴 1 个)。

如果要保持页面纵横比,则应将这两个 dpi 值中较小的一个传递给 renderToImage,用于 xresyres 参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多