要生成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机器上)?
感谢。
答案 0 :(得分:0)
PDFsharp无法使用PostScript字体。
另见:
http://www.pdfsharp.net/wiki/PostScript_fonts.ashx
OTF可以包含PostScript或TrueType字体。 PostScript字体必须转换为TrueType才能与PDFsharp / MigraDoc Foundation一起使用(参见上面的链接)。