【问题标题】:Batch process does not print with correct font批处理无法以正确的字体打印
【发布时间】:2012-02-10 00:17:28
【问题描述】:

我开发的一个 WinForms 程序在作为交互式用户运行时打印效果很好并且符合预期。使用相同的帐户但作为计划任务,该过程将正确运行,但它以不正确的字体打印部分输出。

该程序是一个标签打印机,可以打印更新的定价标签。它有一个任务计划程序调用的选项 (-s),它不显示 GUI,但会进行更新和打印。通过 run 作为交互式用户执行此操作可以正常工作(即使用正确的字体)。

关于这里发生了什么的任何线索?未正确打印的字体是非标准系统字体。

这在服务器上运行,我认为这可能是由于打印机重定向,但我进行了控制台登录,它作为控制台上的交互式进程运行良好,就像它通过远程桌面进行交互一样。

【问题讨论】:

  • 将某事作为计划任务运行并不意味着它没有在交互模式下运行。

标签: winforms printing


【解决方案1】:

有趣的问题。据推测,Windows 不会将字体加载到非交互式登录会话中以节省资源。

请参阅this answer 了解一种方法,即在运行任务时使用 ps 工具创建交互式会话。

【讨论】:

    【解决方案2】:

    我遇到了与您的问题非常相似的问题(通过计划任务运行应用程序将使用默认字体,但在本地运行时会找到我安装的自定义字体)并且我找到了解决方案;在 Server 2008 上,存在一个问题,即非交互式用户在安装后不会立即注册自定义字体,而普通用户(即在实际登录到计算机的用户上运行时)确实会立即注册字体。

    对我有用的解决方案是简单地重新启动安装字体的机器,并且字体开始在非交互式帐户下工作,因为当计算机打开时它会正确注册。字体安装似乎有一个错误,它在重新启动之前无法为非交互式用户正确注册字体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-28
      相关资源
      最近更新 更多