首页 > 解决方案 > 如何使用 WPF PrintDialog 在内部创建 ODTTF 字体而不是从我的嵌入字体制作字形图像 (.png)?

问题描述

我正在为某些字符使用特殊字体构建一个 WPF 应用程序。我已将此字体文件作为资源嵌入到应用程序中:

<FontFamily x:Key="ExtraSignsFont">pack://application:,,,/Fonts/#SpecialFont-3</FontFamily>

屏幕上的分辨率非常完美而且非常清晰。在下一步中,我创建了一个FixedDocument将结果带到打印机。我有很多UserControl仅用于打印的实例并使用DocumentViewer来控制布局。将内容放大DocumentViewer至 500% 时,清晰度非常完美,与屏幕质量相似。问题是打印质量很差。我的特殊字体中的所有字符都在打印机上显示为光栅化。

为了获得更多详细信息,我使用 Microsoft XPS 打印机创建了一个 XPS 文档。在检查结果时(将 .oxps 重命名为 .zip 并打开),我发现特殊字体中所有使用的字符都存储为小的 png 文件。这可能是打印质量差的物理原因。

为了检查我的特殊字体的一致性,我创建了一个小的 Word 文档并再次使用 XPS 打印机打印出来。XPS 质量非常好,我的字体作为 .odttf 资源和 png 文件包含在 XPS 文档中。

我的问题:如何PrintDialog在创建 XPS 文档而不是小的 .png-pictures 时强制使用字体?任何帮助或建议表示赞赏!

标签: wpfprintingprintdialogxpsdocumentfixeddocument

解决方案


推荐阅读