public static DocxMetrics GetDocxMetrics(string fileName) { WmlDocument wmlDoc = new WmlDocument(fileName); MetricsGetterSettings settings = new MetricsGetterSettings(); settings.IncludeTextInContentControls = false; settings.IncludeXlsxTableCellData = false; var metricsXml = MetricsGetter.GetDocxMetrics(wmlDoc, settings); DocxMetrics metrics = new DocxMetrics(); metrics.FileName = wmlDoc.FileName; metrics.StyleHierarchy = GetXmlDocumentForMetrics(metricsXml, H.StyleHierarchy); metrics.ContentControls = GetXmlDocumentForMetrics(metricsXml, H.Parts); metrics.TextBox = GetIntForMetrics(metricsXml, H.TextBox); metrics.ContentControlCount = GetIntForMetrics(metricsXml, H.ContentControl); metrics.ComplexField = GetIntForMetrics(metricsXml, H.ComplexField); metrics.SimpleField = GetIntForMetrics(metricsXml, H.SimpleField); metrics.AltChunk = GetIntForMetrics(metricsXml, H.AltChunk); metrics.Table = GetIntForMetrics(metricsXml, H.Table); metrics.Hyperlink = GetIntForMetrics(metricsXml, H.Hyperlink); metrics.LegacyFrame = GetIntForMetrics(metricsXml, H.LegacyFrame); metrics.ActiveX = GetIntForMetrics(metricsXml, H.ActiveX); metrics.SubDocument = GetIntForMetrics(metricsXml, H.SubDocument); metrics.ReferenceToNullImage = GetIntForMetrics(metricsXml, H.ReferenceToNullImage); metrics.ElementCount = GetIntForMetrics(metricsXml, H.ElementCount); metrics.AverageParagraphLength = GetIntForMetrics(metricsXml, H.AverageParagraphLength); metrics.RunCount = GetIntForMetrics(metricsXml, H.RunCount); metrics.ZeroLengthText = GetIntForMetrics(metricsXml, H.ZeroLengthText); metrics.MultiFontRun = GetIntForMetrics(metricsXml, H.MultiFontRun); metrics.AsciiCharCount = GetIntForMetrics(metricsXml, H.AsciiCharCount); metrics.CSCharCount = GetIntForMetrics(metricsXml, H.CSCharCount); metrics.EastAsiaCharCount = GetIntForMetrics(metricsXml, H.EastAsiaCharCount); metrics.HAnsiCharCount = GetIntForMetrics(metricsXml, H.HAnsiCharCount); metrics.AsciiRunCount = GetIntForMetrics(metricsXml, H.AsciiRunCount); metrics.CSRunCount = GetIntForMetrics(metricsXml, H.CSRunCount); metrics.EastAsiaRunCount = GetIntForMetrics(metricsXml, H.EastAsiaRunCount); metrics.HAnsiRunCount = GetIntForMetrics(metricsXml, H.HAnsiRunCount); metrics.RevisionTracking = GetBoolForMetrics(metricsXml, H.RevisionTracking); metrics.EmbeddedXlsx = GetBoolForMetrics(metricsXml, H.EmbeddedXlsx); metrics.InvalidSaveThroughXslt = GetBoolForMetrics(metricsXml, H.InvalidSaveThroughXslt); metrics.TrackRevisionsEnabled = GetBoolForMetrics(metricsXml, H.TrackRevisionsEnabled); metrics.DocumentProtection = GetBoolForMetrics(metricsXml, H.DocumentProtection); metrics.Valid = GetBoolForMetrics(metricsXml, H.Valid); metrics.Languages = GetStringForMetrics(metricsXml, H.Languages); metrics.NumberingFormatList = GetStringForMetrics(metricsXml, H.NumberingFormatList); return(metrics); }
public static DocxMetrics GetDocxMetrics(string fileName) { WmlDocument wmlDoc = new WmlDocument(fileName); MetricsGetterSettings settings = new MetricsGetterSettings(); settings.IncludeTextInContentControls = false; settings.IncludeXlsxTableCellData = false; var metricsXml = MetricsGetter.GetDocxMetrics(wmlDoc, settings); DocxMetrics metrics = new DocxMetrics(); metrics.FileName = wmlDoc.FileName; metrics.StyleHierarchy = GetXmlDocumentForMetrics(metricsXml, H.StyleHierarchy); metrics.ContentControls = GetXmlDocumentForMetrics(metricsXml, H.Parts); metrics.TextBox = GetIntForMetrics(metricsXml, H.TextBox); metrics.ContentControlCount = GetIntForMetrics(metricsXml, H.ContentControl); metrics.ComplexField = GetIntForMetrics(metricsXml, H.ComplexField); metrics.SimpleField = GetIntForMetrics(metricsXml, H.SimpleField); metrics.AltChunk = GetIntForMetrics(metricsXml, H.AltChunk); metrics.Table = GetIntForMetrics(metricsXml, H.Table); metrics.Hyperlink = GetIntForMetrics(metricsXml, H.Hyperlink); metrics.LegacyFrame = GetIntForMetrics(metricsXml, H.LegacyFrame); metrics.ActiveX = GetIntForMetrics(metricsXml, H.ActiveX); metrics.SubDocument = GetIntForMetrics(metricsXml, H.SubDocument); metrics.ReferenceToNullImage = GetIntForMetrics(metricsXml, H.ReferenceToNullImage); metrics.ElementCount = GetIntForMetrics(metricsXml, H.ElementCount); metrics.AverageParagraphLength = GetIntForMetrics(metricsXml, H.AverageParagraphLength); metrics.RunCount = GetIntForMetrics(metricsXml, H.RunCount); metrics.ZeroLengthText = GetIntForMetrics(metricsXml, H.ZeroLengthText); metrics.MultiFontRun = GetIntForMetrics(metricsXml, H.MultiFontRun); metrics.AsciiCharCount = GetIntForMetrics(metricsXml, H.AsciiCharCount); metrics.CSCharCount = GetIntForMetrics(metricsXml, H.CSCharCount); metrics.EastAsiaCharCount = GetIntForMetrics(metricsXml, H.EastAsiaCharCount); metrics.HAnsiCharCount = GetIntForMetrics(metricsXml, H.HAnsiCharCount); metrics.AsciiRunCount = GetIntForMetrics(metricsXml, H.AsciiRunCount); metrics.CSRunCount = GetIntForMetrics(metricsXml, H.CSRunCount); metrics.EastAsiaRunCount = GetIntForMetrics(metricsXml, H.EastAsiaRunCount); metrics.HAnsiRunCount = GetIntForMetrics(metricsXml, H.HAnsiRunCount); metrics.RevisionTracking = GetBoolForMetrics(metricsXml, H.RevisionTracking); metrics.EmbeddedXlsx = GetBoolForMetrics(metricsXml, H.EmbeddedXlsx); metrics.InvalidSaveThroughXslt = GetBoolForMetrics(metricsXml, H.InvalidSaveThroughXslt); metrics.TrackRevisionsEnabled = GetBoolForMetrics(metricsXml, H.TrackRevisionsEnabled); metrics.DocumentProtection = GetBoolForMetrics(metricsXml, H.DocumentProtection); metrics.Valid = GetBoolForMetrics(metricsXml, H.Valid); metrics.Languages = GetStringForMetrics(metricsXml, H.Languages); metrics.NumberingFormatList = GetStringForMetrics(metricsXml, H.NumberingFormatList); return metrics; }