diff --git a/src/NPOI.OOXML/XWPF/Usermodel/XWPFParagraph.cs b/src/NPOI.OOXML/XWPF/Usermodel/XWPFParagraph.cs index 0990e05..ecb7d3b 100644 --- a/src/NPOI.OOXML/XWPF/Usermodel/XWPFParagraph.cs +++ b/src/NPOI.OOXML/XWPF/Usermodel/XWPFParagraph.cs @@ -1340,6 +1340,26 @@ namespace NPOI.XWPF.UserModel return xwpfRun; } + /** + * Appends a new hyperlink run to this paragraph + * + * @return a new hyperlink run + */ + public XWPFHyperlinkRun CreateHyperlinkRun(string rId) + { + CT_R r = new CT_R(); + r.AddNewRPr().rStyle = new CT_String() { val = "Hyperlink" }; + + CT_Hyperlink1 hl = paragraph.AddNewHyperlink(); + hl.history = ST_OnOff.on; + hl.id = rId; + hl.Items.Add(r); + XWPFHyperlinkRun xwpfRun = new XWPFHyperlinkRun(hl, r, this); + runs.Add(xwpfRun); + iRuns.Add(xwpfRun); + return xwpfRun; + } + /** * insert a new Run in RunArray * @param pos diff --git a/src/NPOI.OpenXmlFormats/Wordprocessing/Paragraph.cs b/src/NPOI.OpenXmlFormats/Wordprocessing/Paragraph.cs index 908ecfb..72ed657 100644 --- a/src/NPOI.OpenXmlFormats/Wordprocessing/Paragraph.cs +++ b/src/NPOI.OpenXmlFormats/Wordprocessing/Paragraph.cs @@ -371,6 +371,17 @@ namespace NPOI.OpenXmlFormats.Wordprocessing return r; } + public CT_Hyperlink1 AddNewHyperlink() + { + CT_Hyperlink1 hl = new CT_Hyperlink1(); + lock (this) + { + itemsField.Add(hl); + itemsElementNameField.Add(ParagraphItemsChoiceType.hyperlink); + } + return hl; + } + [XmlElement("ItemsElementName", Order = 2)] [XmlIgnore] public List ItemsElementName