itextsharp段块块字体被列表默认字体覆盖

时间:2012-05-12 07:41:19

标签: c# pdf itextsharp

我正在使用开源iTextSharp的v5.2.1。我有一段代码行为不符合预期。出于某种原因,当我将pdf流式传输到浏览器时,字体是不同的。

以下是我正在尝试做的事情。

Font times_roman = new Font(Font.FONTFAMILY.TIMES_ROMAN, 9f);
float indent1 = 20f;

try
{

   foreach (var item in List)  {

        Chunk c1 = new Chunk(string.format("Item: {0}\n\n" item.Name, times_roman));
        Phrase ph1 = new Phrase(c1);
        Paragraph p1 = New Paragraph(ph1);
        doc.Add(p1);

        Chunk c2 = new Chunk(string.format("(1) Item  Category{0}:\n\n" item.Category, times_roman));
        Phrase ph2 = new Phrase(c2);
        Paragraph p2 = New Paragraph(ph2);
        p2.FirstLineIndent = indent1;
        doc.Add(p2);

  }
}
catch
{
}

然后我流式传输pdf,以便在IE8或IE9中自动打开。

无论我尝试什么,无论我在c2,ph2,p2上放置什么字体设置,我总能得到以下结果

Item: MyWidget1 (this dislays Times Roman)

(1) Item Category:  Utility Tool (this displays as Helvetica 12)

就像iTextSharp认为它是一个ListItem一样,因为它是(1)并且无论你做什么都会控制它。

我不能使用Lists和ListItem,因为我只需要缩进第一行,而itextsharp列表将缩进多行并自动排列。我有很多项目的文本将包装到半页。

我非常喜欢iTextSharp库(因为它是免费的),但这个功能让我疯狂。

0 个答案:

没有答案