Document doc = new Document(iTextSharp.text.PageSize.LETTER, 10, 10, 42, 35);
BaseFont marathi = iTextSharp.text.pdf.BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
iTextSharp.text.Font fontNormal = new iTextSharp.text.Font(marathi, 12, iTextSharp.text.Font.NORMAL);
PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream("c:\\Test11.pdf", FileMode.Create));
//Open Document to write
doc.Open();
//Write some content
Paragraph paragraph = new Paragraph("English मराठी English मराठी English मराठी ");
// Now add the above created text using different class object to our pdf document
doc.Add(paragraph);
doc.Close(); //Close document
我使用上面的代码生成PDF文件。生成的PDF文件仅包含单词English,不包含मराठी。
需要做什么才能将unicode Marathi字符串包含在pdf中?
答案 0 :(得分:0)
首先,您需要一个包含所需字符的字体。 “Helvetica”不起作用。然后,您需要一个可以表示这些字符的编码。 “身份-H”始终有效。
如果您需要进一步的信息,Google可以使用itext字体样本。
答案 1 :(得分:0)
更改了代码,现在正在运行。 使用Arial Unicode字体。同时在向段落添加文本时,指定要使用的字体。
Document doc = new Document(iTextSharp.text.PageSize.LETTER, 10, 10, 42, 35);
BaseFont marathi = iTextSharp.text.pdf.BaseFont.CreateFont("C:\\WINDOWS\\Fonts\\ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); // --> CHANGED
iTextSharp.text.Font fontNormal = new iTextSharp.text.Font(marathi, 12, iTextSharp.text.Font.NORMAL);
PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream("c:\\Test11.pdf", FileMode.Create));
//Open Document to write
doc.Open();
//Write some content
Paragraph paragraph = new Paragraph("English मराठी English मराठी English मराठी ", fontNormal); // --->> CHANGED Specify the font to use
// Now add the above created text using different class object to our pdf document
doc.Add(paragraph);
doc.Close(); //Close document
答案 2 :(得分:0)
Document doc = new Document(iTextSharp.text.PageSize.LETTER, 10, 10, 42, 35);
BaseFont marathi = iTextSharp.text.pdf.BaseFont.CreateFont("C:\\WINDOWS\\Fonts\\ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); // --> CHANGED
iTextSharp.text.Font fontNormal = new iTextSharp.text.Font(marathi, 12, iTextSharp.text.Font.NORMAL);
PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream("c:\\Test11.pdf", FileMode.Create));
//Open Document to write
doc.Open();
//Write some content
Paragraph paragraph = new Paragraph("English मराठी English मराठी English मराठी ", fontNormal); // --->> CHANGED Specify the font to use
// Now add the above created text using different class object to our pdf document
doc.Add(paragraph);
doc.Close(); //Close document