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)
{