1

像往常一样,网络上有很多关于此的帖子,但这些都没有帮助...我使用 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 机器上)?

谢谢。

4

1 回答 1

0

PDFsharp 不能使用 PostScript 字体。

另见:
http ://www.pdfsharp.net/wiki/PostScript_fonts.ashx

OTF 可以包含 PostScript 或 TrueType 字体。PostScript 字体必须转换为 TrueType 才能与 PDFsharp/MigraDoc Foundation 一起使用(参见上面的链接)。

于 2013-03-27T11:17:39.907 回答