我有一些代码使用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
文件夹的权限有关。
答案 0 :(得分:0)
通过重新启动服务器解决了问题。它重新启动后开始正确获取字体。但我认为重启服务器机器不是明智的解决方案。
任何其他解决方案也欢迎。