Load basefont from resource

China☆狼群 提交于 2019-12-02 17:59:32

问题


I'm trying to use ITextSharp and load a font file inserted in my project as resource.

I try different solutions but none of them seems to work, here a sample of what I did:

this one cannot load the resource

  private static BaseFont _bfArial;
    public static BaseFont BfArial
    {
        get
        {
            if (_bfArial == null)
                _bfArial = BaseFont.CreateFont(@"Resources\Images\arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

            return _bfArial;
        }
    }

this one gives me an error: "'Identity-H' is not a supported encoding name."

 private static BaseFont _bfCourier;
    public static BaseFont BfCourier
    {
        get
        {
            if (_bfCourier == null)
                _bfCourier = BaseFont.CreateFont("Courier", BaseFont.IDENTITY_H, BaseFont.EMBEDDED, true, FontsResources.cour, null);

            return _bfCourier;
        }
    }

and here the way I add the files in my solution

Can you please help me solving this issue? thank you

Andrea


回答1:


Try using:

Byte[] fb = Properties.Resources.arialuni;
_bfArial = BaseFont.CreateFont("arialuni.ttf", BaseFont.CP1252, BaseFont.EMBEDDED, BaseFont.CACHED, fb, null);

"Properties" appear under "GIGPrinting" in the Solution Explorer and "Properties.Resources" is the reference to the resources folder.



来源:https://stackoverflow.com/questions/19959784/load-basefont-from-resource

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!