C# 为什么可以';我不能设置短语(或段落)的字体吗?

C# 为什么可以';我不能设置短语(或段落)的字体吗?,c#,fonts,itext,phrase,C#,Fonts,Itext,Phrase,我从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();

我从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();

这在我的书中有记载

  • Chunk
    是文本的原子部分,因为
    Chunk
    中的所有文本都具有相同的字体系列、字体大小、字体颜色等
  • 短语
    对象的集合,因此
    短语
    可以包含使用不同字体的不同文本“原子”
在您的示例中,
“Nos公式”
将用Helvetica编写。在Helvetica
区块
和文本“Nos formules”添加到
短语
后,您可以更改字体。由于您没有向标题添加任何其他内容,因此永远不会使用“Comic”字体

这也是我回答问题时的意思:

使用
setFont()
时,可以更改设置字体后添加的所有内容的
短语的字体


这在我的书中有记载

  • Chunk
    是文本的原子部分,因为
    Chunk
    中的所有文本都具有相同的字体系列、字体大小、字体颜色等
  • 短语
    对象的集合,因此
    短语
    可以包含使用不同字体的不同文本“原子”
在您的示例中,
“Nos公式”
将用Helvetica编写。在Helvetica
区块
和文本
“Nos formules”添加到
短语
后,您可以更改字体。由于您没有向标题添加任何其他内容,因此永远不会使用“Comic”字体

这也是我回答问题时的意思:

使用
setFont()
时,可以更改设置字体后添加的所有内容的
短语的字体


这样的问题如此频繁地出现,可能表明人们想要一种功能来改变短语中已经使用的字体,而不是事先考虑正确的字体使用。(诚然,一个名为
Font
Phrase
类的属性或属性也感觉像是在现有内容上操作。)我更了解它的工作原理。但正如mkl所说,这个属性促使我理解,因为短语和段落都有构造器,没有字体参数(甚至是默认字体),我想好了,让我们得到一个带有这样文本的短语或段落,现在设置它的属性。不管怎样,它是这样工作的,所以对我来说没问题。感谢您的明确回答此类问题经常出现,这可能表明人们希望使用一种功能来更改短语中已使用的字体,而不是事先考虑正确的字体使用。(诚然,一个名为
Font
Phrase
类的属性或属性也感觉像是在现有内容上操作。)我更了解它的工作原理。但正如mkl所说,这个属性促使我理解,因为短语和段落都有构造器,没有字体参数(甚至是默认字体),我想好了,让我们得到一个带有这样文本的短语或段落,现在设置它的属性。不管怎样,它是这样工作的,所以对我来说没问题。谢谢你明确的回答