private static OXmlAnchorWrapSquare CreateAnchorWrapSquare(BsonDocument element) { OXmlAnchorWrapSquare wrapSquare = new OXmlAnchorWrapSquare(); if (element != null) { wrapSquare.WrapText = element.zGet("WrapText").zAsString().zTryParseEnum(DW.WrapTextValues.BothSides); wrapSquare.DistanceFromTop = element.zGet("DistanceFromTop").zAsNullableInt(); wrapSquare.DistanceFromBottom = element.zGet("DistanceFromBottom").zAsNullableInt(); wrapSquare.DistanceFromLeft = element.zGet("DistanceFromLeft").zAsNullableInt(); wrapSquare.DistanceFromRight = element.zGet("DistanceFromRight").zAsNullableInt(); wrapSquare.EffectExtent = CreateEffectExtent(element.zGet("EffectExtent").zAsBsonDocument()); } return(wrapSquare); }
//public void SetWrapSquare(EnumValue<DW.WrapTextValues> wrapText, uint distanceFromTop = 0, uint distanceFromBottom = 0, uint distanceFromLeft = 0, uint distanceFromRight = 0, DW.EffectExtent effectExtent = null) private OpenXmlElement CreateWrapSquare(OXmlAnchorWrapSquare wrap) { // <wp:wrapSquare wrapText="bothSides" distB="57150" distT="57150" distL="57150" distR="57150"/> // <wp:wrapSquare wrapText="bothSides"/> //Square Wrapping, <wp:wrapSquare> DW.WrapSquare wrapElement = new DW.WrapSquare(); // Text Wrapping Location, <wp:wrapSquare wrapText> // BothSides - Both Sides ("bothSides"), Left - Left Side Only ("left"), Right - Right Side Only ("right"), Largest - Largest Side Only ("largest") //wrapElement.WrapText = wrapText; wrapElement.WrapText = wrap.WrapText; if (wrap.DistanceFromTop != null) { // Distance From Text (Top), <wp:wrapSquare distT> wrapElement.DistanceFromTop = (uint)wrap.DistanceFromTop; } if (wrap.DistanceFromBottom != null) { // Distance From Text on Bottom Edge, <wp:wrapSquare distB> wrapElement.DistanceFromBottom = (uint)wrap.DistanceFromBottom; } if (wrap.DistanceFromLeft != null) { // Distance From Text on Left Edge, <wp:wrapSquare distL> wrapElement.DistanceFromLeft = (uint)wrap.DistanceFromLeft; } if (wrap.DistanceFromRight != null) { // Distance From Text on Right Edge, <wp:wrapSquare distR> wrapElement.DistanceFromRight = (uint)wrap.DistanceFromRight; } if (wrap.EffectExtent != null) { // Object Extents Including Effects <wp:effectExtent> // BottomEdge : Additional Extent on Bottom Edge (b) // LeftEdge : Additional Extent on Left Edge (l) // RightEdge : Additional Extent on Right Edge (r) // TopEdge : Additional Extent on Top Edge (t) // <wp:effectExtent b="0" l="0" r="0" t="0"/> wrapElement.EffectExtent = wrap.EffectExtent.ToEffectExtent(); } //_wrapElement = wrapElement; return(wrapElement); }
private static void SerializeWrapSquare(BsonWriter bsonWriter, OXmlAnchorWrapSquare wrap) { bsonWriter.WriteStartDocument("WrapSquare"); //if (wrap.WrapText != DW.WrapTextValues.BothSides) bsonWriter.WriteString("WrapText", wrap.WrapText.ToString()); if (wrap.DistanceFromTop != null) { bsonWriter.WriteInt32("DistanceFromTop", (int)wrap.DistanceFromTop); } if (wrap.DistanceFromBottom != null) { bsonWriter.WriteInt32("DistanceFromBottom", (int)wrap.DistanceFromBottom); } if (wrap.DistanceFromLeft != null) { bsonWriter.WriteInt32("DistanceFromLeft", (int)wrap.DistanceFromLeft); } if (wrap.DistanceFromRight != null) { bsonWriter.WriteInt32("DistanceFromRight", (int)wrap.DistanceFromRight); } SerializeEffectExtent(bsonWriter, wrap.EffectExtent); bsonWriter.WriteEndDocument(); }