protected override void Write(OpenXMLRenderer renderer, CodeInline obj) { { var run = renderer.PushNewRun(); renderer.ApplyStyleToRun(StyleDictionary.IdToName[FormatStyle.CodeInline], run); var runProp = run.ChildElements[0] as RunProperties; runProp.AppendChild(new CharacterScale { Val = 25 }); run.AppendChild(new DocumentFormat.OpenXml.Wordprocessing.Text() { Space = SpaceProcessingModeValues.Preserve, Text = "\u202F" }); renderer.PopTo(run); } { var run = renderer.PushNewRun(); renderer.ApplyStyleToRun(StyleDictionary.IdToName[FormatStyle.CodeInline], run); run.AppendChild(new DocumentFormat.OpenXml.Wordprocessing.Text() { Space = SpaceProcessingModeValues.Preserve, Text = obj.Content.ToString().Replace(" ", "\u00A0") }); // change spaces against fixed spaces renderer.PopTo(run); } { var run = renderer.PushNewRun(); renderer.ApplyStyleToRun(StyleDictionary.IdToName[FormatStyle.CodeInline], run); var runProp = run.ChildElements[0] as RunProperties; runProp.AppendChild(new CharacterScale { Val = 25 }); run.AppendChild(new DocumentFormat.OpenXml.Wordprocessing.Text() { Space = SpaceProcessingModeValues.Preserve, Text = "\u202F" }); renderer.PopTo(run); } }
/// <inheritdoc/> protected override void Write(OpenXMLRenderer renderer, LinkInline link) { var url = link.GetDynamicUrl != null?link.GetDynamicUrl() ?? link.Url : link.Url; if (link.IsImage) { RenderImage(renderer, link, url); renderer.AddBookmarkIfNeccessary(link); } else // link is not an image { if (Uri.IsWellFormedUriString(url, UriKind.RelativeOrAbsolute)) { ++_linkIndex; //var nextId = renderer._wordDocument.MainDocumentPart.Parts.Count() + 1; var rId = "lkId" + _linkIndex.ToString(System.Globalization.CultureInfo.InvariantCulture); renderer._wordDocument.MainDocumentPart.AddHyperlinkRelationship(new System.Uri(url, System.UriKind.Absolute), true, rId); var hyperlink = new Hyperlink() { Id = rId }; renderer.Push(hyperlink); renderer.WriteChildren(link); foreach (var run in hyperlink.ChildElements.OfType <Run>()) { renderer.ApplyStyleToRun(StyleDictionary.IdToName[FormatStyle.Link], run); } renderer.PopTo(hyperlink); } else if (!string.IsNullOrEmpty(url) && url.StartsWith("#")) // not a well formed Uri String - then it is probably a fragment reference { if (null != renderer.FigureLinkList) { var idx = renderer.FigureLinkList.FindIndex(x => object.ReferenceEquals(x.Link, link)); if (idx >= 0) { renderer.CurrentFigureLinkListIndex = idx; } } var hyperlink = new Hyperlink() { Anchor = url.Substring(1) }; renderer.Push(hyperlink); renderer.WriteChildren(link); if (!renderer.CurrentFigureLinkListIndex.HasValue || !renderer.DoNotFormatFigureLinksAsHyperlinks) { foreach (var run in hyperlink.ChildElements.OfType <Run>()) { renderer.ApplyStyleToRun(StyleDictionary.IdToName[FormatStyle.Link], run); } } renderer.PopTo(hyperlink); renderer.CurrentFigureLinkListIndex = null; } } }