Прежде всего, чтобы извлечь ранее зарегистрированный шрифт, используйте метод PdfFontFactory
CreateRegisteredFont
вместо CreateFont
. Таким образом, замените
PdfFont myHindiFont1 = PdfFontFactory.CreateFont("HindiFont1", PdfEncodings.IDENTITY_H, true);
на
PdfFont myHindiFont1 = PdfFontFactory.CreateRegisteredFont("HindiFont1", PdfEncodings.IDENTITY_H, true);
Затем, если вы хотите добавить текст в абзац, который будет отображаться указанным шрифтом c, сначала установите шрифт, затем добавить текст Таким образом, вместо
iText.Layout.Element.Paragraph Title9 = new iText.Layout.Element.Paragraph("ew[;kad fo'kslrk;sa%");
Title9.SetFont(myHindiFont1);
do
iText.Layout.Element.Paragraph Title9 = new iText.Layout.Element.Paragraph().SetFont(myHindiFont1).Add("ew[;kad fo'kslrk;sa%");
В качестве альтернативы вы можете установить этот шрифт в качестве шрифта по умолчанию для документа:
Document document = new Document(pdf, size);
document.SetFont(myHindiFont1);
iText.Layout.Element.Paragraph Title9 = new iText.Layout.Element.Paragraph("ew[;kad fo'kslrk;sa%");
И, наконец, добавить новый абзац для некоторой сущности, например
document.Add(Title9);
Результат:
Вот последний код, который я использовал для успешной визуализации снимок экрана выше:
String HindiFont1 = @"LEOPALMHINDI15K710.TTF";
PageSize size = PageSize.A4;
PdfFontFactory.Register(HindiFont1, "HindiFont1");
//Error at this line: Font Not Recognized
PdfFont myHindiFont1 = PdfFontFactory.CreateRegisteredFont("HindiFont1", PdfEncodings.IDENTITY_H, true);
//Create Writer
PdfWriter writer = new PdfWriter(@"UseLeopalmhindi15K710LikeDivyanshuAgarwalImproved.pdf");
//Create Pdf Document Object
PdfDocument pdf = new PdfDocument(writer);
Document document = new Document(pdf, size);
//document.SetFont(myHindiFont1);
//String in Title9 Paragraph is a translation of English Phrase
//iText.Layout.Element.Paragraph Title9 = new iText.Layout.Element.Paragraph("ew[;kad fo'kslrk;sa%");
iText.Layout.Element.Paragraph Title9 = new iText.Layout.Element.Paragraph().SetFont(myHindiFont1).Add("ew[;kad fo'kslrk;sa%");
Title9.SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER);
document.Add(Title9);
document.Close();