Domanda

Quando si stampa da WebKit, sembra imporre automaticamente un fattore di riduzione sull'output. C'è un modo per disabilitare il restringimento durante la stampa, preferibilmente senza modificare l'origine WebKit?
Penso che sia possibile utilizzare Qt 4.6 trunk e utilizzare setFixedLayout con un'altezza più lunga, per ingannare WebKit in modo che non si riduca, ma non l'ho ancora provato. Forse c'è un modo per accedere al WebKit sottostante in modo che io possa farlo?

EDIT: Chrome si occupa di questo estendendo l'altezza del layout di stampa.
http: //src.chromium. org / viewvc / cromo / trunk / src / cromo / renderer / print_web_view_helper.cc? view = markup

È stato utile?

Soluzione

Non è possibile avere a che fare con QT 4.5, dato che ho riscontrato questo problema un paio di mesi fa da solo. Adesso non mi occupo di Qt 4.6.

Il colpevole è in src / 3rdparty / webkit / WebCore / page / PrintContext.cpp alle righe 115 e 126. Come vedi, il fattore di riduzione non è nemmeno costante ma viene calcolato in modo che il contenuto si adatti meglio all'area di stampa disponibile.

L'impostazione di entrambe le costanti che controllano l'intervallo di restringimento consentito ( PrintingMinimumShrinkFactor e PrintingMaximumShrinkFactor ) su 1 risolve il problema. All'epoca ho analizzato il problema in modo molto approfondito e non ho trovato una soluzione migliore rispetto alla correzione di Qt.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top