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(); }
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); }
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); }
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); }
/// <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); }