忽略IIS上的文档(doc / docx)字段合并中的字体

时间:2017-03-25 09:39:47

标签: .net iis merge

我有一些代码使用Tx文本控件合并文档(虽然它不是特定于Tx文本控件)。合并并保存为HTM文件后,HTM文件忽略某些字体。

Me.MailMerge1 = New TXTextControl.DocumentServer.MailMerge(Me.components)
Me.ServerTextControl1 = New TXTextControl.ServerTextControl()
Me.MailMerge1.ReportDataSourceConfig = ""
Me.MailMerge1.TextComponent = Me.ServerTextControl1
MailMerge1.LoadTemplate(Server.MapPath("TempDoc.docx"), TXTextControl.DocumentServer.FileFormat.WordprocessingML)
MailMerge1.Merge(ds.Tables(0))
MailMerge1.SaveDocument(Server.MapPath("~/") + Guid.NewGuid().ToString + ".htm", TXTextControl.StreamType.HTMLFormat, Nothing)

它在本地计算机上正常工作,并直接从Visual Studio运行(按Ctl + F5)。但在IIS上部署后忽略了某些字体(在Windows Server 2008和Windows Server 2012 R2上)。 例如:它忽略了“百老汇”字体,但保留了“Courier New”,“Comic Sans MS”等格式。 OpenXML SDK代码也出现同样的问题。 它似乎与Fonts文件夹的权限有关。

1 个答案:

答案 0 :(得分:0)

通过重新启动服务器解决了问题。它重新启动后开始正确获取字体。但我认为重启服务器机器不是明智的解决方案。
任何其他解决方案也欢迎。