xamarin.android中资源目录的路径
我需要我的资源目录的路径才能访问其中的字体文件夹,如以下代码所示:xamarin.android中资源目录的路径,xamarin.android,resources,itext7,Xamarin.android,Resources,Itext7,我需要我的资源目录的路径才能访问其中的字体文件夹,如以下代码所示: PdfFont俄语=PdfFontFactory.createFont( “src/main/resources/font/FreeSans.ttf”、“CP1251”,true); 但是在Xamarin.android中。我尝试了以下方法: string uri=“android.resource://“+this.PackageName+”/font/ARIAL.TTF”; PdfFont俄语=PdfFontFactory
PdfFont俄语=PdfFontFactory.createFont(
“src/main/resources/font/FreeSans.ttf”、“CP1251”,true);
但是在Xamarin.android中。我尝试了以下方法:
string uri=“android.resource://“+this.PackageName+”/font/ARIAL.TTF”;
PdfFont俄语=PdfFontFactory.CreateFont(
uri,“CP1251”,true);
但它不起作用。我也试过这个代码:
var path2 = global::Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
filePath = System.IO.Path.Combine(path2.ToString(), "myfile4.pdf");
stream = new FileStream(filePath, FileMode.Create);
PdfWriter writer = new PdfWriter(stream);
PdfDocument pdf2 = new iText.Kernel.Pdf.PdfDocument(writer);
Document document2 = new Document(pdf2, PageSize.A4);
AssetManager assets = this.Assets;
string content;
Stream stream2 = assets.Open("ARIAL.TTF");
var memorystrm = new MemoryStream();
stream2.CopyTo(memorystrm);
byte[] t = memorystrm.ToArray();
Toast.MakeText(this, t.Length.ToString(), ToastLength.Long);
if (t != null)
{
PdfFont russian = PdfFontFactory.CreateFont(t, "UTF-8", true);
document2.SetFont(russian);
Paragraph p = new Paragraph("Hello World! ")
.Add(new Text("صباح! ").SetFontSize(14)).Add(new Text("Bonjour le monde! ").SetFontSize(10));
document2.Add(p);
document2.Close();
Toast.MakeText(this, "done", ToastLength.Long);
}
else
{
Toast.MakeText(this, "error", ToastLength.Long);
}
未执行任何代码Xamarin.Android项目的文件夹路径与本机Android项目不同 如果要在项目中保存字体文件以访问该文件,请尝试将文件保存在资产文件夹中。将此文件的生成操作设置为AndroidAsset
string content;
AssetManager assets = this.Assets;
using (StreamReader sr = new StreamReader(assets.Open("read_asset.txt")))
{
content = sr.ReadToEnd();
}
查看教程:
更新我将添加我的代码,它不起作用。没有执行任何代码
您似乎忘记添加
.Show()
代码,例如Toast.MakeText(此“完成”,ToastLength.Long)。Show()
Xamarin.Android项目的文件夹路径与本机Android项目不同。如果要在项目中保存字体文件以访问该文件,请尝试将文件保存在资产文件夹中。将此文件的生成操作设置为AndroidAsset。检查链接如果你已经解决了这个问题,请接受这个解决方案作为答案。这将帮助其他面临类似问题的人。非常感谢,先生。只有一件事,在将字体读取为字节并包括pdf文档的字体后,后者应该读取阿拉伯语单词。但事实并非如此,这可能是字节的问题吗?从搜索结果来看,“段落”似乎不支持阿拉伯语文本。对于此函数,请尝试使用“PdfCalligraph”库执行此操作“PdfCalligraph”由iText 7支持提供,旨在支持更多语言和书写系统。是的,先生,我正在使用“PdfCalligraph”。我参考了这个链接来编写我的代码,从中我开始遇到如何读取字体和将字体放在哪里的问题,但我的pdf仍然没有读取阿拉伯字母。我尝试过类似的方法,我会添加我的代码,它不起作用。没有执行代码您的意思是没有显示“Toast”吗?您似乎忘记添加.Show()
代码,例如Toast.MakeText(这个“完成”,ToastLength.Long).Show()
@rana hd如果你已经解决了这个问题,请接受这个解决方案作为答案。这将有利于其他有类似问题的社区成员。