=== Blog updated on March 4th ====
Updated with the good news that we now have a hotfix for this for Windows Server 2008 R2:
Visual elements are displayed incorrectly etc... - KB 2768741.
===== end of update ===========
In NAV 2013, if you run the Windows Client via a Terminal Server or Remote Desktop Connection (RDC) or some common 3rd party application host technology, reports may be difficult to read when you print them. Preview looks fine.
A report could look like this in preview (OK):
But in Print Layout rendering or when printing to paper it would look like this - notice it looks like the fonts have been scrunched and it's hard to read:
It happens when
A) you run NAV 2013 via a Terminal Server or via Remote Desktop Connection (RDC), and
B) the screen resolution on the connection is not 4/3, and
C) the Terminal Server machine is running Windows 2008 including Windows 2008 R2.
The screen resolution is the important thing here. If we use a screen resolution of 4/3 (=1.33333) then all works fine. So if my RDC looks like this then I don't have this issue:
On this connection the screen resolution in my connection is 1024 by 768. 1024 / 768 = 1.33333, and everything is OK.
But if I set the screen resolution on my RDC like this:
Then my screen resolution = 1366 / 768 = 1.779.
1.779 <> 1.33333 and then I have the problem.
The root of the problem lies in graphics rendering (GDI) in Windows 2008 when it tries to scale from a screen resolution which is not 1.33333. In Windows 2012, rendering was redesigned to take advantage of hardware acceleration and ActiveX as described in this article:
Windows 8 graphics: Microsoft has hardware accelerated all the things
So we do not have this problem if the host machine is running Windows 2012.
NAV 2013 uses a newer version of Report Viewer which relies more on Windows GDI than previously, which is why we have only started seeing this problem on NAV 2013 installations.
Based on the above there are three ways out of this problem:
1) Ensure that all users use a screen resolution of 4/3
2) Avoid a host machine trying to scale a client's resolution. For example:
- Save the report to PDF, then print from the PDF document. PDF rendering is not affected by this issue.
- Use server-side printing - for example make use of the Job queue and let NAS print reports. Then the server can ignore what resolution the client has.
- Use other ways than Terminal Server to simplify client installations, such as ClickOnce or possibly "Remote Apps". In this way the client runs on the local machine and not on a host machine.
3) Upgrade the Terminal Server / RDC host machine to Windows 2012. Client machines do not need to be upgraded.
Workarounds 1) and 2) could be hard to enforce in some cases. But knowing about this issue, hopefully the option of using Windows 2012 can be considered.
We will post updates here if and when we find any further details around this issue!
If you're not able to select a 4:3 aspect resolution that fits your screen size well, then remember MSTSC can be run with paramters, forcing custom resolutions.
Type "mstsc /?" in a command promt to see how. (You will have black bars on your widescreen, but I'll fit 4:3 AND use the maximum height)
There is a hotfix available for this issue on server 2008. See support.microsoft.com/.../2768741
Thanks for comments!
And Mark - yes, indeed we have a hotfix now, thanks for sharing. I have also updated the blog text to include a link to it.
We installed this hotfix onto our Windows 2008 server and didn't see any change to the printouts at all. They still look like crap. Has anyone actually tested this hotfix? This is a pretty bad problem for us. Our office works via Remote Desktop Server and we are doing testing on NAV 2013 in order to roll it out to our clients. We cannot test any report since they all print with that awful font. And, in some cases, missing header information.
The workaround to use the smaller display does resolve the font issue but, it is extremely annoying trying to work on such a small display. However, it did NOT resolve our missing header info on Pick Tickets. All the info appears in the Preview and also if we print it via PDF.
Hi Diane V,
I think that missing header information is a different issue. It might be the change in rendering that Hidden controls are rendered last. So if there is a control that uses SetData in the header and it is hidden, then it is run last. So any controls that use GetData will be blank because SetData is not run yet.
To change that, move SetData from expression to the Hidden property. For example in report 206 we have this as one of the TextBoxes in the header:
The idea of putting the value in the Hidden property is that the report viewer always runs this property.
The fact that changing screen size helps does point to the problem mentioned here. Remember that the hotfix requires a reboot.
I hope that if this does not help then you are able to open a support case?
Thanks for the tip on the header info. I will send that over to my developer.
As far as the font is concerned, I came in here to post that, apparently, our Network people did not reboot the server after applying the hotfix. I had thought of that last night so, we rebooted it ourselves and this morning the font issue was resolved.
Thanks for the help and if we still have an issue with the headers, I will put in a ticket!
We are running NAV 2013 on a Windows 2012 server. We do not use terminal services, all client PC's run windows 7.
We are experiencing the font scrunching issue on 3 out of 15 machines, if we change the screen resolution on the PC to be 4:3 aspect ratio then everything prints fine, (however as the monitors are wide screen the image is stretched!)
Does any one know if there is a hot fix for windows that might fix this?
Thanks in advance
We recently learned about another hotfix which is available for Win Server 2012 and Win 8:
This seems to be included in Win Server 2012 R2 and in Win 8.1. already, so the alternative is to upgrade to that.
Also it mainly seems to change printing from NAV 2009, so I don't know how much it does for NAV 2013. Hopefully you can try it?
Note that the KB mentioned above (KB 2768741) is available for:
Windows Server 2008 R2, and
It is NOT available for Windows Server 2008 (not R2). The recommendation is for anyone on Windows Server 2008 to upgrade it to R2.
The installation of hotfix support.microsoft.com/.../2768741 and restarting server seems to fix only the Print Preview for reports not the actual printing. Printed reports are still the same.
The only way we are able to work around this issue is changing the resolution for the remote connection to the Terminal Server which runs on Windows Server 2008 R2 to 1024x768, or to export the report into PDF. But the real problem is still there..
The installation of hotfix support.microsoft.com/.../2768741 solve all problems with report printing on Terminal Server which runs on Windows Server 2008R2. Thanks.
Yes, as Aleksandar said, the installation of the hot-fix did fix the problem. Thank you for the support.