Как написать бенгальский язык в pdfptable с помощью iTextsharp
Я пытаюсь написать текст на бенгальском и хинди с помощью iTextSharp, в обычном pdfDocument страницы A4size и в pdfTable (ячейка таблицы pdf). В каждом случае, кроме тех случаев, когда я использую "фразу" для написания текста, только хинди-текст (\u0915...) написан правильно, но Бенгальский текст(\u0985\0986) отсутствует везде(в абзаце.Добавить и pdfPTable).
Может ли кто-нибудь, пожалуйста, сказать мне, что происходит не так, и предложить мне, как заставить его работать должным образом.
Что я уже пробовал:
частная SaveAsPdfbutton_MouseClick недействительным(объект отправителя, MouseEventArgs е)
{
Документ = новый документ();
PdfWriter pr = PdfWriter.Деыпзьапсе(документа нового типа FileStream(@"A:\Software разработка\text_database_2\выход\Bnghindi.формат PDF",содержит filemode.Создавать));
документ.Открыть();
const string pfont = @"A:\Software разработка\text_database_2\text_database\Resources\Fonts\KOKILAI.ТЦФ";
var f = FontFactory.GetFont(pfont, BaseFont.IDENTITY_H, BaseFont.ВСТРОЕННЫЙ);
var p1 = новый абзац("\u0915\u093e\u0930 \u092a\u093e\u0930\u094d\u0915\u093f\u0902\u0917", f);
документ.Добавить (p1);
Строка foobar = " আমার নাম রাজীব \ u0985 \ u0986 \ u0915 \ u093e \ u0930 \ u092a \ u093e \ u0930 \ u094d \ u0915 \ u093f \ u0902\u0917";
Фраза фраза = новая фраза(foobar, f);
ColumnText.ShowTextAligned(ЦБ,элемент.ALIGN_LEFT, фраза, 200, 572, 0);
ВАР КСП = пр.DirectContent;
var table = new PdfPTable (2) {TotalWidth = 450f};
стол.SetWidthPercentage(new float[] { 150,300 }, PageSize. A4);
var customerLblCell = new PdfPCell(новая фраза ("клиенты"));
var balanceLblCell = new PdfPCell(новая фраза("\u0985\u0986 \u0915\u093e\u0930\u092a\u093e\u0930\u094d\u0915\u093f\u0902\u0917", f));
стол.AddCell (customerLblCell);
стол.AddCell (balanceLblCell);
стол.CompleteRow();
//документ.Добавить (таблица);
стол.WriteSelectedRows(0, -1, 50, 730, pcb);
документ.Закрывать();
Процесс.Start (@"A:\Software разработка\text_database_2\Output\hindi. pdf");
PdfPTable pdfTable = новый PdfPTable(RegViewdataGridView.Свойств);
pdfTable.DefaultCell. Padding = 3;
pdfTable.HorizontalAlignment = Элемент.ALIGN_LEFT;
pdfTable.DefaultCell. BorderWidth = 1;
PdfWriter ablePWr = PdfWriter.Деыпзьапсе(документа нового типа FileStream(@"A:\Software разработка\text_database_2\выход\хинди.формат PDF", содержит filemode.Создавать));
PdfContentByte tablePcb = ablePWr.DirectContent;
ширина var = 0;
var i = 0;
var colwidths = new int[RegViewdataGridView.Столбцы.Рассчитывать];
// Добавление строки заголовка
foreach (столбец DataGridViewColumn в RegViewdataGridView.Столбцы)
{
var cell = new PdfPCell(новая фраза (столбец.HeaderText + "রাজীব", F))
{
BackgroundColor = новый базовый цвет(240, 240, 240),
Без переноса = ложь
};
colwidths[i] = столбец.Ширина;
pdfTable.AddCell(ячейка);
ширина = ширина + столбец.Ширина;
я++;
}
pdfTable.SetWidths (colwidths);
width = width + RegViewdataGridView.RowHeadersWidth;
высота var = 0;
//Я не добавления каких-либо объекта datarow
константные строки параметре folderpath = @"A:\Software разработка\text_database_2\text_database\бин\";
если (! Directory. Exists(folderPath))
{
Каталог.CreateDirectory(путь к папке);
}
используя (файлового потока поток = новый хранилище FileStream(параметре folderpath + "тест.формат PDF", содержит filemode.Создавать))
{
Документ pdfDoc = новый документ(новый iTextSharp.текст.Прямоугольник(ширина, высота), 20F с, 10ф, 20F с, 10ф);
PdfWriter.GetInstance(pdfDoc, stream);
pdfDoc.Открыть();
pdfDoc. Add(pdfTable);
pdfDoc.Рядом();
течение.Закрывать();
Ящик для сообщений.Show (@"Exported to pdf,
Сохранено в "+folderPath,@ " готово");
}
Процесс.Start (folderPath + " test. pdf");
}