Vielen Dank für die Antwort. Advanced Font Rendering abzuschalten macht die Sache leider noch schlimmer - dann wird auch noch Standard-Arial abgeschnitten.
Ich habe auf der Suche nach einer Lösung nun probiert, zur Bildschirmdarstellung die WPPDF-Ausgabe auf einen MemoryDC zu rendern und diesen skaliert darzustellen - mit durchaus ansehlichen Ergebnissen.
Ein Problem ist dabei aber besonders ins Auge gefallen: bei farbig hinterlegten Texten wird der gedruckte Text nicht transparent dargestellt.
Das ist das zugehörige PDF und das kommt nach COMPDF_PrintHDC_SelectedPage dabei raus:
[Blockierte Grafik: http://www.hausmannwynen.de/oss_downloads/hw/wpcubed/wp_hw2_screen.png]. Der Ausdruck sieht leider genauso aus. Die Anzeige in PDFView.exe ist ok, der Ausdruck daraus leider auch nicht.
Der Screenshot wurde mit folgendem Code erzeugt:
#define WP_RES 600
HBITMAP bm=::CreateCompatibleBitmap(dc, cx, cy);
HDC bmdc=::CreateCompatibleDC(dc);
HGDIOBJ oldbm=::SelectObject(bmdc, bm);
::PatBlt(bmdc, 0, 0, cx, cy, WHITENESS);
::SetMapMode(bmdc, MM_ANISOTROPIC);
sendCommand(COMPDF_PrintHDCSetXRes, WP_RES);
sendCommand(COMPDF_PrintHDCSetYRes, WP_RES);
::SetMapMode(bmdc, MM_ANISOTROPIC);
::SetWindowExtEx(bmdc, WP_RES, WP_RES, NULL);
::SetViewportExtEx(bmdc, WP_RES, WP_RES, NULL);
::SetViewportOrgEx(bmdc, 0, 0, NULL);
::SetWindowOrgEx(bmdc, 0, 0, NULL);
sendCommand(COMPDF_PrintHDC_SelectPage, page+1);
sendCommand(COMPDF_PrintHDC_SelectedPage, reinterpret_cast<unsigned>(bmdc));
Alles anzeigen
Was kann ich tun, damit die Hintergrundfarbe hinter dem Text nicht verschwindet?