C# 生成PDF时服务器中出现字体问题,但本地计算机中没有

C# 生成PDF时服务器中出现字体问题,但本地计算机中没有,c#,pdf,unicode,fonts,server,C#,Pdf,Unicode,Fonts,Server,我正在从HTML生成PDF。我用来生成html到PDF的工具是TallComponent PDFKit4.0 在服务器中生成PDF时,将引发索引超出范围异常。经过分析,我发现由于Unicode字符的原因引发了问题,但对于相同的Unicode字符,错误不会在本地计算机中引发 我的问题是,为什么它不会在本地机器上抛出相同的错误,而只是在服务器上抛出相同的错误。为了分析这一点,我比较了服务器和本地可用的字体 在服务器中,C:\Windows\fonts文件夹中提供了153种字体。 在我的本地机器中,有

我正在从HTML生成PDF。我用来生成html到PDF的工具是TallComponent PDFKit4.0

在服务器中生成PDF时,将引发索引超出范围异常。经过分析,我发现由于Unicode字符的原因引发了问题,但对于相同的Unicode字符,错误不会在本地计算机中引发

我的问题是,为什么它不会在本地机器上抛出相同的错误,而只是在服务器上抛出相同的错误。为了分析这一点,我比较了服务器和本地可用的字体

在服务器中,C:\Windows\fonts文件夹中提供了153种字体。 在我的本地机器中,有250种字体可用

我试图复制粘贴一些字体从我的本地到UAT服务器根据下面的链接,但它仍然不工作

html文件中一个地址字段中的以下逗号导致了问题。第三方工具对此字体太敏感

,

我在下面的网站上试过找出逗号是什么字体, 我已经在服务器上安装了那个字体,错误并没有解决

我不知道如何缩小分析范围来解决这个问题。由于我的本地服务器没有问题,但服务器抛出错误,我需要找出确切的原因,并尽快解决这是生产错误

目前,为了解决这个问题,我正在生产服务器中进行数据修补,用普通逗号更新unicode逗号。但我想永久解决这个问题


任何帮助都将不胜感激。

经过长时间的分析,我自己找到了答案

通常,问题可能与在“控制面板->区域->语言”下选择的服务器或语言包中缺少字体有关

字体Arial Unicode MS Regular在我们的服务器中丢失,在安装字体并重置IIS后,我能够下载PDF文档而没有任何问题

为解决该问题而采取的步骤:

  • 比较服务器和本地可用的字体数
  • 将粘贴unicode字符复制到Microsoft Word,并检查Word显示的字体类型
  • 从internet下载该字体,或者从您的本地计算机(如果有)获取该字体
  • 安装字体并进行验证
要安装字体,只需双击字体文件并单击安装按钮。拖放也可以完成安装


这可能有助于缩小问题的范围。

请通读这篇文章,并将您的问题修改为清晰的“我有X,我在做Y,我期望a,但我看到的是B”形式。现在你有太多的文字没有充分解释你的情况,没有足够的文字和技术和精确的细节。实际上这不是任何代码相关的问题,所以我没有任何代码发布。我已经解释了问题的细节,以及到目前为止我为解决问题所做的工作。这就是我在这里写的。请让我知道这是不是一个合适的论坛来问这些没有任何代码的问题。如果这不是一个编程问题,那么stackoverflow。最好的提问地点可能是TallComponent论坛PDFKit论坛,或IRC频道,或他们使用的任何社区模式。