itextsharp的Arial,courier new font在Windows 8中总是显示斜体

时间:2013-10-04 06:47:11

标签: itextsharp

为什么在Windows 8中,我运行下面的代码,设置字体是Arial,字体样式是常规的,

创建PDF后。 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();

1 个答案:

答案 0 :(得分:0)

尝试为我的工作。 并确保使用正确的字体

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);