コード例 #1
0
        internal void SaveChanges()
        {
            if (MainDocumentPart == null)
            {
                return;
            }

            // Serialize the XDocument object back to the package.
            using (var xw = XmlWriter.Create(_wordDocument.MainDocumentPart.GetStream(FileMode.Create, FileAccess.Write)))
            {
                MainDocumentPart.Save(xw);
            }

            if (NumberingPart != null)
            {
                // Serialize the XDocument object back to the package.
                using (var xw = XmlWriter.Create(_wordDocument.MainDocumentPart.NumberingDefinitionsPart.GetStream(FileMode.Create,
                                                                                                                   FileAccess.Write)))
                {
                    NumberingPart.Save(xw);
                }
            }

            foreach (var footer in FooterParts)
            {
                footer.Save();
            }
            foreach (var header in HeaderParts)
            {
                header.Save();
            }

            _wordDocument.Close();
        }
コード例 #2
0
        internal NumberingPart CreateNumberingPart()
        {
            CT_AbstractNum cT_AbstractNum = new CT_AbstractNum();

            cT_AbstractNum.AbstractNumId_Attr = 0;
            cT_AbstractNum.Nsid = new CT_LongHexNumber
            {
                Val_Attr = "00000001"
            };
            cT_AbstractNum.MultiLevelType = new CT_MultiLevelType
            {
                Val_Attr = ST_MultiLevelType.multilevel
            };
            cT_AbstractNum.Tmpl = new CT_LongHexNumber
            {
                Val_Attr = "00000001"
            };
            for (int i = 0; i < 9; i++)
            {
                cT_AbstractNum.Lvl.Add(NumberingLevel(i, WordOpenXmlConstants.Lists.Bulleted.LevelStyle, WordOpenXmlConstants.Lists.Bulleted.BulletTexts[i % WordOpenXmlConstants.Lists.Bulleted.BulletTexts.Length], WordOpenXmlConstants.Lists.Bulleted.BulletFonts[i % WordOpenXmlConstants.Lists.Bulleted.BulletFonts.Length], WordOpenXmlConstants.Lists.Bulleted.LevelJc, "20"));
            }
            CT_Num item = new CT_Num
            {
                NumId_Attr    = 1,
                AbstractNumId = new CT_DecimalNumber
                {
                    Val_Attr = 0
                }
            };
            NumberingPart numberingPart = new NumberingPart();
            CT_Numbering  cT_Numbering  = (CT_Numbering)numberingPart.Root;

            cT_Numbering.AbstractNum.Add(cT_AbstractNum);
            cT_Numbering.Num.Add(item);
            for (int j = 0; j < _numberedListCount; j++)
            {
                CT_AbstractNum cT_AbstractNum2 = NumberedListDefinition(j);
                CT_Num         item2           = new CT_Num
                {
                    NumId_Attr    = 2 + j,
                    AbstractNumId = new CT_DecimalNumber
                    {
                        Val_Attr = cT_AbstractNum2.AbstractNumId_Attr
                    }
                };
                cT_Numbering.AbstractNum.Add(cT_AbstractNum2);
                cT_Numbering.Num.Add(item2);
            }
            return(numberingPart);
        }
コード例 #3
0
        public void GetDataPins_Tag_1()
        {
            NumberingPart part = GetPart();

            List <DataPin> pins = part.GetDataPins().ToList();

            Assert.Single(pins);
            DataPin pin = pins[0];

            Assert.Equal(part.ItemId, pin.ItemId);
            Assert.Equal(part.Id, pin.PartId);
            Assert.Equal(part.RoleId, pin.RoleId);
            Assert.Equal("ordinal", pin.Name);
            Assert.Equal("some-tag 123", pin.Value);
        }
コード例 #4
0
        public void Part_Is_Serializable()
        {
            NumberingPart part = GetPart();

            string        json  = TestHelper.SerializePart(part);
            NumberingPart part2 = TestHelper.DeserializePart <NumberingPart>(json);

            Assert.Equal(part.Id, part2.Id);
            Assert.Equal(part.TypeId, part2.TypeId);
            Assert.Equal(part.ItemId, part2.ItemId);
            Assert.Equal(part.RoleId, part2.RoleId);
            Assert.Equal(part.CreatorId, part2.CreatorId);
            Assert.Equal(part.UserId, part2.UserId);
            Assert.Equal(part.Number, part2.Number);
            Assert.Equal(part.Ordinal, part2.Ordinal);
            Assert.Equal(part.Tag, part2.Tag);
        }
コード例 #5
0
        /// <summary>
        /// Add a Numbering part to the package, we are adding 2 numbering formats + a bullet format
        /// </summary>
        private void AddNumberingPartToPackage()
        {
            NumberingDefinitionsPart numberingPart = m_DocumentPart.AddNewPart <NumberingDefinitionsPart>("gxNumberingPart");

            NumberingPart.GenerateNumberingDefinitionsPart1Content(numberingPart);
        }