2013-03-27 125 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