public static void Test_Formule_01(string formule) { SetDirectory(); string file = "test_formule_01.docx"; Trace.WriteLine("create docx \"{0}\" using OXmlDoc", file); using (WordprocessingDocument doc = WordprocessingDocument.Create(zPath.Combine(_directory, file), WordprocessingDocumentType.Document)) { MainDocumentPart mainPart = doc.AddMainDocumentPart(); mainPart.Document = new Document(); Body body = mainPart.Document.AppendChild(new Body()); body.Append(Test_OpenXml_Creator.CreateText_02(5)); body.Append(Test_OpenXml_Creator.CreateParagraph_Formule("test : ", formule)); } }
public static void Test_Header_01(bool header = false, bool footer = false, bool pageNumber = false) { SetDirectory(); string file = "test_header_01.docx"; Trace.WriteLine("create docx \"{0}\" using OXmlDoc", file); using (WordprocessingDocument doc = WordprocessingDocument.Create(zPath.Combine(_directory, file), WordprocessingDocumentType.Document)) { MainDocumentPart mainPart = doc.AddMainDocumentPart(); if (header || footer) { // activate even and odd headers DocumentSettingsPart documentSettingsPart = mainPart.AddNewPart <DocumentSettingsPart>(); Settings settings = new Settings(); // <w:evenAndOddHeaders /> settings.AppendChild(new EvenAndOddHeaders()); documentSettingsPart.Settings = settings; } mainPart.Document = new Document(); Body body = mainPart.Document.AppendChild(new Body()); Styles styles = Test_OpenXml_Creator.CreateStyles(mainPart); //styles.DocDefaults = Test_OXmlCreator.CreateDocDefaults(); string headerStyleId = null; if (header) { headerStyleId = "Header"; styles.Append(Test_OpenXml_Creator.CreateHeaderFooterStyle(headerStyleId)); } string footerStyleId = null; if (footer) { footerStyleId = "Footer"; styles.Append(Test_OpenXml_Creator.CreateHeaderFooterStyle(footerStyleId)); } string defaultHeaderPartId = null; string firstHeaderPartId = null; string evenHeaderPartId = null; if (header) { defaultHeaderPartId = Test_OpenXml_Creator.CreateHeader(mainPart, Test_OpenXml_Creator.CreateParagraph_01(headerStyleId, "Default header", tab: 1)); firstHeaderPartId = Test_OpenXml_Creator.CreateHeader(mainPart, Test_OpenXml_Creator.CreateParagraph_01(headerStyleId, "First header", tab: 1)); evenHeaderPartId = Test_OpenXml_Creator.CreateHeader(mainPart, Test_OpenXml_Creator.CreateParagraph_01(headerStyleId, "Even header", tab: 1)); } string defaultFooterPartId = null; string firstFooterPartId = null; string evenFooterPartId = null; if (footer) { OpenXmlCompositeElement element; if (pageNumber) { element = Test_OpenXml_Creator.CreateParagraph_PageNumber(footerStyleId, "Default footer"); } else { element = Test_OpenXml_Creator.CreateParagraph_01(footerStyleId, "Default footer", tab: 1); } defaultFooterPartId = Test_OpenXml_Creator.CreateFooter(mainPart, element); if (pageNumber) { element = Test_OpenXml_Creator.CreateParagraph_PageNumber(footerStyleId, "First footer"); } else { element = Test_OpenXml_Creator.CreateParagraph_01(footerStyleId, "First footer", tab: 1); } firstFooterPartId = Test_OpenXml_Creator.CreateFooter(mainPart, element); if (pageNumber) { element = Test_OpenXml_Creator.CreateParagraph_PageNumber(footerStyleId, "Even footer"); } else { element = Test_OpenXml_Creator.CreateParagraph_01(footerStyleId, "Even footer", tab: 1); } evenFooterPartId = Test_OpenXml_Creator.CreateFooter(mainPart, element); } // for SectionProperties mainPart.Document.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); //AddSection(body, defaultHeaderPartId, defaultFooterPartId, firstHeaderPartId, firstFooterPartId); SectionProperties sectionProperties = body.AppendChild(new SectionProperties()); Test_OpenXml_Creator.SetSectionPage(sectionProperties); Test_OpenXml_Creator.SetSectionHeaders(sectionProperties, defaultHeaderPartId, defaultFooterPartId, firstHeaderPartId, firstFooterPartId, evenHeaderPartId, evenFooterPartId); //Test_OXmlCreator.SetSectionPageNumberType(sectionProperties, start: 1); //AddText(body, 200); body.Append(Test_OpenXml_Creator.CreateText_02(200)); } }