iTextSharp ListItem不同字体的问题

时间:2012-02-10 11:42:41

标签: c# itextsharp

我需要使用iTextSharp

在我的PDF上显示这样的文字

建议提高您的学习和记忆能力

专注:为了记住你需要学习的东西。只有你足够重视学习才有可能学习。只有在学习时正确地集中注意力,才能保留更长时间的信息。

参与尽可能多的感官:重写信息的物理行为可以帮助将其印在您的大脑上。即使你是一个视觉学习者,也要大声朗读你想要记住的东西。如果你能有节奏地背诵,甚至更好。 “

我试图通过

来做到这一点
ListItem firstRecommend = new ListItem(new Chunk("Concentrate:", new Font(iTextSharp.text.Font.FontFamily.TIMES_ROMAN, 11, Font.BOLD, BaseColor.BLUE)));
            firstRecommend.Add(new Chunk("In order to remember something you need to learn it. Learning is possible only if you pay enough attention to it. You will retain information for a longer period of time only if you concentrate properly at the time of learning."
                                , new Font(iTextSharp.text.Font.FontFamily.TIMES_ROMAN, 11, Font.NORMAL, BaseColor.BLUE)));
            recommendationList.Add(firstRecommend);

但它不起作用整个文本是粗体而不是部分粗体。

这也不起作用

ListItem firstRecommend = new ListItem(new Chunk(“Concentrate:”,new Font(iTextSharp.text.Font.FontFamily.TIMES_ROMAN,11,Font.BOLD,BaseColor.BLUE)));                 firstRecommend.Chunks.Add(new Chunk(“为了记住你需要学习它的东西。只有你对它有足够的重视才能学习。只有当你正确地集中精力学习时,你才能保留更长时间的信息。学习的时间。“                                     ,new Font(iTextSharp.text.Font.FontFamily.TIMES_ROMAN,11,Font.NORMAL,BaseColor.BLUE)));                 recommendationList.Add(firstRecommend);

只有粗体部分显示在pdf上,因为我注意到ListItem.Chunks是只读的。

如何让这个工作?

1 个答案:

答案 0 :(得分:3)

您可以先尝试创建一个段落,然后将其添加到列表项目中。

请参阅以下代码。

    Chunk c1 = new Chunk("Concentrate:", new Font(iTextSharp.text.Font.FontFamily.TIMES_ROMAN, 11, Font.BOLD, BaseColor.BLUE)));
    Chunk c2 = new Chunk("In order to remember something you need to learn it. Learning is possible only if you pay enough attention to it. You will retain information for a longer period of time only if you concentrate properly at the time of learning.", new Font(iTextSharp.text.Font.FontFamily.TIMES_ROMAN, 11, Font.NORMAL, BaseColor.BLUE)));

    Pharagraph p2 = new Pharagraph();
    p2.Add(c1);
    p2.Add(c2);

    ListItem firstRecommend = new ListItem(p2);