为什么courier字体在iText PDF文档中不起作用?

时间:2016-08-16 18:21:09

标签: c# itext

使用以下代码在C#中使用iText 5创建PDF文档。文本不以courier字体呈现。为什么不呢?

private void SimpleFontDoc(string pdfDocPath)
{
  Document doc = new Document(PageSize.LETTER, 10, 10, 42, 30);
  var fs = new FileStream(pdfDocPath, FileMode.Create);
  PdfWriter writer = PdfWriter.GetInstance(doc, fs);
  doc.Open();

  string[] lines = new string[]
    {
        "First   text   line",
        "Second  text   line"
    };
  var font = FontFactory.GetFont("courier", 12.0f, BaseColor.BLACK);

  foreach (var line in lines)
  {
    var para = new iTextSharp.text.Paragraph(line);
    para.Font = font;
    doc.Add(para);
  }

  doc.Close();
}

1 个答案:

答案 0 :(得分:1)

在iText5中,您必须在将文本添加到Paragraph元素之前指定字体(或者将其传递给构造函数)。

更改

var para = new iTextSharp.text.Paragraph(line);
para.Font = font;

var para = new iTextSharp.text.Paragraph(line, font);