【问题标题】:FontResolver to add **Myriad Pro** Font in PDFsharp 1.32FontResolver 在 PDFsharp 1.32 中添加 **Myriad Pro** 字体
【发布时间】:2023-03-10 03:10:01
【问题描述】:

我希望将字体(Myriad Pro)添加到通过 PDFsharp 生成的 PDF 发票中,但无法这样做。

到目前为止我尝试过的是:

  • EZFontResolver.csfollowing link 上的开发人员提供的类文件
    (并且在那里也发布了我的评论问题,但没有收到任何回复。)
    它给了我一个例外{“使用一次后不得更改字体解析器。”} 执行以下代码行时:
    GlobalFontSettings.FontResolver = fontResolver;
  • 也试过测试版1.50.xx

【问题讨论】:

  • 这个错误表明你已经在你的代码中设置了GlobalFontSettings.FontResolver并且渲染了一个PDF。完成此操作后,PDFSharp 不允许您再次更改 GlobalFontSettings.FontResolver 的值。
  • :-) 在创建类 PdfDocument() 的对象后,它位于程序的第一行
  • 所以尝试设置FontResolver before 引用任何其他 PdfSharp 功能。
  • 谢谢@spender ....!现在,我正在使用 pdfSharp 1.32 ,并且 EZFontResolver 是从编译器无法找到的 IFontResolver 继承的。任何建议做什么
  • @PDFsharpTeam 你听起来更正式!

标签: c# fonts asp.net-mvc-5 visual-studio-2015 pdfsharp


【解决方案1】:

字体解析器是一个全局设置(正如用户“spender”在他们的 cmets 中指出的那样)。此全局设置由 PdfDocument() 的所有实例共享,并且只能设置一次。

字体解析器是 PDFsharp 1.50 的一项新功能(在 beta 2 中有一个重大更改,因此 beta 1 的示例可能不再适用于当前的 beta 3)。对于 PDFsharp 1.32,必须使用不同的方法。

使用 PDFsharp 1.32 的 WPF 构建时,您会在 PDFsharp 源包附带的示例文件夹中找到一个示例,该示例显示了私有字体的用法(示例文件夹为 PrivateFonts)。

【讨论】:

  • 您能否分享一种更好的方法。如果我在开发实时产品时使用稳定版本会更好(没关系,我是一个学习者,并且在接口概念和文档方面较弱LINK 有点混乱)请帮助我在澄清 pdfsharp 用于解决字体问题的方式
  • 我用 PDFsharp 1.32 (WPF build) 的信息更新了我的答案。恕我直言,PDFsharp 1.50 beta 3 比 1.32 版好得多。
  • 感谢 PDF-Sharp 团队。我正在使用 1.50 beta-3b,这是一个很好的开始。使用this Link 提供的 DemoFontResolver.cs
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 2011-10-13
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多