我目前正在编写一小段生成 PDF 文件的代码。为了遵循设计规范,我需要使用“Helvetica Neue Condensed Bold”字体。至于程序将运行的位置,没有可用的字体安装我需要将其用作私有(private)字体。
它不起作用。我尝试了不同的姓氏等等,但我总是失败...
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 文件。我想不明白。
有没有人知道我的问题,也许知道我做错了什么?
最佳答案
当您下载 PDFsharp 源码包时,您会发现一个使用私有(private)字体的工作示例。
使用它开始。
解压后查看文件夹“PDFSharp-MigraDocFoundation-1_32\PDFsharp\samples\Samples C#\Based on GDI+\PrivateFonts”。
如果您不能让它与您的字体一起使用,您至少会有一个 SSCCE,您可以提交它进行测试。
源代码可以在这里找到:
http://pdfsharp.codeplex.com/releases
或者可以使用 NuGet 的 PDFsharp 1.50 beta,您可以在其中使用 FontResolver 来处理私有(private)字体。
请在此处查看示例解析器:
http://forum.pdfsharp.net/viewtopic.php?p=8961#p8961
关于c# - PDFsharp - 使用私有(private)字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31379359/