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.
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);
}