在Migradoc中嵌入字体

时间:2013-03-27 10:51:51

标签: fonts embed font-face pdfsharp migradoc

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

感谢。

1 个答案:

答案 0 :(得分:0)

PDFsharp无法使用PostScript字体。

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

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