Spire.Doc is a professional Word .NET library specifically designed for developers to create, read, write, convert and print Word document files. Get free and professional technical support for Spire.Doc for .NET, Java, Android, C++, Python.

Tue Oct 12, 2021 8:08 pm

Hi,
I' try to add a string to a List. For Example( "Im Rahmen der Ermächtigung dürfen notwendige Überweisungen in den niedergelassenen Bereich ausgestellt werden (§ 24 Abs. 2 Satz 4 BMV-Ä).
\n
Hausinterne Überweisungen sind nur ausnahmsweise zulässig und zwar dann, wenn aus medizinischen Gründen in unmittelbarem Zusammenhang mit der Behandlung des Überweisers am gleichen Tag eine Untersuchung durch einen anderen Arzt erfolgen muss, des Weiteren in Ein-zelfällen wie z. B. bei immobilen Patienten, denen das Aufsuchen eines niedergelassenen Arztes und die erneute Wiedervorstellung im Krankenhaus nicht zugemutet werden kann (Urteil des Bundessozialgerichtes vom 31. Januar 2002 - B 6 KA 12/01 R -). Der Ausnahmefall ist zu begründen.
").

Now I have the problem when I have added this String to a Paragraph, \n was interpreted as a new Line and so the number count up.
In this Example

1. Im Rahmen der Ermächtigung dürfen notwendige Überweisungen in den niedergelassenen Bereich ausgestellt werden (§ 24 Abs. 2 Satz 4 BMV-Ä).
2.
3. Hausinterne Überweisungen sind nur ausnahmsweise zulässig und zwar dann, wenn aus medizinischen Gründen in unmittelbarem Zusammenhang mit der Behandlung des Überweisers am
gleichen Tag eine Untersuchung durch einen anderen Arzt erfolgen muss, des Weiteren in Einzelfällen wie z. B. bei immobilen Patienten, denen das Aufsuchen eines niedergelassenen
Arztes und die erneute Wiedervorstellung im Krankenhaus nicht zugemutet werden kann (Urteil des Bundessozialgerichtes vom 31. Januar 2002 - B 6 KA 12/01 R -). Der Ausnahmefall ist zu
begründen.

Now my Question, is there an opinion to style the List that i have only one Number :

1. Im Rahmen der Ermächtigung dürfen notwendige Überweisungen in den niedergelassenen Bereich ausgestellt werden (§ 24 Abs. 2 Satz 4 BMV-Ä).

Hausinterne Überweisungen sind nur ausnahmsweise zulässig und zwar dann, wenn aus medizinischen Gründen in unmittelbarem Zusammenhang mit der Behandlung des Überweisers am
gleichen Tag eine Untersuchung durch einen anderen Arzt erfolgen muss, des Weiteren in Einzelfällen wie z. B. bei immobilen Patienten, denen das Aufsuchen eines niedergelassenen
Arztes und die erneute Wiedervorstellung im Krankenhaus nicht zugemutet werden kann (Urteil des Bundessozialgerichtes vom 31. Januar 2002 - B 6 KA 12/01 R -). Der Ausnahmefall ist zu
begründen.

Thank you

Yerodin84
 
Posts: 13
Joined: Thu May 27, 2021 1:39 pm

Wed Oct 13, 2021 3:21 am

Hello Dirk,

Thanks for your inquiry.
I have two solutions for you.
The first solution is to use "\v" instead of "\n" to implement the line breaks without affecting list number.
Code: Select all
 String text1 = "Im Rahmen der Ermächtigung dürfen notwendige Überweisungen in den niedergelassenen Bereich ausgestellt werden (§ 24 Abs. 2 Satz 4 BMV-Ä)."
              + "\v"
              + "Hausinterne Überweisungen sind nur ausnahmsweise zulässig und zwar dann, wenn aus medizinischen Gründen in unmittelbarem Zusammenhang mit der Behandlung des Überweisers am gleichen Tag eine Untersuchung durch einen anderen Arzt erfolgen muss, des Weiteren in Ein-zelfällen wie z. B. bei immobilen Patienten, denen das Aufsuchen eines niedergelassenen Arztes und die erneute Wiedervorstellung im Krankenhaus nicht zugemutet werden kann (Urteil des Bundessozialgerichtes vom 31. Januar 2002 - B 6 KA 12/01 R -). Der Ausnahmefall ist zu begründen.";
            Document doc1 = new Document();
            Section section1 = doc1.AddSection();
            //Create list style
            ListStyle numberList1 = new ListStyle(doc1, ListType.Numbered);
            numberList1.Name = "numberList";
            numberList1.Levels[1].NumberPrefix = "\x0000.";
            numberList1.Levels[1].PatternType = ListPatternType.Arabic;
            numberList1.Levels[2].NumberPrefix = "\x0000.\x0001.";
            numberList1.Levels[2].PatternType = ListPatternType.Arabic;
            doc1.ListStyles.Add(numberList1);
            Paragraph p = section1.AddParagraph();
            p.AppendText(text1);
            p.ListFormat.ApplyStyle(numberList1.Name);

            string result = "result1.docx";
            doc1.SaveToFile(result, FileFormat.Docx2013);

The second solution is that splitting the source text according to "\n" to multiple strings, and then adding multiple paragraphs, but just to set the list style for the first paragraph.
Code: Select all
  String text="Im Rahmen der Ermächtigung dürfen notwendige Überweisungen in den niedergelassenen Bereich ausgestellt werden (§ 24 Abs. 2 Satz 4 BMV-Ä)."
              +"\n"
              +"Hausinterne Überweisungen sind nur ausnahmsweise zulässig und zwar dann, wenn aus medizinischen Gründen in unmittelbarem Zusammenhang mit der Behandlung des Überweisers am gleichen Tag eine Untersuchung durch einen anderen Arzt erfolgen muss, des Weiteren in Ein-zelfällen wie z. B. bei immobilen Patienten, denen das Aufsuchen eines niedergelassenen Arztes und die erneute Wiedervorstellung im Krankenhaus nicht zugemutet werden kann (Urteil des Bundessozialgerichtes vom 31. Januar 2002 - B 6 KA 12/01 R -). Der Ausnahmefall ist zu begründen.";
            string[] strs = { };
            if (text.Contains("\n"))
            {
              strs = text.Split(new char[]{ '\n'});
            }

            Document doc = new Document();
           
            //Create list style
            ListStyle numberList = new ListStyle(doc, ListType.Numbered);
            numberList.Name = "numberList";
            numberList.Levels[1].NumberPrefix = "\x0000.";
            numberList.Levels[1].PatternType = ListPatternType.Arabic;
            numberList.Levels[2].NumberPrefix = "\x0000.\x0001.";
            numberList.Levels[2].PatternType = ListPatternType.Arabic;
            doc.ListStyles.Add(numberList);
            Section section = doc.AddSection();
            Paragraph paragraph;
            float leftIndent = 0;
            for (int i = 0; i < strs.Length; i++)
            {
                if (i == 0)
                {
                    paragraph = section.AddParagraph();
                    paragraph.AppendText(strs[i]);
                    paragraph.ListFormat.ApplyStyle(numberList.Name);
                    leftIndent = paragraph.ListFormat.CurrentListLevel.TextPosition;
                   
                }
                else
                {
                    paragraph = section.AddParagraph();
                    paragraph.AppendText(strs[i]);
                    paragraph.Format.LeftIndent = leftIndent;
                }
            }

            string output = "result2.docx";
            doc.SaveToFile(output,FileFormat.Docx2013);


Please feel free to conact us if you have any questions.

Sincerely,
Amy
E-iceblue support team
User avatar

amy.zhao
 
Posts: 2766
Joined: Wed Jun 27, 2012 8:50 am

Wed Oct 13, 2021 6:32 am

Hello Amy,
yeah cool, that's it.
Thank you very much :) .

Yerodin84
 
Posts: 13
Joined: Thu May 27, 2021 1:39 pm

Wed Oct 13, 2021 7:05 am

I'm glad to hear it helped.

Feel free to contact us if you need any assistance.

Sincerely,
Amy
E-iceblue support team
User avatar

amy.zhao
 
Posts: 2766
Joined: Wed Jun 27, 2012 8:50 am

Return to Spire.Doc