public void InsertHeadersWhenExistsFooters() { using (var doc = WordprocessingDocument.Open(TemplatePFPath, true, new OpenSettings { AutoSave = false })) { var headers = new WordDocumentHeaders(doc); var pageEnumerator = new WordDocumentPageEnumerator(); var footers = new WordDocumentFooters(doc); var footerTable = footers.Item(1).Tables.Item(1); footerTable.Cell(1, 1).Text = "составил"; footerTable.Cell(1, 2).Text = "продукт"; Assert.AreEqual(footerTable.Cell(1, 1).Text, "составил"); headers.Create((int)HeadersFootersType.FirstDefault); var fh = headers.ItemByType((int)HeaderFooterValues.First); fh.XmlElement.Append(new Paragraph(new Run(new Text { Text = "First" }))); var printHeader = (IPrintObject)headers.ItemByType((int)HeaderFooterValues.Default); pageEnumerator.CopyTo(printHeader); var block = printHeader.XmlElement.GetFirstChild <SdtBlock>(); var para = block.GetFirstChild <SdtContentBlock>().GetFirstChild <Paragraph>(); Assert.AreEqual(para.ChildElements[3].FirstChild.InnerText, "PAGE"); } }
public void InsertFirstEvenOddFooters() { using (var memStream = new MemoryStream()) { var byteArray = File.ReadAllBytes(TemplateHFPath); memStream.Write(byteArray, 0, byteArray.Length); using (var doc = WordprocessingDocument.Open(memStream, true, new OpenSettings { AutoSave = false })) //using (var doc = WordprocessingDocument.Open(TemplateHFPath, true, new OpenSettings { AutoSave = true })) { var footers = new WordDocumentFooters(doc); var pageEnumerator = new WordDocumentPageEnumerator(); footers.Create((int)HeadersFootersType.FirstEvenOdd); var h = footers.Item(1); h.XmlElement.Append(new Paragraph(new Run(new Text { Text = "First" }))); h = footers.Item(2); h.XmlElement.Append(new Paragraph(new Run(new Text { Text = "Even" }))); var printFooter = (IPrintObject)footers.Item(3); pageEnumerator.CopyTo(printFooter); var block = footers.Item(3).XmlElement.GetFirstChild <SdtBlock>(); var para = block.GetFirstChild <SdtContentBlock>().GetFirstChild <Paragraph>(); Assert.AreEqual(para.ChildElements[3].FirstChild.InnerText, "PAGE"); } } }
public void GetFooter() { using (var doc = WordprocessingDocument.Open(TemplatePath, false)) { var footers = new WordDocumentFooters(doc); Assert.AreNotEqual(footers.Item(2), 0); } }
public void GetTableFromFooter() { using (var doc = WordprocessingDocument.Open(TemplatePath, false)) { var footers = new WordDocumentFooters(doc); var footer = footers.Item(1); Assert.IsNotNull(footer.Tables); } }
public override void ProcessDocument() { CheckForInitialization(); Doc = WordprocessingDocument.Open(MemStream, true); InnerDoc = (WordprocessingDocument)Doc; Bookmarks = new WordDocumentBookmarks(this); Tables = new WordDocumentTables(this); Footers = new WordDocumentFooters(this); Headers = new WordDocumentHeaders(this); PageEnumerator = new WordDocumentPageEnumerator(); }
public void FillFooters() { const string bookmarkName = "footer_table1"; const string val = "Пользователь"; IBSDataObject bo = new BsDataObjectMock("TestBo"); var printParams = new Params(); printParams.SetParams("BookmarkName", bookmarkName); var printScript = new StringBuilder(); printScript.Append("var wordDoc = (IWordDocument) args[1];\r\n"); printScript.Append("var p = new ParamsMock(args[3]);\r\n"); printScript.Append("var footers = (IWordDocumentHeadersFooters) wordDoc.Footers;\r\n"); printScript.Append("var firstFooter = footers.Item(1);\r\n"); printScript.Append("var table = firstFooter.Tables.Item(1);\r\n"); printScript.Append($"table.Cell(1, 1).Text = \"{val}\";\r\n"); printScript.Append("var pageEnumerator = wordDoc.PageEnumerator;\r\n"); printScript.Append("for (int i = 2; i <= footers.Count; i++) {\r\n"); printScript.Append("var f = (IPrintObject) footers.Item(i);\r\n"); printScript.Append("var t = f.GetCopyOf(table as IPrintObject);\r\n"); printScript.Append("var ft = footers.Item(i).Tables.Item(1);\r\n"); printScript.Append("var cell = (IPrintObject) ft.Cell(1, 2);\r\n"); printScript.Append("cell.GetCopyOf(pageEnumerator);\r\n"); printScript.Append("};\r\n"); var printService = KonturPrintService; var printServiceParams = new Params(); printServiceParams.SetParams("Bo", bo); printServiceParams.SetParams("TemplatePath", templatePath); printServiceParams.SetParams("FileName", tmpPath); printServiceParams.SetParams("ErrorStr", ""); printServiceParams.SetParams("Params", printParams); printService.PrintScripts = new[] { printScript.ToString() }; Assert.IsTrue(printService.Print((int)PrintDocumentType.WordTemplate, printServiceParams)); using (var doc = WordprocessingDocument.Open(tmpPath, false)) { var footers = new WordDocumentFooters(doc); var footer = footers.Item(1); var table = footer.Tables.Item(1); Assert.AreEqual(table.Cell(1, 1).Text, val); footer = footers.Item(2); table = footer.Tables.Item(1); Assert.AreEqual(table.Cell(1, 1).Text, val); Assert.IsTrue(table.Cell(1, 2).Text.Contains("стр.")); } }
public void FillHeadersAndFooters() { const string bookmarkName = "footer_table1"; const string val = "Пользователь"; IBSDataObject bo = new BsDataObjectMock("TestBo"); var printParams = new Params(); printParams.SetParams("BookmarkName", bookmarkName); var printScript = new StringBuilder(); printScript.Append("var wordDoc = (IWordDocument) args[1];\r\n"); printScript.Append("var p = new ParamsMock(args[3]);\r\n"); printScript.Append("var pageEnumerator = wordDoc.PageEnumerator;\r\n"); printScript.Append("var footers = (IWordDocumentHeadersFooters) wordDoc.Footers;\r\n"); printScript.Append("var f = footers.Item(1);\r\n"); printScript.Append("var table = f.Tables.Item(1);\r\n"); printScript.Append($"table.Cell(1, 1).Text = \"{val}\";\r\n"); printScript.Append("var headers = (IWordDocumentHeadersFooters) wordDoc.Headers;\r\n"); printScript.Append("headers.Create(2);\r\n"); printScript.Append("var h = (IPrintObject) headers.Item(1);\r\n"); printScript.Append("pageEnumerator.CopyTo(h);\r\n"); var printService = KonturPrintService; var printServiceParams = new Params(); printServiceParams.SetParams("Bo", bo); printServiceParams.SetParams("TemplatePath", templatePath); printServiceParams.SetParams("FileName", tmpPath); printServiceParams.SetParams("ErrorStr", ""); printServiceParams.SetParams("Params", printParams); printService.PrintScripts = new[] { printScript.ToString() }; Assert.IsTrue(printService.Print((int)PrintDocumentType.WordTemplate, printServiceParams)); using (var doc = WordprocessingDocument.Open(tmpPath, false)) { var footers = new WordDocumentFooters(doc); var footer = footers.Item(1); var table = footer.Tables.Item(1); Assert.AreEqual(table.Cell(1, 1).Text, val); var headers = new WordDocumentHeaders(doc); Assert.IsNotNull(headers.Item(1)); Assert.IsNotNull(headers.Item(2)); } }
public void FillFooterByFooter() { using (var doc = WordprocessingDocument.Open(TemplatePath, true, new OpenSettings { AutoSave = false })) { var footers = new WordDocumentFooters(doc); var fistFooter = footers.Item(1); var secondFooter = footers.Item(2); var table = fistFooter.Tables.Item(1); Assert.AreEqual(secondFooter.Tables.Count, 0); var destFooter = secondFooter as IPrintObject; destFooter.GetCopyOf(table as IPrintObject); var destTable = secondFooter.Tables.Item(1); Assert.IsNotNull(destTable); Assert.AreEqual(destTable.Cell(1, 1).Text, "составил"); } }
public void InsertPageEnumerator() { using (var doc = WordprocessingDocument.Open(TemplatePath, true, new OpenSettings { AutoSave = false })) { var footers = new WordDocumentFooters(doc); var pageEnumerator = new WordDocumentPageEnumerator(); Assert.AreNotEqual(footers.Count, 0); for (var i = 1; i <= footers.Count; i++) { var printFooter = (IPrintObject)footers.Item(i); pageEnumerator.CopyTo(printFooter); var block = footers.Item(i).XmlElement.GetFirstChild <SdtBlock>(); var para = block.GetFirstChild <SdtContentBlock>().GetFirstChild <Paragraph>(); Assert.AreEqual(para.ChildElements[3].FirstChild.InnerText, "PAGE"); } } }