Pergunta

Ao imprimir a partir WebKit, parece impor automaticamente um fator de encolhimento na saída. Existe uma maneira de desativar encolhimento durante a impressão, de preferência sem modificar a fonte WebKit?
Eu acho que pode ser possível usando Qt 4.6 tronco e usando setFixedLayout com uma altura mais, para truque WebKit para não encolher, mas eu não tentei ainda. Talvez haja uma maneira de obter no WebKit subjacente para que eu possa fazer isso?

EDIT: Chrome lida com isso estendendo a altura de layout de impressão.
http: //src.chromium. org / viewvc / cromo / trunk / src / cromo / processador / print_web_view_helper.cc? view = marcação

Foi útil?

Solução

Não é possível fazer com QT 4.5, como eu corri para essa questão de um par de meses atrás eu. Eu não faço agora sobre Qt 4.6, no entanto.

O culpado é em src / 3rdparty / webkit / WebCore / page / PrintContext.cpp na linha 115 e 126. Como você vê o fator de encolhimento não é mesmo constante, mas é calculado de modo que os ajustes de conteúdo melhor sobre a área de impressão disponível.

Definir ambas as constantes que controlam a faixa de encolhimento permitido (PrintingMinimumShrinkFactor e PrintingMaximumShrinkFactor) para 1 resolve o problema. Analisei o problema naquela época muito bem e eu não vim com uma solução melhor do que remendar Qt.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top