From 66b7299a795fc0dd6a06cb1b8f59808978360f37 Mon Sep 17 00:00:00 2001 From: Kostadin Spiridonov Date: Fri, 8 Mar 2019 14:38:23 +0200 Subject: [PATCH] Added on transform action --- OpenXmlPowerTools/HtmlToWmlConverter.cs | 2 ++ OpenXmlPowerTools/HtmlToWmlConverterCore.cs | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/OpenXmlPowerTools/HtmlToWmlConverter.cs b/OpenXmlPowerTools/HtmlToWmlConverter.cs index 52685533..3a256e3d 100644 --- a/OpenXmlPowerTools/HtmlToWmlConverter.cs +++ b/OpenXmlPowerTools/HtmlToWmlConverter.cs @@ -34,6 +34,8 @@ public class HtmlToWmlConverterSettings public Emu PageWidthEmus { get { return Emu.TwipsToEmus(PageWidthTwips); } } public Emu PageMarginLeftEmus { get { return Emu.TwipsToEmus(PageMarginLeftTwips); } } public Emu PageMarginRightEmus { get { return Emu.TwipsToEmus(PageMarginRightTwips); } } + + public Action OnTransform { get; set; } } public class HtmlToWmlConverter diff --git a/OpenXmlPowerTools/HtmlToWmlConverterCore.cs b/OpenXmlPowerTools/HtmlToWmlConverterCore.cs index 438c57a2..3ad08bd4 100644 --- a/OpenXmlPowerTools/HtmlToWmlConverterCore.cs +++ b/OpenXmlPowerTools/HtmlToWmlConverterCore.cs @@ -768,6 +768,13 @@ private enum NextExpected private static object Transform(XNode node, HtmlToWmlConverterSettings settings, WordprocessingDocument wDoc, NextExpected nextExpected, bool preserveWhiteSpace) { + var result = TransformInner(node, settings, wDoc, nextExpected, preserveWhiteSpace); + settings?.OnTransform?.Invoke(node, result); + return result; + } + + private static object TransformInner(XNode node, HtmlToWmlConverterSettings settings, WordprocessingDocument wDoc, NextExpected nextExpected, bool preserveWhiteSpace) + { XElement element = node as XElement; if (element != null) {