PDFsharp - 使用私人字体

时间:2015-07-13 09:07:12

标签: c# asp.net fonts pdfsharp

我目前正在处理生成PDF文件的一小段代码。为了遵循设计规范,我需要使用' Helvetica Neue Condensed Bold'字体。在程序运行的地方,没有可用的字体安装,我需要将其用作私有字体。

它不起作用。我尝试了不同的姓氏等,但我一直都在失败......

byte[] data = File.ReadAllBytes(fontUri);
XPrivateFontCollection.Global.AddFont(data, "#Helvetica Neue Condensed Bold");

当我想使用该字体时。

XFont big = new XFont("Helvetica Neue Condensed Bold", 36, XFontStyle.Regular);

但是这种情况一直在失败。我已将文件导入到我的项目中,它是一个.ttf文件。我想不明白。

有没有人知道我的问题,也许知道我做错了什么?

2 个答案:

答案 0 :(得分:1)

下载PDFsharp源包时,您会发现一个使用私有字体的工作示例 用它来开始。
解压后请参阅“PDFSharp-MigraDocFoundation-1_32 \ PDFsharp \ samples \ Samples C#\基于GDI + \ PrivateFonts”文件夹。

如果你无法使用它的字体,你至少会有一个SSCCE,你可以提交测试。

源代码可以在这里找到:
documentation

或者也可以使用NuGet的PDFsharp 1.50 beta,使用FontResolver处理私有字体。
请在此处查看示例解析器:
http://pdfsharp.codeplex.com/releases

答案 1 :(得分:0)

我已成功解决了这个问题。

我使用的是WPF Build而不是GDI版本。除此之外,Uri是错误的,并且姓氏进入了错误的方式。