Fonts 在文档中嵌入字体

Fonts 在文档中嵌入字体,fonts,embed,font-face,pdfsharp,migradoc,Fonts,Embed,Font Face,Pdfsharp,Migradoc,像往常一样,在网上有很多关于这个的帖子,但是这些都没有帮助。。。我使用windows和Doc版本=1.32.3885.0 为了生成pdf,我创建了一个文档 var doc = new MigraDoc.DocumentObjectModel.Document(); 然后我用字体定义文档的样式 var style = doc.Styles["Normal"]; style.Font.Name = "Adobe Fan Heiti Std B"; 然后我添加我的章节、段落等,并按如下方式打印pd

像往常一样,在网上有很多关于这个的帖子,但是这些都没有帮助。。。我使用windows和Doc版本=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));
但我不知道如何将它嵌入到我的文档中

所以问题是:如何在文档中使用.otf字体在Windows maschine上生成pdf


谢谢。

PDFsharp无法使用PostScript字体

另见:


OTF可以包含PostScript或TrueType字体。PASScript字体必须转换为TruteType,用于PDFCHAP/MIGADOC基金会,参见上面的链接。如何将PostScript字体转换为TrueType字体?您是否使用PDFsharp的WPF版本?似乎WPF构建支持OpenType,而GDI+构建只支持TrueType。我使用WPF版本。然而,在我的OpenType容器中,我有PostScript字体。。。这就是问题所在。