为了减小从 SSRS 和 ReportViewer 控件导出的 PDF 文件的大小,影响 PDF 大小的主要因素之一是完整和子集字体嵌入。
最终,我们决定仅使用 Arial 和 Times New Roman 字体的变体(大小、粗体、斜体等)来标准化我们的报告 - 幸运的是,我们的大多数报告都是企业的电子表格费用,不需要美学吸引力。
在 PDF 创建期间,这些字体似乎会被 ReportViewer/SSRS 替换为 14 种 PDF “标准允许字体”之一(因为标准字体通常不会安装在大多数 Windows 机器上)。
所以我的问题是,ReportViewer 上的 PDF 渲染器在字体替换期间使用的规则到底是什么,而不是在 PDF 中嵌入字体?
基于此站点,经过一些试验和错误,似乎确实进行了以下替换(从 RDL 到 PDF,列表不完整):
- 时代新罗马=>时代
- 新信使 => 信使
- 宋体 => 黑体字
我曾认为由于字体嵌入合法性而强制替换,但 Times New Roman 和 Arial 都是“可编辑的”,我认为这是限制最少的。