0

我从 itextsharp 开始,想知道是否有任何理由为什么我在构建后设置短语的字体它不起作用。有什么理由,我错过了什么吗?

 iTextSharp.text.Font f = PdfFontFactory.GetComic();
 f.SetStyle(PdfFontStyle.BOLD);
 Color c = Color.DarkRed;
 f.SetColor(c.R,c.G,c.B);
 f.Size = 20;
 Document document = new Document();
 try
 {
    PdfWriter.GetInstance(document, new System.IO.FileStream("PhraseTest.pdf",   FileMode.Create));
    document.SetPageSize(PageSize.A4);
    document.Open();
    Phrase titreFormules = new Phrase("Nos formules",f); //THIS WORKS
    // titreFormules.Font = f; // THIS DOESN'T WORK!
    document.Add(titreFormules);
    document.Close();
4

1 回答 1

2

这在我的书中有所记载。

  • AChunk是文本的原子部分,因为 a 中的所有文本都Chunk具有相同的字体系列、字体大小、字体颜色……
  • APhraseChunk对象的集合,因此Phrase可以包含使用不同字体的不同文本“原子”。

在您的示例"Nos formules"中将使用 Helvetica 编写。在将带有文本的 Helvetica添加到.之后更改字体。由于您没有向 中添加任何其他内容,因此从未使用过“Comic”字体。Chunk"Nos formules"PhrasetitreFormules

这也是我在回答iText - PdfPTable does not show Cyrillic(Russian) symbols问题时的意思:

使用 时setFont(),会更改设置字体后添加的所有Phrase内容的字体。

于 2014-09-12T06:57:03.627 回答