QTextDocument :: drawContents wird nur mit 96 dpi gerendert

8

Ich erstelle ein hochauflösendes (1200 dpi) PDF-Dokument mit QPrinter und QPainter. Ich versuche, Text mit der gleichen Auflösung mit QTextDocument :: drawContents zu zeichnen. Ich möchte QTextDocument verwenden, weil ich viele Tabellen und formatierten Text in mein Dokument einfügen muss.

Mein Problem ist, dass QTextDocument :: drawContents den Text immer mit der Bildschirmauflösung einfügt, in meinem Fall 96 dpi. Alle Lösungen, die ich bisher gefunden habe, schlagen vor, den Text zu skalieren, um die richtige Größe zu erreichen. Dies führt jedoch zu qualitativ minderwertigen Texten, die ich mir nicht leisten kann.

Meine Frage: Gibt es eine Möglichkeit, den Inhalt eines QTextDocument mit einer hohen Auflösung zu zeichnen?

Der folgende Code erstellt eine PDF-Datei mit zwei Textzeilen, eine mit QPainter :: drawText und eine mit QTextDocument :: drawContents. Ich habe eine Schriftart Arial 8pt verwendet, um das Problem der geringen Qualität hervorzuheben, die aus der Skalierung resultiert.

%Vor%     
d11 24.04.2012, 14:06
quelle

1 Antwort

7

Die QTextDocument verwenden ein eigenes Malgerät für das Layout, das standardmäßig auf die Bildschirmauflösung eingestellt ist.
Sie können es ändern mit:

%Vor%     
alexisdm 24.04.2012, 23:00
quelle

Tags und Links