Beispiel #1
0
 /// <summary>
 /// Scales a CS TTF SubScript X or Y co-ordinate to DrawingML Units (EMU)
 /// </summary>
 public static Int64Value ScaleCsTtfSubScriptToEmu(double XorY, double bondLength)
 {
     if (bondLength > 0.1)
     {
         double scaled = XorY * EmusPerCsTtfPointSubscript(Math.Round(bondLength));
         return(Int64Value.FromInt64((long)scaled));
     }
     else
     {
         double scaled = XorY * EmusPerCsTtfPointSubscript(20);
         return(Int64Value.FromInt64((long)scaled));
     }
 }
 /// <summary>
 /// Scales a C# TTF X or Y co-ordinate to DrawingML Units (EMU)
 /// </summary>
 /// <param name="XorY"></param>
 /// <param name="bondLength"></param>
 /// <returns></returns>
 public static Int64Value ScaleCsTtfToEmu(double XorY, double bondLength)
 {
     if (bondLength > 0.1)
     {
         double scaled = XorY * EmusPerCsTtfPoint(bondLength);
         return(Int64Value.FromInt64((long)scaled));
     }
     else
     {
         double scaled = XorY * EmusPerCsTtfPoint(20);
         return(Int64Value.FromInt64((long)scaled));
     }
 }
Beispiel #3
0
        /// <summary>
        /// Scales a CML X or Y co-ordinate to DrawingML Units (EMU)
        /// </summary>
        /// <param name="XorY"></param>
        /// <returns></returns>
        public static Int64Value ScaleCmlToEmu(double XorY)
        {
            double scaled = XorY * EMUS_PER_CML_POINT;

            return(Int64Value.FromInt64((long)scaled));
        }
Beispiel #4
0
        public void OpenXmlSimpleTypeConverterTest()
        {
            // 1. Base64BinaryValue
            Base64BinaryValue base64 = new Base64BinaryValue();

            base64 = "AA3322";
            Assert.True(base64 == "AA3322");
            Assert.Equal("AA3322", base64.Value);
            base64 = Base64BinaryValue.FromString("1234");
            Assert.Equal("1234", base64.ToString());
            Assert.Equal("1234", Base64BinaryValue.ToString(base64));

            // 2. BooleanValue
            BooleanValue booleanValue = new BooleanValue();

            booleanValue = true;
            Assert.True(booleanValue);
            Assert.True(booleanValue.Value);
            booleanValue = BooleanValue.FromBoolean(false);
            Assert.False(booleanValue);
            Assert.False(BooleanValue.ToBoolean(booleanValue));

            // 3. ByteValue
            ByteValue byteValue = new ByteValue();
            byte      bt        = 1;

            byteValue = bt;
            Assert.True(bt == byteValue);
            Assert.Equal(bt, byteValue.Value);
            bt        = 2;
            byteValue = ByteValue.FromByte(bt);
            Assert.Equal(bt, ByteValue.ToByte(byteValue));

            // 4. DateTimeValue
            DateTimeValue dtValue = new DateTimeValue();
            DateTime      dt      = DateTime.Now;

            dtValue = dt;
            Assert.True(dt == dtValue);
            dt      = DateTime.Now.AddDays(1);
            dtValue = DateTimeValue.FromDateTime(dt);
            Assert.Equal(dt, dtValue.Value);
            Assert.Equal(dt, DateTimeValue.ToDateTime(dt));

            // 5. DecimalValue
            DecimalValue decimalValue = new DecimalValue();
            decimal      dcm          = 10;

            decimalValue = dcm;
            Assert.True(dcm == decimalValue);
            decimalValue = DecimalValue.FromDecimal(20);
            Assert.Equal(20, decimalValue.Value);
            Assert.Equal(20, DecimalValue.ToDecimal(decimalValue));

            // 6. DoubleValue
            DoubleValue doubleValue = new DoubleValue();
            double      dbl         = 1.1;

            doubleValue = dbl;
            Assert.True(dbl == doubleValue);
            doubleValue = DoubleValue.FromDouble(2.2);
            Assert.Equal(2.2, doubleValue.Value);
            Assert.Equal(2.2, DoubleValue.ToDouble(doubleValue));

            // 7. HexBinaryValue
            HexBinaryValue hexBinaryValue = new HexBinaryValue();
            string         hex            = "0X99CCFF";

            hexBinaryValue = hex;
            Assert.True(hex == hexBinaryValue);
            hex            = "111111";
            hexBinaryValue = HexBinaryValue.FromString(hex);
            Assert.Equal(hex, hexBinaryValue.Value);
            Assert.Equal(hex, HexBinaryValue.ToString(hexBinaryValue));

            // 8. Int16
            Int16Value int16Value = new Int16Value();
            short      int16      = 16;

            int16Value = int16;
            Assert.True(int16 == int16Value);
            int16      = 17;
            int16Value = Int16Value.FromInt16(int16);
            Assert.Equal(int16, int16Value.Value);
            Assert.Equal(int16, Int16Value.ToInt16(int16Value));

            // 9. Int32
            Int32Value int32Value = new Int32Value();
            int        int32      = 32;

            int32Value = int32;
            Assert.True(int32 == int32Value);
            int32      = 33;
            int32Value = Int32Value.FromInt32(int32);
            Assert.Equal(int32, int32Value.Value);
            Assert.Equal(int32, Int32Value.ToInt32(int32Value));

            // 10. Int64
            Int64Value int64Value = new Int64Value();
            long       int64      = 64;

            int64Value = int64;
            Assert.True(int64 == int64Value);
            int64      = 17;
            int64Value = Int64Value.FromInt64(int64);
            Assert.Equal(int64, int64Value.Value);
            Assert.Equal(int64, Int64Value.ToInt64(int64Value));

            // 11. IntegerValue
            IntegerValue integerValue = new IntegerValue();
            int          integer      = 64;

            integerValue = integer;
            Assert.True(integer == integerValue);
            integer      = 17;
            integerValue = IntegerValue.FromInt64(integer);
            Assert.Equal(integer, integerValue.Value);
            Assert.Equal(integer, IntegerValue.ToInt64(integerValue));

            // 12. OnOffValue
            OnOffValue onOffValue = new OnOffValue();

            onOffValue = true;
            Assert.True(onOffValue);
            onOffValue = OnOffValue.FromBoolean(false);
            Assert.False(onOffValue.Value);
            Assert.False(OnOffValue.ToBoolean(onOffValue));

            // 13. SByteValue
            SByteValue sbyteValue = new SByteValue();
            sbyte      sbt        = sbyte.MaxValue;

            sbyteValue = sbt;
            Assert.True(sbt == sbyteValue);
            sbt        = sbyte.MinValue;
            sbyteValue = SByteValue.FromSByte(sbt);
            Assert.Equal(sbt, sbyteValue.Value);
            Assert.Equal(sbt, SByteValue.ToSByte(sbt));

            // 14. SingleValue
            SingleValue singleValue = new SingleValue();
            float       single      = float.MaxValue;

            singleValue = single;
            Assert.True(single == singleValue);
            single      = float.NaN;
            singleValue = SingleValue.FromSingle(single);
            Assert.Equal(single, singleValue.Value);
            Assert.Equal(single, SingleValue.ToSingle(singleValue));

            // 15. StringValue
            StringValue stringValue = new StringValue();
            string      str         = "Ethan";

            stringValue = str;
            Assert.True(str == stringValue);
            str         = "Yin";
            stringValue = StringValue.FromString(str);
            Assert.Equal(str, stringValue.Value);
            Assert.Equal(str, stringValue.ToString());
            Assert.Equal(str, StringValue.ToString(stringValue));

            // 16. TrueFalseBlankValue
            TrueFalseBlankValue tfbValue = new TrueFalseBlankValue();

            tfbValue = true;
            Assert.True(tfbValue);
            tfbValue = TrueFalseBlankValue.FromBoolean(false);
            Assert.False(tfbValue.Value);
            Assert.False(TrueFalseBlankValue.ToBoolean(tfbValue));

            // 17. TrueFalseValue
            TrueFalseValue tfValue = new TrueFalseValue();

            tfValue = true;
            Assert.True(tfValue);
            tfValue = TrueFalseValue.FromBoolean(false);
            Assert.False(tfValue.Value);
            Assert.False(TrueFalseValue.ToBoolean(tfValue));

            // 18. UInt16Value
            UInt16Value uint16Value = new UInt16Value();
            ushort      uint16      = ushort.MaxValue;

            uint16Value = uint16;
            Assert.True(uint16 == uint16Value);
            uint16      = ushort.MinValue;
            uint16Value = UInt16Value.FromUInt16(uint16);
            Assert.Equal(uint16, uint16Value.Value);
            Assert.Equal(uint16, UInt16Value.ToUInt16(uint16Value));

            // 19. UInt32Value
            UInt32Value uint32Value = new UInt32Value();
            uint        uint32      = uint.MaxValue;

            uint32Value = uint32;
            Assert.True(uint32 == uint32Value);
            uint32      = uint.MinValue;
            uint32Value = UInt32Value.FromUInt32(uint32);
            Assert.Equal(uint32, uint32Value.Value);
            Assert.Equal(uint32, UInt32Value.ToUInt32(uint32Value));

            // 20. UInt64Value
            UInt64Value uint64Value = new UInt64Value();
            ulong       uint64      = ulong.MaxValue;

            uint64Value = uint64;
            Assert.True(uint64 == uint64Value);
            uint64      = ulong.MinValue;
            uint64Value = UInt64Value.FromUInt64(uint64);
            Assert.Equal(uint64, uint64Value.Value);
            Assert.Equal(uint64, UInt64Value.ToUInt64(uint64Value));
        }
Beispiel #5
0
        /// <summary>
        /// Scales a CS TTF SubScript X or Y co-ordinate to DrawingML Units (EMU)
        /// </summary>
        public static Int64Value ScaleCsTtfSubScriptToEmu(double XorY)
        {
            double scaled = XorY * EMUS_PER_CS_TTF_POINT_SUBSCRIPT;

            return(Int64Value.FromInt64((long)scaled));
        }
        private static void AddMainLogo(OpenXmlElement elementToAppend, string relationshipId)
        {
            var element = new Drawing
            {
                Inline = new Inline
                {
                    DistanceFromTop    = UInt32Value.FromUInt32(0),
                    DistanceFromBottom = UInt32Value.FromUInt32(0),
                    DistanceFromLeft   = UInt32Value.FromUInt32(0),
                    DistanceFromRight  = UInt32Value.FromUInt32(0),
                    AnchorId           = HexBinaryValue.FromString("29B39BAA"),
                    EditId             = HexBinaryValue.FromString("5481AAF3"),
                    Extent             = new Extent
                    {
                        Cx = Int64Value.FromInt64(1257300),
                        Cy = Int64Value.FromInt64(1057275)
                    },
                    EffectExtent = new EffectExtent
                    {
                        LeftEdge   = Int64Value.FromInt64(0),
                        TopEdge    = Int64Value.FromInt64(0),
                        RightEdge  = Int64Value.FromInt64(0),
                        BottomEdge = Int64Value.FromInt64(0)
                    },
                    DocProperties = new DocProperties
                    {
                        Id   = UInt32Value.FromUInt32(1),
                        Name = "Picture 1"
                    },
                    NonVisualGraphicFrameDrawingProperties = new NonVisualGraphicFrameDrawingProperties
                    {
                        GraphicFrameLocks = new GraphicFrameLocks
                        {
                            NoChangeAspect = BooleanValue.FromBoolean(true)
                        }
                    },
                    Graphic = new Graphic
                    {
                        GraphicData = new GraphicData(new DocumentFormat.OpenXml.Drawing.Pictures.Picture
                        {
                            NonVisualPictureProperties = new DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureProperties
                            {
                                NonVisualDrawingProperties = new DocumentFormat.OpenXml.Drawing.Pictures.NonVisualDrawingProperties
                                {
                                    Id   = UInt32Value.FromUInt32(0),
                                    Name = "Picture 1"
                                },
                                NonVisualPictureDrawingProperties = new DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureDrawingProperties
                                {
                                    PictureLocks = new PictureLocks
                                    {
                                        NoChangeAspect     = BooleanValue.FromBoolean(true),
                                        NoChangeArrowheads = BooleanValue.FromBoolean(true)
                                    }
                                }
                            },
                            BlipFill = new DocumentFormat.OpenXml.Drawing.Pictures.BlipFill(new BlipExtensionList(new BlipExtension {
                                Uri = "{28A0092B-C50C-407E-A947-70E740481C1C}"
                            }),
                                                                                            new Stretch(new FillRectangle()))
                            {
                                Blip = new Blip
                                {
                                    Embed = relationshipId,
                                },
                                SourceRectangle = new SourceRectangle(),
                            },
                            ShapeProperties = new DocumentFormat.OpenXml.Drawing.Pictures.ShapeProperties(new PresetGeometry {
                                Preset = new EnumValue <ShapeTypeValues> {
                                    Value = ShapeTypeValues.Rectangle
                                }, AdjustValueList = new AdjustValueList()
                            },
                                                                                                          new NoFill(),
                                                                                                          new DocumentFormat.OpenXml.Drawing.Outline(new NoFill()))
                            {
                                BlackWhiteMode = new EnumValue <BlackWhiteModeValues> {
                                    Value = BlackWhiteModeValues.Auto
                                },
                                Transform2D = new Transform2D
                                {
                                    Offset = new Offset
                                    {
                                        X = Int64Value.FromInt64(0),
                                        Y = Int64Value.FromInt64(0)
                                    },
                                    Extents = new Extents
                                    {
                                        Cx = Int64Value.FromInt64(1257300),
                                        Cy = Int64Value.FromInt64(1057275)
                                    }
                                }
                            }
                        })
                        {
                            Uri = "http://schemas.openxmlformats.org/drawingml/2006/picture"
                        }
                    }
                }
            };

            // Append the reference to body, the element should be in a Run.
            elementToAppend.AppendChild(new Paragraph(new Run(element)
            {
                RunProperties = new DocumentFormat.OpenXml.Wordprocessing.RunProperties
                {
                    NoProof = new NoProof()
                }
            }));
        }