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.

Wed Dec 20, 2017 12:40 pm

Can we insert start and end text for
HEADER/FOOTER/FOOTNOTE/TOC.
Example :
Start Header
Header Content
End Header

Like wise
Start TOC
Content
End TOC
similar for Footer,Footnote
Kindly give me solution for this.

ParasXOR
 
Posts: 28
Joined: Wed Nov 22, 2017 6:13 am

Thu Dec 21, 2017 9:54 am

Hello,

Thanks for your inquiry.
During the test, we found a displaying error when inserting text before and after the footnote. Yet this only happens when saving to .docx file and I have referred the issue to our dev team for a further investigation.
Anyway, please refer to the code below which works well when saving to .doc format.
Code: Select all
OpenFileDialog word_file_open_dialog = new OpenFileDialog();
            if (word_file_open_dialog.ShowDialog() == DialogResult.OK)
            {
                Document document = new Document();
                document.LoadFromFile(word_file_open_dialog.FileName);

                //Add start and end text for toc
                Paragraph tocStart = new Paragraph(document);
                tocStart.AppendText("Start Toc");
                Paragraph tocEnd = new Paragraph(document);
                tocEnd.AppendText("End Toc");

                FieldMark lastmark = new FieldMark(document, FieldMarkType.FieldEnd);
                Paragraph tocpara = document.TOC.OwnerParagraph;
                tocpara.OwnerTextBody.ChildObjects.Insert(0, tocStart);
                for (int i = 0; i < tocpara.ChildObjects.Count; i++)
                {
                    if (tocpara.ChildObjects[i] is FieldMark && (tocpara.ChildObjects[i] as FieldMark).Type == FieldMarkType.FieldEnd)
                    {
                        lastmark = tocpara.ChildObjects[i] as FieldMark;
                    }
                }
                lastmark.OwnerParagraph.OwnerTextBody.ChildObjects.Add(tocEnd);

                foreach (Section s in document.Sections)
                {
                    //Add start and end text for header
                    Paragraph headerStart = new Paragraph(document);
                    headerStart.AppendText("Start Header");
                    s.HeadersFooters.Header.ChildObjects.Insert(0, headerStart);
                    Paragraph headerEnd = new Paragraph(document);
                    headerEnd.AppendText("End Header");
                    s.HeadersFooters.Header.ChildObjects.Add(headerEnd);

                    //Add start and end text for footer
                    Paragraph footerStart = new Paragraph(document);
                    footerStart.AppendText("Start Footer");
                    s.HeadersFooters.Footer.ChildObjects.Insert(0, footerStart);
                    Paragraph footerEnd = new Paragraph(document);
                    footerEnd.AppendText("End Footer");
                    s.HeadersFooters.Footer.ChildObjects.Add(footerEnd);

                    //Add start and end text for footnote
                    Paragraph startFootnote = new Paragraph(document);
                    startFootnote.AppendText("Start Footnote");
                    Paragraph endFootnote = new Paragraph(document);
                    endFootnote.AppendText("End Footnote");
                    foreach (Paragraph para in s.Paragraphs)
                    {
                        for (int i = 0, cnt = para.ChildObjects.Count; i < cnt; i++)
                        {
                            ParagraphBase pBase = para.ChildObjects[i] as ParagraphBase;
                            if (pBase is Footnote)
                            {
                                Footnote fn = pBase as Footnote;
                                fn.TextBody.ChildObjects.Insert(0, startFootnote);
                                fn.TextBody.ChildObjects.Add(endFootnote);
                            }
                        }

                    }
                }
                document.SaveToFile("12445result.doc", FileFormat.Doc);
            }


If it doesn't the result you want, please share a sample document for demonstration.

Sincerely,
Jane
E-iceblue support team
User avatar

Jane.Bai
 
Posts: 1156
Joined: Tue Nov 29, 2016 1:47 am

Fri Feb 09, 2018 6:06 am

Hello,

Glad to inform that the .docx format issue has been resolved in the Spire.Doc Pack(hot fix) Version:6.2.0.

Sincerely,
Jane
E-iceblue support team
User avatar

Jane.Bai
 
Posts: 1156
Joined: Tue Nov 29, 2016 1:47 am

Sun Feb 11, 2018 9:33 am

Hello ParasXOR,

Have you tried the hotfix?
Your feedback would be greatly appreciated.

Sincerely,
Jane
E-iceblue support team
User avatar

Jane.Bai
 
Posts: 1156
Joined: Tue Nov 29, 2016 1:47 am

Return to Spire.Doc