【问题标题】:Report Viewer Font getting stretched on WIndows Server Machine only报告查看器字体仅在 WINdows 服务器计算机上被拉伸
【发布时间】:2010-11-09 17:17:05
【问题描述】:

我做了一个小应用程序来制作运费单,用户可以在其中输入他们想要的信息,并且可以预览(带有 ReportViewer 控件的表单正在打开)或直接打印。报告查看器使用嵌入到应用程序中的本地报告。

示例: http://i.stack.imgur.com/z90z8.jpg

我在 WinXP、Vista 和 Windows 7 机器上试用了该应用程序,没有问题,报告预览正确。

但是当直接将它安装在服务器上(2003 R2,64 位)时,字体会被拉伸(甚至从控件打印)。直接打印时(我创建了自己的代码来执行此操作,报告在 EMF 中呈现然后打印)我有同样的问题。

但当从 ReportViewer 控件保存为 PDF 或 Word 时,确实显示正确。

这是一个烦恼,因为我们远程桌面到服务器使用我们的主 MRP 程序,所以使用服务器内部的程序将是最好的,所以我们不必为了单个操作而切换回桌面机器.

顺便说一下,这是正常的 Arial 字体,所以它不是缺少字体的问题。此外,服务器上确实安装了几个 Crystal(我认为是版本 9)和 SQL Server 2003 报告运行时。这是使用 Visual Studio 2010。

【问题讨论】:

  • 先保存成PDF再从那里打印有问题吗?
  • 如果它只是用于“打印”按钮并且是自动化的,那么不会。但是从预览窗口中,了解用户这太复杂了,而不是仅仅最小化远程桌面并在他们的计算机上进行。

标签: c# .net reportviewer


【解决方案1】:

这是一个已知问题,Reporting Services 和 Dynamics NAV 开发人员花了很长时间来调查和剖析 Windows 远程桌面协议问题的根本原因。

有两种解决方案:

  1. 将 VB2010 主机升级到 Windows 8 或 Windows Server 2012。
  2. http://support.microsoft.com/kb/2768741 安装适用于 Windows 7 或 Windows Server 2008R2 操作系统的 Windows 远程桌面修补程序。

【讨论】:

    【解决方案2】:

    我在 Win2008R2 机器上托管的虚拟机遇到了同样的问题。我找到的解决方案是用户Cassisi发布的:

    修复服务器本身的关键是确保通过桌面服务远程访问服务器时,SSRS 服务获取的桌面分辨率为 1024x768(即 4:3 比率)。

    作为一种解决方法,我将尝试his article 中描述的高保真打印解决方案。

    【讨论】:

    • 就是这个原因,我通过更改分辨率测试了远程桌面,问题就消失了。我通过禁用报表查看器控件(现在只是预览)中的打印“绕过”了这个问题,并做了我自己的使用 PNG 而不是 EMF 的打印过程。
    • 也为我工作。一件重要的事情。您需要将 DpiX / DpiY 属性设置得足够高,例如200. 如果你忽略它,默认值 96 会得到一个模糊的打印文档。
    • @Exulted 我遇到了同样的问题,但在实施解决方案时遇到了困难。你有一些示例代码吗?或者一些提示我正确的方向,比如实施哪些事件
    • @Exulted Ofcourse 我已经看过那篇文章并多次审查它,但不知何故我无法弄清楚。我想防止字体在屏幕和打印机上被拉伸。
    • @Roland:我使用了这里的示例代码:ttp://msdn.microsoft.com/en-us/library/ms252091(v=vs.80).aspx 我将 DeviceInfo 更改为 PNG并且仅使用值为 300 的属性 DpiX 和 DpiY。在 PrintPage 方法中,将 Metafile 类型更改为 Image 并使用 Image.FromStream 加载它。其余的应该可以正常工作。在 CreateStream 方法中使用 Path.GetTempFileName() 可能也是一个好主意。
    【解决方案3】:

    使用 4:3 比例分辨率的远程桌面连接为我解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2018-04-06
      • 1970-01-01
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-23
      • 1970-01-01
      相关资源
      最近更新 更多