代码之家  ›  专栏  ›  技术社区  ›  user120242

Qt Webkit打印收缩系数

  •  4
  • user120242  · 技术社区  · 15 年前

    从WebKit打印时,似乎会自动对输出施加收缩因子。有没有一种方法可以在打印时禁用收缩,最好不要修改WebKit源代码?
    我认为可以使用Qt4.6主干,使用更高的setFixedLayout,来欺骗WebKit不收缩,但我还没有尝试过。也许有一种方法可以找到底层的WebKit,这样我就可以做到这一点了?

    编辑: Chrome通过扩展打印布局高度来解决这一问题。
    http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/print_web_view_helper.cc?view=markup

    1 回复  |  直到 13 年前
        1
  •  4
  •   sebasgo    13 年前

    Qt4.5是不可能的,因为几个月前我自己也遇到过这个问题。不过,我现在不想谈Qt4.6了。

    罪犯在 src/3rdparty/webkit/WebCore/page/PrintContext.cpp 在第115和126行。如您所见,收缩系数甚至不是常数,而是计算出来的,以便内容最适合可用的打印区域。

    设置控制允许收缩范围的两个常量( PrintingMinimumShrinkFactor PrintingMaximumShrinkFactor 1 解决问题。当时我非常彻底地分析了这个问题,没有找到比修补qt更好的解决方案。