使用EZFontResolver(PDFsharp)设置时抛出异常

问题描述 投票:0回答:1

我正在尝试将私有字体包含到我的 PDFsharp (v1.51) 文档绘图过程中。

我正在使用

EZFontResolver
,如这里

所解释的那样

这就是我正在做的:

        public byte[] GetCertificate(Object model)
        {
            // Get the EZFontResolver.
            EZFontResolver fontResolver = EZFontResolver.Get;
            
            // Assign it to PDFsharp.
            GlobalFontSettings.FontResolver = fontResolver;  //HERE IT FAILS

            fontResolver.AddFont("Pinyon Script", XFontStyle.Regular, this.SpecialFontPath, true, true);

            // Create a new PDF document
            var document = new PdfDocument();
            document.Info.Title = "CERTIFICATE ";

...

违规行是:

GlobalFontSettings.FontResolver = fontResolver;
出现以下错误:
*Must not change font resolver after is was once used.*

我读到问题是,因为它是单例,所以你应该只设置一次......但它是在创建文档之前设置的,而且我只在这个地方设置它(因为我只使用字体在这里)。

或者它可能掩盖了另一个问题?

知道如何绕过它吗?

我使用了使用 EZFontResolver 类的示例项目,它可以工作,唯一的区别是我从 ASP.NET MVC 运行有问题的代码。

asp.net asp.net-mvc-5 pdfsharp ezfontresolver
1个回答
0
投票

错误信息

*Must not change font resolver after it was once used.*
非常清楚。

确保只设置一次。

也许使用静态布尔标志来指示

FontResolver
何时已设置,并在这种情况下跳过分配。

© www.soinside.com 2019 - 2024. All rights reserved.