PdfSharp设置自定义字体解析本地ok,发布部署后报错解决

错误消息:

System.InvalidOperationException: The font 'Courier New' cannot be resolved for predefined error font. Use another font name or fix your font resolver. See https://docs.pdfsharp.net/link/migradoc-font-resolving-6.2.html and https://docs.pdfsharp.net/link/font-resolving.html for further information.
---> System.NullReferenceException: Object reference not set to an instance of an object.

 

 

后续打日志看正常ok,文字路径也ok,本地跑ok,发布后部署到winserver  生成pdf 就上面错误

 

      初始代码,读取字体文件ttf,就觉得没问题。
      using (var ms = new MemoryStream())
        {
          
            //解析会报错
            using (var fs = File.Open(faceName, FileMode.Open))
            {
                fs.CopyTo(ms);
                ms.Position = 0;
                return  ms.ToArray();
               
            }

        }

使用  File.ReadAllBytes(faceName); ok,
但是为什么第一种方法不行, 后续查资料和ai,加上  FileAccess.Read ok,
但是为什么 不加FileAccess.Read  就报错。默认是读写,可能会导致文件被锁问题。但是我是第一次访问此接口,第一次加载此字体文件,不应该啊,有老哥解答吗

var renderer = new PdfDocumentRenderer();
renderer.Document = document;

renderer.RenderDocument();代码执行到这里 渲染 时 才加载字体文件



 

posted @ 2026-01-10 15:37  孤海飞雁  阅读(0)  评论(0)    收藏  举报