Ich habe eine mögliche Lösung gefunden, indem ich QWebFrame::renderTreeDump()
y QWebFrame::findAllElements()
(neu in Qt 4.6).
Es ist nicht ganz "zusätzliche Rendering-Ebenen liefern", aber erreicht, was ich tun will: Ich rufe findAllElements()
um den DOM-Baum zu scrapen und jede gewünschte Logik anzuwenden, indem ich die Attribute des HTML-Elements setze.
Für kompliziertere Operationen, wie z.B. das Ersetzen von Formularsteuerelementen durch meinen eigenen Rendering-Prozess, muss ich sowohl den DOM-Baum als auch den Rendering-Baum scrapen und den DOM-Baum so bearbeiten, dass das Element nicht an QPrinter
. Am Ende scrape ich die resultierende PDF-Datei und füge meine eigenen gerenderten Steuerelemente ein, indem ich die Informationen verwende, die ich aus dem Renderbaum und dem DOM-Baum erhalten habe.
Dies erscheint unnötig kompliziert. Hat jemand eine elegantere Lösung für dieses Problem?