I have a program that generates a FixedDocument object and displays that in the XPS DocumentViewer. According to the documentation on MSDN "Fixed documents are intended for applications that require a precise "what you see is what you get" (WYSIWYG) presentation, independent of the display or printer hardware used. "
That is exactly what I want, however..
When I open the same document in the XPS DocumentViewers of Windows XP and Windows 7 there is a big difference in how the document is presented. The Windows 7 version seems to be using a bigger font and more spacing between the elements. What can cause this? Isn't the purpose of the FixedDocument that it always looks the same regardless of OS or printer or whatever?
I have done some googling on the subject but can't find anything relevant and appreciate any suggestion you can give.
Thanks!
You haven't asked a specific question, but I'll offer what I know about the subject.
The renderers used by the windows XP document viewer and windows 7 document viewer are vastly different. I believe, but can not confirm, that the XP version was contracted out to another company, while the windows 7 version was done in house. Where there are differences, the windows 7 renderer is generally more accurate with respect to the XPS specification. If you send that FixedDocument directly to an xps capable printer, you will also get results that differ somewhat from what you saw in either viewer, due to yet another renderer being invoked on the printer.
This is a limitation of any document format that relies on rendering being performed by the client. HTML suffers from similar problems - every browser renders html somewhat differently, so while the results may look similar, they are never identical.
What can you do about it? Not much. The differences between different XPS renderers should be small enough that they are not an issue in most cases. If you truly need pixel perfect accuracy across platforms, you need to move to a rasterized format.