当生成为 PDF 时,我遇到了 RDLC 报告打印空字符的问题。它只影响我理解为字母组合的字体连字,例如:
- 钛
- 英尺
- 菲
- tt
我的研究表明,这些字符组合被组合成一个字形,打印出来时我将其视为一个空白区域。剪报示例:
在 PDF 上:
打印:
因此,症状是:
- PDF 在屏幕上显示正常
- 打印(物理打印或使用XPS 编写器)时,所有连字都显示为空白
到目前为止,我已将范围缩小到特定字体 (Calibri) 和特定服务器 (Windows Server 2003 R2)。PDF 嵌入了字体:
我为了解决这个问题而感到高兴:
- 防止LocalReport.Render组合连字
- 启用 Server 2003 将字体视为我的 Windows 7 机器
我不确定我将如何/从哪里开始比较字体环境,因此非常感谢想法和指针。
更新:
感谢下面的答案,我检查了两台机器上的charmaps,但它们看起来相同:
服务器(问题所在):
本地(没问题):
这也提醒我,我是通过复制字体文件并直接安装来安装字体的。两个版本都是 5.72、数字签名、TrueType Outlines,但是服务器显示OpenType Font
而本地显示OpenType Layout
(可能只是不同的操作系统显示)。
有趣的一点是,如果我在本地使用 Calibri Regular 48,我会看到连字:
而服务器不使用它:
此外,这两个 PDF 都是在同一台机器上打印的,但只有在服务器上生成的 PDF 才会出现问题,因此我认为打印机驱动程序不会是问题?