iTextSharp的的宋体,Courier New字体始终显示在Windows 8

为什么在Windows 8中,我运行下面的代码,设置字体斜体是宋体,和字体是有规律的,PDF已经建立iTextSharp的的宋体,Courier New字体始终显示在Windows 8

后。 Why Is Arial Black Rendering in Italics? 字体样式变为斜体。快递新字体有同样的问题。只有这两个字体有问题。

此代码在Windows 7中正常工作,字体风格是规则的。

string path = @"c:\test\"; 

iTextSharp.text.Rectangle r = new iTextSharp.text.Rectangle(400, 300);

Document doc = new Document(r);

PdfWriter.GetInstance(doc, new FileStream(path + "Blocks.pdf", FileMode.CreateNew));

doc.Open();

BaseFont baseFont = BaseFont.CreateFont("C:\\Windows\\Fonts\\ariali.ttf", BaseFont.CP1252, false);

//set font.style=0;

iTextSharp.text.Font newFont = new iTextSharp.text.Font(baseFont, 16f, 0, iTextSharp.text.BaseColor.BLACK);

Chunk c1 = new Chunk("A chunk represents an isolated string. ", newFont);

doc.Add(c1);

doc.Close();

回答:

尝试其工作对我的。 并确保你使用正确的字体

NormalFont ="C:\\Windows\\Fonts\\ARIAL.ttf"; 

BaseFont baseFont = BaseFont.CreateFont(fontType, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

Font font = new iTextSharp.text.Font(baseFont, fontSize, fontStyle);

Chunk chunk = new Chunk(str, font);

以上是 iTextSharp的的宋体,Courier New字体始终显示在Windows 8 的全部内容, 来源链接: utcz.com/qa/262422.html

回到顶部