代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

MigraDoc/PDFSharp中的项目符号列表如何

  •  13
  • leora Matt Lacey  · 技术社区  · 14 年前

    即使在阅读之后 this forum post ,如何使用migradoc/pdfshap创建项目符号列表仍然令人困惑。我基本上想显示这样的项目列表:

    • 道奇
    • 日产
    • 福特
    • 雪佛兰
    3 回复  |  直到 8 年前
        1
  •  19
  •   I liked the old Stack Overflow    14 年前

    这是一个示例(在HelloWorld示例中添加了几行):

    // Add some text to the paragraph
    paragraph.AddFormattedText("Hello, World!", TextFormat.Italic);
    
    // Add Bulletlist begin
    Style style = document.AddStyle("MyBulletList", "Normal");
    style.ParagraphFormat.LeftIndent = "0.5cm";
    string[] items = "Dodge|Nissan|Ford|Chevy".Split('|');
    for (int idx = 0; idx < items.Length; ++idx)
    {
      ListInfo listinfo = new ListInfo();
      listinfo.ContinuePreviousList = idx > 0;
      listinfo.ListType = ListType.BulletList1;
      paragraph = section.AddParagraph(items[idx]);
      paragraph.Style = "MyBulletList";
      paragraph.Format.ListInfo = listinfo;
    }
    // Add Bulletlist end
    
    return document;
    

    我没有使用addtolist方法把它们放在一个地方。在实际的应用程序中,我会使用该方法(它是用户定义的方法,代码给定 in this thread )

        2
  •  5
  •   Robin van der Knaap    8 年前

    比上面的答案简洁一点:

    var document = new Document();
    
    var style = document.AddStyle("BulletList", "Normal");
    style.ParagraphFormat.LeftIndent = "0.5cm";
    style.ParagraphFormat.ListInfo = new ListInfo
    {
        ContinuePreviousList = true,
        ListType = ListType.BulletList1
    };
    
    var section = document.AddSection();
    section.AddParagraph("Bullet 1", "BulletList");
    section.AddParagraph("Bullet 2", "BulletList");
    

    样式只创建一次,包括listinfo,并且可以在任何地方重复使用。

        3
  •  1
  •   I liked the old Stack Overflow    14 年前

    使用PDF竖琴,你必须自己画子弹。

    使用migradoc,您可以添加一个段落并设置 段落.格式.列表信息 以创建项目符号列表。

    链接线程显示两个助手例程: definelist()只设置成员变量,以便下次创建新列表。 为每个条目调用addToList()。

    只需调用definelist()开始新的项目符号列表,然后为每个条目调用addtolist()。 definelist()对编号列表有很大的不同。

    根据您的需要调整助手程序。