Windows服务不使用.otf字体,但使用控制台应用程序

时间:2013-07-10 09:06:12

标签: c# windows fonts windows-services ms-word

我有一个Windows服务,可以创建word mailmerge文档。

如果在mailmerge文档中使用了任何otf字体,则在生成的单词doc(或pdf)中替换该字体。

Windows服务由普通域用户执行。

当我使用同一个用户将程序作为控制台应用程序运行时,使用字体并正常创建word文档。

我在这里缺少什么?

编辑:

我现在发现word文档本身已正确保存,并且字体正确显示。我在原始描述中遗漏的是Word文档保存为pdf文件(通过内置的单词函数)。

在生成的pdf中,otf字体被某些系统字体替换。

对不起,我在原来的描述中错过了。

希望你仍然愿意提供帮助。

1 个答案:

答案 0 :(得分:0)

如果您想将所有otf字体转换为ttf,可以通过FontForge执行此操作。

你如何进行转换取决于平台,但这是基本的想法:

...
Open(filename);
Generate(filename:r+".ttf");
...

如果问题确实只与otf字体有关,那么以编程方式将它们转换为ttf应该为你解决。