public void MG001(string name) { DirectoryInfo sourceDir = new DirectoryInfo("../../../../TestFiles/"); FileInfo fi = new FileInfo(Path.Combine(sourceDir.FullName, name)); MetricsGetterSettings settings = new MetricsGetterSettings() { IncludeTextInContentControls = false, IncludeXlsxTableCellData = false, RetrieveNamespaceList = true, RetrieveContentTypeList = true, }; var extension = fi.Extension.ToLower(); XElement metrics = null; if (Util.IsWordprocessingML(extension)) { WmlDocument wmlDocument = new WmlDocument(fi.FullName); metrics = MetricsGetter.GetDocxMetrics(wmlDocument, settings); } else if (Util.IsSpreadsheetML(extension)) { SmlDocument smlDocument = new SmlDocument(fi.FullName); metrics = MetricsGetter.GetXlsxMetrics(smlDocument, settings); } else if (Util.IsPresentationML(extension)) { PmlDocument pmlDocument = new PmlDocument(fi.FullName); metrics = MetricsGetter.GetPptxMetrics(pmlDocument, settings); } Assert.NotNull(metrics); }
[InlineData("Styles.docx", true)] // Style Hierarchy public void Word(string fileName, bool includeTextInControls) { var fi = new FileInfo(GetFilePath(fileName)); var settings = new MetricsGetterSettings { IncludeTextInContentControls = includeTextInControls }; var metrics = MetricsGetter.GetMetrics(fi.FullName, settings); Log.WriteLine(metrics.ToString()); }
private static void Main() { var fi = new FileInfo("../../ContentControls.docx"); var settings = new MetricsGetterSettings { IncludeTextInContentControls = false }; Console.WriteLine("============== No text from content controls =============="); Console.WriteLine(fi.FullName); Console.WriteLine(MetricsGetter.GetMetrics(fi.FullName, settings)); Console.WriteLine(); fi = new FileInfo("../../ContentControls.docx"); settings = new MetricsGetterSettings { IncludeTextInContentControls = true }; Console.WriteLine("============== With text from content controls =============="); Console.WriteLine(fi.FullName); Console.WriteLine(MetricsGetter.GetMetrics(fi.FullName, settings)); Console.WriteLine(); fi = new FileInfo("../../TrackedRevisions.docx"); settings = new MetricsGetterSettings { IncludeTextInContentControls = true }; Console.WriteLine("============== Tracked Revisions =============="); Console.WriteLine(fi.FullName); Console.WriteLine(MetricsGetter.GetMetrics(fi.FullName, settings)); Console.WriteLine(); fi = new FileInfo("../../Styles.docx"); settings = new MetricsGetterSettings { IncludeTextInContentControls = false }; Console.WriteLine("============== Style Hierarchy =============="); Console.WriteLine(fi.FullName); Console.WriteLine(MetricsGetter.GetMetrics(fi.FullName, settings)); Console.WriteLine(); fi = new FileInfo("../../Tables.xlsx"); settings = new MetricsGetterSettings { IncludeTextInContentControls = false, IncludeXlsxTableCellData = true }; Console.WriteLine("============== Spreadsheet Tables =============="); Console.WriteLine(fi.FullName); Console.WriteLine(MetricsGetter.GetMetrics(fi.FullName, settings)); Console.WriteLine(); }
public void Excel() { var fi = new FileInfo(GetFilePath("Tables.xlsx")); var settings = new MetricsGetterSettings { IncludeTextInContentControls = false, IncludeXlsxTableCellData = true }; var metrics = MetricsGetter.GetMetrics(fi.FullName, settings); Log.WriteLine(metrics.ToString()); }
public static DocxMetrics GetDocxMetrics(string fileName) { var wmlDoc = new WmlDocument(fileName); var settings = new MetricsGetterSettings { IncludeTextInContentControls = false, IncludeXlsxTableCellData = false }; var metricsXml = MetricsGetter.GetDocxMetrics(wmlDoc, settings); var metrics = new DocxMetrics { FileName = wmlDoc.FileName, StyleHierarchy = GetXmlDocumentForMetrics(metricsXml, H.StyleHierarchy), ContentControls = GetXmlDocumentForMetrics(metricsXml, H.Parts), TextBox = GetIntForMetrics(metricsXml, H.TextBox), ContentControlCount = GetIntForMetrics(metricsXml, H.ContentControl), ComplexField = GetIntForMetrics(metricsXml, H.ComplexField), SimpleField = GetIntForMetrics(metricsXml, H.SimpleField), AltChunk = GetIntForMetrics(metricsXml, H.AltChunk), Table = GetIntForMetrics(metricsXml, H.Table), Hyperlink = GetIntForMetrics(metricsXml, H.Hyperlink), LegacyFrame = GetIntForMetrics(metricsXml, H.LegacyFrame), ActiveX = GetIntForMetrics(metricsXml, H.ActiveX), SubDocument = GetIntForMetrics(metricsXml, H.SubDocument), ReferenceToNullImage = GetIntForMetrics(metricsXml, H.ReferenceToNullImage), ElementCount = GetIntForMetrics(metricsXml, H.ElementCount), AverageParagraphLength = GetIntForMetrics(metricsXml, H.AverageParagraphLength), RunCount = GetIntForMetrics(metricsXml, H.RunCount), ZeroLengthText = GetIntForMetrics(metricsXml, H.ZeroLengthText), MultiFontRun = GetIntForMetrics(metricsXml, H.MultiFontRun), AsciiCharCount = GetIntForMetrics(metricsXml, H.AsciiCharCount), CSCharCount = GetIntForMetrics(metricsXml, H.CSCharCount), EastAsiaCharCount = GetIntForMetrics(metricsXml, H.EastAsiaCharCount), HAnsiCharCount = GetIntForMetrics(metricsXml, H.HAnsiCharCount), AsciiRunCount = GetIntForMetrics(metricsXml, H.AsciiRunCount), CSRunCount = GetIntForMetrics(metricsXml, H.CSRunCount), EastAsiaRunCount = GetIntForMetrics(metricsXml, H.EastAsiaRunCount), HAnsiRunCount = GetIntForMetrics(metricsXml, H.HAnsiRunCount), RevisionTracking = GetBoolForMetrics(metricsXml, H.RevisionTracking), EmbeddedXlsx = GetBoolForMetrics(metricsXml, H.EmbeddedXlsx), InvalidSaveThroughXslt = GetBoolForMetrics(metricsXml, H.InvalidSaveThroughXslt), TrackRevisionsEnabled = GetBoolForMetrics(metricsXml, H.TrackRevisionsEnabled), DocumentProtection = GetBoolForMetrics(metricsXml, H.DocumentProtection), Valid = GetBoolForMetrics(metricsXml, H.Valid), Languages = GetStringForMetrics(metricsXml, H.Languages), 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); }