Я создаю PDF-документ с использованием itextsharp, и мне нужно подключить шрифты из папки Assets.
На данный момент все работает, когда я закидываю шрифты в память смартфона.
System.String ttf = Android.OS.Environment.ExternalStorageDirectory +
"/arial.ttf";
var baseFont = BaseFont.CreateFont(tttt, BaseFont.IDENTITY_H,
BaseFont.NOT_EMBEDDED);
var font = new Font(baseFont, Font.DEFAULTSIZE, Font.NORMAL);
doc.Add(new Paragraph(inf1, font));
Но, наверное, ни у кого нет этих шрифтов в памяти смартфона:)
Я попытался получить путь к папке «Ресурсы», используя следующий код:
public static AssetManager Assets { get; private set; }
string ttf;
using (var asset = Assets.Open("arial.ttf"))
{
var fontStream = new MemoryStream();
asset.CopyTo(fontStream);
}
или другой вариант:
string content;
using (StreamReader sr = new StreamReader(Assets.Open("arial.ttf")))
{
content = sr.ReadToEnd();
}
но в этих случаях возникает проблема:
В экземпляре объекта не задана ссылка на объект...
на линии
using (var asset = Assets.Open("arial.ttf"))
и
using (StreamReader sr = new StreamReader(Assets.Open("arial.ttf")))
Может быть, есть какой-нибудь аналог пути к папке, похожий на путь к шрифту в Windows?
Environment.GetFolderPath(Environment.SpecialFolder.Fonts);
или, может быть, я могу каким-то образом использовать полученный TypeFace
Android.Graphics.Typeface tf = Android.Graphics.Typeface.CreateFromAsset(Application.Context.Assets, "arial.ttf");
Подскажите, пожалуйста, как мне установить необходимые шрифты в документе PDF или как найти путь к шрифту ttf, который будет вставлен в строку BaseFont:)