#系统资讯 安装.NET Framework 8 月更新后 Windows 11 打印出现异常,受影响的主要是 WPF 应用生成的 PDF 或 XPS 文档。这个问题与字体有关,只要更换不受影响的字体那就可以打印。微软目前也在寻找永久解决方案,初步调查显示这与微软部署的安全措施有关。解决方案:https://ourl.co/126446
据微软日前发布的支持文档,当用户在 Windows 11 上安装 8 月份发布的.NET Framework 框架更新,则某些 WPF 应用生成的文档无法正常打印。无法打印的文档主要使用 Calibri、Cambria、Constantia 或 Corbel 字体,如果使用的是其他字体则可以打印。
经过初步调查微软发现这个问题主要影响使用 Calibri 字体的 PDF 文档或 XPS 文档,即如果在文档中使用相关字体那打印时就会报错。实际打印时用户可能会看到诸如 System.IO.FileFormatException 的错误代码。
要临时解决这个问题其实也很简单,用户通过 WPF 应用将文档内容修改为其他字体即可正常打印,或者用户也可以通过微软提供的临时解决方案进行修复,后续微软应该会发布更新彻底解决问题。
安全方案:
直接通过 WPF 应用编辑文档将文档字体修改为其他不受影响的字体,但每次都需要修改字体。
不安全方案:
在 WPF 应用程序配置文件 (app.config) 里添加指令,但这会禁用微软在 8 月更新中部署的安全措施
<configuration> <runtime> <AppContextSwitchOverrides value="Switch.MS.Internal.TtfDelta.DisableCmapAndSbitOverflowProtection=true"/> </runtime> </configuration>




