Коэффициент сжатия печати Qt WebKit - PullRequest
4 голосов
/ 03 августа 2009

При печати из WebKit кажется, что он автоматически накладывает коэффициент сжатия на вывод. Есть ли способ отключить сжатие при печати, желательно без изменения источника WebKit?
Я думаю, что возможно было бы использовать транк Qt 4.6 и использовать setFixedLayout с большей высотой, чтобы обмануть WebKit, но я еще не пробовал. Может быть, есть способ добраться до базового WebKit, чтобы я мог это сделать?

EDIT: Chrome справляется с этим путем увеличения высоты макета печати. ​​
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/print_web_view_helper.cc?view=markup

1 Ответ

4 голосов
/ 03 августа 2009

Это невозможно сделать с QT 4.5, так как я столкнулся с этой проблемой пару месяцев назад. Сейчас я не знаю про Qt 4.6.

Преступник находится в src / 3rdparty / webkit / WebCore / page / PrintContext.cpp в строках 115 и 126. Как видите, коэффициент сжатия даже не постоянен, а рассчитывается так, чтобы содержимое соответствовало лучший на доступной области печати. ​​

Установка обеих констант, управляющих разрешенным диапазоном сжатия (PrintingMinimumShrinkFactor и PrintingMaximumShrinkFactor) на 1, решает проблему. Я тогда тщательно проанализировал проблему и не нашел лучшего решения, чем исправление Qt.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...