MigraDoc bullet list (holes)

In my solution, I am using the bullet list in the PDF files.

It looks something like this:

 Solcellepaneler kræver hverken autoriseret service eller tidskrævende vedligehold.
 Solceller er støjfri, forurener ikke og har ingen bevægelige dele, hvilket mindsker
service og vedligehold
 Solceller kan integreres i bygningers arkitektur eller anvendes som
bygningselement i form af tag, facader eller solafskærmning
 Solceller har lang levetid, med en produktionsgaranti på hele 25 år
 10 kvadrameter solceller sparer ca. ½ ton CO2 om året

What I want:

 Solcellepaneler kræver hverken autoriseret service eller tidskrævende vedligehold.
 Solceller er støjfri, forurener ikke og har ingen bevægelige dele, hvilket mindsker
  service og vedligehold
 Solceller kan integreres i bygningers arkitektur eller anvendes som
  bygningselement i form af tag, facader eller solafskærmning
 Solceller har lang levetid, med en produktionsgaranti på hele 25 år
 10 kvadrameter solceller sparer ca. ½ ton CO2 om året

Atm code:

List<string> items = new List<string>();

            items.Add("Solcellepaneler kræver hverken autoriseret service eller tidskrævende vedligehold.");
            items.Add("Solceller er støjfri, forurener ikke og har ingen bevægelige dele, hvilket mindsker service og vedligehold");
            items.Add("Solceller kan integreres i bygningers arkitektur eller anvendes som bygningselement i form af tag, facader eller solafskærmning");
            items.Add("Solceller har lang levetid, med en produktionsgaranti på hele 25 år ");
            items.Add("10 kvadrameter solceller sparer ca. ½ ton CO2 om året");



        Style style = document.AddStyle("MyBulletList", "Normal");
        style.ParagraphFormat.LeftIndent = "0.5cm";

        for (int idx = 0; idx < items.Count; ++idx)
        {
            ListInfo listinfo = new ListInfo();
            listinfo.ContinuePreviousList = idx > 0;
            listinfo.ListType = ListType.BulletList1;
            SolcellDummyText = HvadErSolceller.AddParagraph(items[idx]);
            SolcellDummyText.Style = "MyBulletList";
            SolcellDummyText.Format.ListInfo = listinfo;
            listinfo.ContinuePreviousList = true;

        }

Is there any way to catch a newline event?

+5
source share
1 answer

Just set the LeftIndent style in MyBulletList style to match the first tab stop, set the FirstLineIndent value to a negative value to create a space for the bullet - and that’s it.

To make it simple: minimum requirements (assuming the “paragraph” is the result of AddParagraph):

paragraph.Format.LeftIndent = "2.5cm";
paragraph.Format.FirstLineIndent = "-0.5cm";
paragraph.Format.ListInfo.ListType = ListType.BulletList1;

Here is an example of code that uses a style (the style was previously created, the code fragment only modifies it):

style = styles["BulletList"];
style.ParagraphFormat.RightIndent = 12;
style.ParagraphFormat.TabStops.ClearAll();
style.ParagraphFormat.TabStops.AddTabStop(Unit.FromCentimeter(2.5), TabAlignment.Left);
style.ParagraphFormat.LeftIndent = "2.5cm";
style.ParagraphFormat.FirstLineIndent = "-0.5cm";
style.ParagraphFormat.SpaceBefore = 0;
style.ParagraphFormat.SpaceAfter = 0;

: "" LeftIndent FirstLineIndent .

, :

document.Styles.AddStyle("Bulletlist", "Normal");
+14

All Articles