Saya harus memasukkan data daftar saya ke dalam tabel dalam file pdf. Data saya memiliki beberapa kata Arab. Saat pdf saya dibuat, kata-kata Arabnya tidak muncul. Saya mencari dan menemukan bahwa saya memerlukan itext7.pdfcalligraph jadi saya menginstalnya di aplikasi saya. Saya juga menemukan kode ini https://itextpdf.com/en/blog/technical-notes/displaying-text-different-linguals-single-pdf-document dan mencoba melakukan hal serupa untuk mengizinkan kata-kata Arab di tabel saya tetapi saya tidak dapat menemukannya keluar.
Ini adalah kode percobaan sebelum saya menerapkannya ke daftar saya yang sebenarnya:
var path2 = global::Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
filePath = System.IO.Path.Combine(path2.ToString(), "myfile2.pdf");
stream = new FileStream(filePath, FileMode.Create);
PdfWriter writer = new PdfWriter(stream);
PdfDocument pdf2 = new iText.Kernel.Pdf.PdfDocument(writer);
Document document = new Document(pdf2, PageSize.A4);
FontSet set = new FontSet();
set.AddFont("ARIAL.TTF");
document.SetFontProvider(new FontProvider(set));
document.SetProperty(Property.FONT, "Arial");
string[] sources = new string[] { "يوم","شهر 2020" };
iText.Layout.Element.Table table = new iText.Layout.Element.Table(2, false);
foreach (string source in sources)
{
Paragraph paragraph = new Paragraph();
Bidi bidi = new Bidi(source, Bidi.DirectionDefaultLeftToRight);
if (bidi.BaseLevel != 0)
{
paragraph.SetTextAlignment(iText.Layout.Properties.TextAlignment.RIGHT);
}
paragraph.Add(source);
table.AddCell(new Cell(1, 1).SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER).Add(paragraph));
}
document.Add(table);
document.Close();
Saya memperbarui kode saya dan menambahkan arial.ttf ke folder aset saya. saya mendapatkan pengecualian berikut:
System.InvalidOperationException: 'FontProvider dan FontSet kosong. Tidak dapat menyelesaikan nama keluarga font (lihat ElementPropertyContainer#setFontFamily) tanpa menginisialisasi FontProvider (lihat RootElement#setFontProvider).' dan aku masih belum bisa memahaminya. ada ide? Terima kasih sebelumnya
tableItems
yang tidak ditentukan serta kode komentartextView
,Toast
,Rsultitem
yang berlebihan. - person Alexey Subach   schedule 07.09.2020FontProvider and FontSet are empty.
. Periksa nilai pengembalianset.AddFont("ARIAL.TTF")
- menurut dokumentasi, metode ini mengembalikantrue
jika font berhasil ditambahkan danfalse
sebaliknya - person Alexey Subach   schedule 08.09.2020set2.AddFont("C:\\Windows\\Fonts\\Arial.TTF");
tetapi masih sama. apa yang harus saya lakukan? - person rana hd   schedule 08.09.2020new File("C:\\Windows\\Fonts\\Arial.TTF").exists()
menghasilkan nilai benar atau salah? - person Alexey Subach   schedule 10.09.2020