private DiagramDocumentCore DeserializeAndEliminateDuplicateStyles(Stream buf) { var doc = DiagramDocumentCore.Load(buf); doc.Styles.Clear(); foreach (var shape in doc.Shapes) { var style = _doc.Styles.Where(s => s.Equals(shape.Style)).FirstOrDefault(); if (style != null) { shape.Style = style; } else { doc.Styles.Add(shape.Style); } } return(doc); }
public static DiagramDocument Load(Stream stream) { var core = DiagramDocumentCore.Load(stream); return(new DiagramDocument(core)); }