2013-03-27 129 views
0

像往常一样,有很多在网络上的这个帖子,但没有这有助于...我使用Windows和Migradoc版本=“1.32.3885.0”嵌入字体中Migradoc

生成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

您使用PDFsharp的WPF版本吗?看起来,WPF构建支持OpenType,而GDI +构建只支持TrueType。 – 2013-03-27 12:31:40

+0

我使用wpf版本。然而,在我的OpenType容器中,我有PostScript字体......这是问题所在。 – 2013-03-27 15:07:23

回答

0

PDFsharp无法使用PostScript字体。

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

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

+0

嗯。不是最好的消息...你有一个提示,如何将PostScript字体转换为TrueType字体? – 2013-03-27 12:14:11

+0

您是否点击了上面的链接?它包含工具建议... – 2013-03-27 12:28:54