我从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();
答案 0 :(得分:1)
这在我的书中有记载。
Chunk
是文本的原子部分,因为Chunk
中的所有文本都具有相同的字体系列,字体大小,字体颜色...... Phrase
是Chunk
个对象的集合,因此Phrase
可以包含使用不同字体的不同“原子”文本。在您的示例中,"Nos formules"
将以Helvetica编写。在之后更改的字体 Chunk
,文本"Nos formules"
已添加到Phrase
。因为您没有向{{1}添加任何其他内容},从不使用字体“漫画”。
当我回答问题iText - PdfPTable doesn't show Cyrillic(Russian) symbols时,这也是我的意思:
当您使用
titreFormules
时,在设置字体后,您为添加的所有内容更改setFont()
的字体。