首页 > 解决方案 > 作为 Windows 服务运行时不使用字体

问题描述

在 Windows Server 2019 上,我有一个作为 Windows 服务运行的程序,它运行一个普通用户。该程序启动另一个用 c# 编写的 exe 程序,该程序使用水晶报告创建 pdf 文件。该报告使用一种名为 39251 的字体来显示 code39 条形码。

但是生成的 pdf 不包含条形码,而是包含代表数字(例如838348348)似乎报告找不到字体文件或无法访问它。

该服务本身以我用来登录 Windows 的相同 Windows 用户身份运行。

但奇怪的是,当我以用户(而不是服务)身份运行程序时,导出的 pdf 确实包含正确的条形码。

我还更改了字体文件的权限,因此每个人都可以完全访问它。

有人知道为什么程序在作为服务运行时无法访问字体,但在手动运行时可以访问它。

标签: windowsfonts

解决方案


推荐阅读