To start, I've been chasing this problem for days and have hit a wall so I've landed here begging for some insight.
Here's the situation:
I have a multi-document app, 6 different document types and each are viewable through a tabbed interface. Of these 6 different document types, one does not have the problem that I am about to describe. There difference between that one document and the others is that it is a single page document while the other are multi-page.
When I print a document (even when I print just 1 page as selected via the print dialog) then follow that with a second print request (1 page for example) the page prints with huge fonts. Eye balling the output it would appear to be a 24 point font at least. The problem persists on subsequent print requests, until I do a print-preview. Once I do a print preview, which will work just fine (sometimes the printpreview will have the same large font problem but a 2nd print preview request will correct the problem), then follow that by another print request the printed output will be perfect: whatever is screwed up is corrected by the interveening print preview request.
This is driving me crazy: I cannot see any substantial difference between between the document that behaves correctly and the documents with the problem. I have gone line by line comparing the different sets of print logic and again, there is no substantial difference between the one with the correct behavior and the ones wth the problem.
I'm not looking for a solution, just a place to start as: I have exhausted every possibility I could imagine, scoured posted questions / solutions here and at CodeGURU, etc.
For reference, I'm using Visual Studio 2005, C++ / MFC. The view window for all employs CScrollView / QZoomView (enables a zoom capability for views). I had initially thought QZoomView was the cause of the problem but none of the print activities are handled in QZoomView.
Any and all suggestions appreciated