3
iTextSharp не отображает японский шрифт. Я нашел solution, но когда я компилирую, я получаю сообщение об ошибке сказав:ItextSharp не отображает японский шрифт
шрифт 'STSong-Light' с 'UniGB-UCS2-H' не распознается.
Вот мой исходный код:
BaseFont.AddToResourceSearch(serverPath + "\\lib\\iTextAsian.dll");
BaseFont.AddToResourceSearch(serverPath + "\\lib\\iTextAsianCmaps.dll");
BaseFont font = BaseFont.CreateFont("STSong-Light", "UniGB-UCS2-H", BaseFont.EMBEDDED);
using (Document document = new Document())
{
using (PdfSmartCopy copy = new PdfSmartCopy(
document, new FileStream(directoryOutPdf + nameOutPdf, FileMode.Create))
)
{
document.Open();
// generate one page per statement
for (int i = 0; i < countBlank.Count; i++)
{
// replace this with your PDF form template
PdfReader reader = new PdfReader(pdfTemplatePath + @"\EmptyTemplateBankBlank_2012.pdf");
using (var ms = new MemoryStream())
{
using (PdfStamper stamper = new PdfStamper(reader, ms))
{
AcroFields form = stamper.AcroFields;
form.SetFieldProperty("Info", "textfont", font, null);
form.SetField("Info", "_源泉徴収票");
stamper.FormFlattening = true;
}
reader = new PdfReader(ms.ToArray());
copy.AddPage(copy.GetImportedPage(reader, 1));
}
}
}
}
Я думаю, это потому, что я не устанавливал шрифт STSong-Light
. К сожалению, я не смог найти STSong-Light
и, следовательно, должен был установить Stsong
шрифт, но он все равно не работает.
String fontPath = Path.Combine(serverPath + "\\Fonts", "STSONG.ttf");
BaseFont baseFont = BaseFont.CreateFont(fontPath, "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font font = new Font(baseFont, 12, Font.NORMAL);
VahidN спасибо большое !!! – Max