public XWPFFootnote AddEndnote(CT_FtnEdn note) { XWPFFootnote xwpfFootnote = new XWPFFootnote(this, note); this.endnotes.Add(int.Parse(note.id), xwpfFootnote); return(xwpfFootnote); }
public XWPFFootnote AddFootnote(CT_FtnEdn note) { CT_FtnEdn note1 = this.ctFootnotes.AddNewFootnote(); note1.Set(note); XWPFFootnote xwpfFootnote = new XWPFFootnote(note1, this); this.listFootnote.Add(xwpfFootnote); return(xwpfFootnote); }
/** * add a footnote to the document * @param note * @throws IOException */ public XWPFFootnote AddFootnote(CT_FtnEdn note) { CT_FtnEdn newNote = ctFootnotes.AddNewFootnote(); newNote.Set(note); XWPFFootnote xNote = new XWPFFootnote(newNote, this); listFootnote.Add(xNote); return(xNote); }
/// <summary> /// Create a new footnote and add it to the document. /// </summary> /// <remarks> /// The new note will have one paragraph with the style "FootnoteText" /// and one run containing the required footnote reference with the /// style "FootnoteReference". /// </remarks> /// <returns>New XWPFFootnote</returns> public XWPFFootnote CreateFootnote() { CT_FtnEdn newNote = new CT_FtnEdn(); newNote.type = ST_FtnEdn.normal; XWPFFootnote footnote = AddFootnote(newNote); int id = ctFootnotes.SizeOfFootnoteArray; footnote.GetCTFtnEdn().id = id; return(footnote); }
public void TestAddFootnotesToDocument() { XWPFDocument docOut = new XWPFDocument(); int noteId = 1; XWPFFootnotes footnotes = docOut.CreateFootnotes(); CT_FtnEdn ctNote = new CT_FtnEdn(); ctNote.id = (noteId.ToString()); ctNote.type = (ST_FtnEdn.normal); footnotes.AddFootnote(ctNote); XWPFDocument docIn = XWPFTestDataSamples.WriteOutAndReadBack(docOut); XWPFFootnote note = docIn.GetFootnoteByID(noteId); Assert.AreEqual(note.GetCTFtnEdn().type, ST_FtnEdn.normal); }
public XWPFParagraph(CT_P prgrph, IBody part) { this.paragraph = prgrph; this.part = part; this.document = part.GetXWPFDocument(); if (this.document == null) { throw new NullReferenceException(); } this.Runs = new List <XWPFRun>(); this.BuildRunsInOrderFromXml(this.paragraph.Items); foreach (XWPFRun run in this.Runs) { CT_R ctr = run.GetCTR(); if (this.document != null) { foreach (object obj in ctr.Items) { if (obj is CT_FtnEdnRef) { CT_FtnEdnRef ctFtnEdnRef = (CT_FtnEdnRef)obj; this.footnoteText.Append("[").Append(ctFtnEdnRef.id).Append(": "); XWPFFootnote xwpfFootnote = this.document.GetFootnoteByID(int.Parse(ctFtnEdnRef.id)) ?? this.document.GetEndnoteByID(int.Parse(ctFtnEdnRef.id)); bool flag = true; foreach (XWPFParagraph paragraph in (IEnumerable <XWPFParagraph>)xwpfFootnote.Paragraphs) { if (!flag) { this.footnoteText.Append("\n"); flag = false; } this.footnoteText.Append(paragraph.GetText()); } this.footnoteText.Append("]"); } } } } }
public void AddFootnote(XWPFFootnote footnote) { this.listFootnote.Add(footnote); this.ctFootnotes.AddNewFootnote().Set(footnote.GetCTFtnEdn()); }
public XWPFParagraph(CT_P prgrph, IBody part) { this.paragraph = prgrph; this.part = part; this.document = part.GetXWPFDocument(); if (document == null) { throw new NullReferenceException(); } // Build up the character runs runs = new List <XWPFRun>(); BuildRunsInOrderFromXml(paragraph.Items); // Look for bits associated with the runs foreach (XWPFRun run in runs) { CT_R r = run.GetCTR(); if (document != null) { for (int i = 0; i < r.Items.Count; i++) { object o = r.Items[i]; if (o is CT_FtnEdnRef) { CT_FtnEdnRef ftn = (CT_FtnEdnRef)o; footnoteText.Append("[").Append(ftn.id).Append(": "); XWPFFootnote footnote = null; if (r.ItemsElementName.Count > i && r.ItemsElementName[i] == RunItemsChoiceType.endnoteReference) { footnote = document.GetEndnoteByID(int.Parse(ftn.id)); if (footnote == null) { footnote = document.GetFootnoteByID(int.Parse(ftn.id)); } } else { footnote = document.GetFootnoteByID(int.Parse(ftn.id)); if (footnote == null) { footnote = document.GetEndnoteByID(int.Parse(ftn.id)); } } if (footnote != null) { bool first = true; foreach (XWPFParagraph p in footnote.Paragraphs) { if (!first) { footnoteText.Append("\n"); first = false; } footnoteText.Append(p.Text); } } footnoteText.Append("]"); } } } } // Get all our child nodes in order, and process them // into XWPFRuns where we can /*XmlCursor c = paragraph.NewCursor(); * c.SelectPath("child::*"); * while (c.ToNextSelection()) { * XmlObject o = c.Object; * if(o is CT_R) { * Runs.Add(new XWPFRun((CT_R)o, this)); * } * if(o is CT_Hyperlink) { * CT_Hyperlink link = (CT_Hyperlink)o; * foreach(CTR r in link.RList) { * Runs.Add(new XWPFHyperlinkRun(link, r, this)); * } * } * if(o is CT_SdtRun) { * CT_SdtContentRun run = ((CT_SdtRun)o).SdtContent; * foreach(CTR r in Run.RList) { * Runs.Add(new XWPFRun(r, this)); * } * } * if(o is CT_RunTrackChange) { * foreach(CTR r in ((CT_RunTrackChange)o).RList) { * Runs.Add(new XWPFRun(r, this)); * } * } * if(o is CT_SimpleField) { * foreach(CTR r in ((CT_SimpleField)o).RList) { * Runs.Add(new XWPFRun(r, this)); * } * } * }*/ }
public XWPFParagraph(CT_P prgrph, IBody part) { this.paragraph = prgrph; this.part = part; this.document = part.GetXWPFDocument(); if (document == null) { throw new NullReferenceException(); } // Build up the character runs runs = new List <XWPFRun>(); iRuns = new List <IRunElement>(); BuildRunsInOrderFromXml(paragraph.Items); // Look for bits associated with the runs foreach (XWPFRun run in runs) { CT_R r = run.GetCTR(); if (document != null) { for (int i = 0; i < r.Items.Count; i++) { object o = r.Items[i]; if (o is CT_FtnEdnRef) { CT_FtnEdnRef ftn = (CT_FtnEdnRef)o; footnoteText.Append("[").Append(ftn.id).Append(": "); XWPFFootnote footnote = null; if (r.ItemsElementName.Count > i && r.ItemsElementName[i] == RunItemsChoiceType.endnoteReference) { footnote = document.GetEndnoteByID(int.Parse(ftn.id)); if (footnote == null) { footnote = document.GetFootnoteByID(int.Parse(ftn.id)); } } else { footnote = document.GetFootnoteByID(int.Parse(ftn.id)); if (footnote == null) { footnote = document.GetEndnoteByID(int.Parse(ftn.id)); } } if (footnote != null) { bool first = true; foreach (XWPFParagraph p in footnote.Paragraphs) { if (!first) { footnoteText.Append("\n"); first = false; } footnoteText.Append(p.Text); } } footnoteText.Append("]"); } } } } }