【发布时间】:2013-03-17 10:18:51
【问题描述】:
像往常一样,网络上有很多关于此的帖子,但这些都没有帮助...我使用 windows 和 Migradoc Version = "1.32.3885.0"
要生成 pdf,我创建一个文档。
var doc = new MigraDoc.DocumentObjectModel.Document();
然后我用字体定义文档的样式
var style = doc.Styles["Normal"];
style.Font.Name = "Adobe Fan Heiti Std B";
然后我添加我的部分、段落等并按如下方式打印 pdf
var printer = new PdfDocumentRenderer {Document = doc};
printer.RenderDocument();
printer.Save(filePath);
这很好用。但是,从设计师那里我得到了另一种字体,它没有安装在我的电脑上。我安装了 .otf 文件(它是 HelveticaNeueLTStd-Cn.otf 和其他两个版本的 HelveticaNeueLT)。我可以在所有程序(例如 MSWord)中使用新安装的字体,但我不能在我的文档中使用它们。我得到错误
Cannot get a matching glyph typeface for font 'HelveticaNeueLT Std Cn'.
我可以直接从 c# 加载字体(不是安装的,而是源代码)
var tf = new GlyphTypeface(new Uri(@"C:\temp\HelveticaNeueLTStd-Cn.otf", UriKind.Absolute));
但我不知道如何将其嵌入到我的 Migradoc 文档中...
所以问题是:如何在 MigraDoc 文档中使用 .otf 字体来生成 pdf(在 Windows 机器上)?
谢谢。
【问题讨论】:
-
您使用的是 PDFsharp 的 WPF 版本吗?似乎 WPF 构建支持 OpenType 而 GDI+ 构建仅支持 TrueType。
-
我使用的是 wpf 版本。但是,在我的 OpenType 容器中,我有 PostScript 字体……这就是问题所在。
标签: fonts embed font-face pdfsharp migradoc