【问题标题】:Embedding Font in Migradoc在 Migradoc 中嵌入字体
【发布时间】:2013-03-17 10:18:51
【问题描述】:

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

谢谢。

【问题讨论】:

  • 您使用的是 PDFsharp 的 WPF 版本吗?似乎 WPF 构建支持 OpenType 而 GDI+ 构建仅支持 TrueType。
  • 我使用的是 wpf 版本。但是,在我的 OpenType 容器中,我有 PostScript 字体……这就是问题所在。

标签: fonts embed font-face pdfsharp migradoc


【解决方案1】:

PDFsharp 不能使用 PostScript 字体。

另请参阅:
http://www.pdfsharp.net/wiki/PostScript_fonts.ashx

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

【讨论】:

  • 嗯。不是最好的消息...您有什么提示,如何将 PostScript 字体转换为 TrueType 字体?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-27
  • 2011-02-28
  • 2023-04-04
  • 2011-05-28
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多