Example #1
0
        public bool IsPageBreak()
        {
            CT_PPr   ctpPr   = this.GetCTPPr();
            CT_OnOff ctOnOff = ctpPr.IsSetPageBreakBefore() ? ctpPr.pageBreakBefore : (CT_OnOff)null;

            return(ctOnOff != null && ctOnOff.val == ST_OnOff.True);
        }
        /**
         * Get a <b>copy</b> of the currently used CTPPr, if none is used, return
         * a new instance.
         */
        internal CT_PPr GetCTPPr()
        {
            CT_PPr pr = paragraph.pPr == null?paragraph.AddNewPPr()
                            : paragraph.pPr;

            return(pr);
        }
Example #3
0
        private CT_HdrFtr buildHdrFtr(String pStyle, XWPFParagraph[] paragraphs)
        {
            CT_HdrFtr ftr = new CT_HdrFtr();

            if (paragraphs != null)
            {
                for (int i = 0; i < paragraphs.Length; i++)
                {
                    CT_P p = ftr.AddNewP();
                    //ftr.PArray=(0, paragraphs[i].CTP);		// MB 23 May 2010
                    ftr.SetPArray(i, paragraphs[i].GetCTP());           // MB 23 May 2010
                }
            }
            else
            {
                CT_P   p            = ftr.AddNewP();
                byte[] rsidr        = doc.Document.body.GetPArray(0).rsidR;
                byte[] rsidrdefault = doc.Document.body.GetPArray(0).rsidRDefault;
                p.rsidR        = (rsidr);
                p.rsidRDefault = (rsidrdefault);
                CT_PPr pPr             = p.AddNewPPr();
                pPr.AddNewPStyle().val = (pStyle);
            }
            return(ftr);
        }
Example #4
0
        /**
         * MB 24 May 2010. Created this overloaded buildHdrFtr() method because testing demonstrated
         * that the XWPFFooter or XWPFHeader object returned by calls to the CreateHeader(int, XWPFParagraph[])
         * and CreateFooter(int, XWPFParagraph[]) methods or the GetXXXXXHeader/Footer methods where
         * headers or footers had been Added to a document since it had been Created/opened, returned
         * an object that Contained no XWPFParagraph objects even if the header/footer itself did contain
         * text. The reason was that this line of code; CTHdrFtr ftr = CTHdrFtr.Factory.NewInstance();
         * Created a brand new instance of the CTHDRFtr class which was then populated with data when
         * it should have recovered the CTHdrFtr object encapsulated within the XWPFHeaderFooter object
         * that had previoulsy been instantiated in the CreateHeader(int, XWPFParagraph[]) or
         * CreateFooter(int, XWPFParagraph[]) methods.
         */
        private CT_HdrFtr buildHdrFtr(String pStyle, XWPFParagraph[] paragraphs, XWPFHeaderFooter wrapper)
        {
            CT_HdrFtr ftr = wrapper._getHdrFtr();

            if (paragraphs != null)
            {
                for (int i = 0; i < paragraphs.Length; i++)
                {
                    CT_P p = ftr.AddNewP();
                    ftr.SetPArray(i, paragraphs[i].GetCTP());
                }
            }
            else
            {
                CT_P    p    = ftr.AddNewP();
                CT_Body body = doc.Document.body;
                if (body.SizeOfPArray() > 0)
                {
                    CT_P p0 = body.GetPArray(0);
                    if (p0.IsSetRsidR())
                    {
                        byte[] rsidr        = p0.rsidR;
                        byte[] rsidrdefault = p0.rsidRDefault;
                        p.rsidP        = rsidr;
                        p.rsidRDefault = rsidrdefault;
                    }
                }
                CT_PPr pPr             = p.AddNewPPr();
                pPr.AddNewPStyle().val = (pStyle);
            }
            return(ftr);
        }
        /// <summary>
        /// 设置段落对齐方式
        /// </summary>
        /// <param name="p"></param>
        /// <param name="align"></param>
        public static void SetAlign(this CT_P p, ST_Jc align)
        {
            CT_PPr ppr = p.pPr == null?p.AddNewPPr() : p.pPr;

            CT_Jc jc = ppr.IsSetJc() ? ppr.jc : ppr.AddNewJc();

            jc.val = align;
        }
Example #6
0
        public ParagraphAlignment GetAlignment()
        {
            CT_PPr ctpPr = this.GetCTPPr();

            if (ctpPr != null && ctpPr.IsSetJc())
            {
                return(EnumConverter.ValueOf <ParagraphAlignment, ST_Jc>(ctpPr.jc.val));
            }
            return(ParagraphAlignment.LEFT);
        }
Example #7
0
        public TextAlignment GetVerticalAlignment()
        {
            CT_PPr ctpPr = this.GetCTPPr();

            if (ctpPr != null && ctpPr.IsSetTextAlignment())
            {
                return(EnumConverter.ValueOf <TextAlignment, ST_TextAlignment>(ctpPr.textAlignment.val));
            }
            return(TextAlignment.AUTO);
        }
Example #8
0
        private CT_PBdr GetCTPBrd(bool create)
        {
            CT_PPr  ctpPr  = this.GetCTPPr();
            CT_PBdr ctPbdr = ctpPr.IsSetPBdr() ? ctpPr.pBdr : (CT_PBdr)null;

            if (create && ctPbdr == null)
            {
                ctPbdr = ctpPr.AddNewPBdr();
            }
            return(ctPbdr);
        }
        /**
         * Get a <b>copy</b> of the currently used CTSpacing, if none is used,
         * return a new instance.
         */
        private CT_Spacing GetCTSpacing(bool create)
        {
            CT_PPr     pr = GetCTPPr();
            CT_Spacing ct = pr.spacing == null ? null : pr.spacing;

            if (create && ct == null)
            {
                ct = pr.AddNewSpacing();
            }
            return(ct);
        }
        /**
         * Get a <b>copy</b> of the currently used CTPInd, if none is used, return
         * a new instance.
         */
        private CT_Ind GetCTInd(bool create)
        {
            CT_PPr pr = GetCTPPr();
            CT_Ind ct = pr.ind == null ? null : pr.ind;

            if (create && ct == null)
            {
                ct = pr.AddNewInd();
            }
            return(ct);
        }
Example #11
0
        private CT_Ind GetCTInd(bool create)
        {
            CT_PPr ctpPr = this.GetCTPPr();
            CT_Ind ctInd = ctpPr.ind == null ? (CT_Ind)null : ctpPr.ind;

            if (create && ctInd == null)
            {
                ctInd = ctpPr.AddNewInd();
            }
            return(ctInd);
        }
Example #12
0
        private CT_Spacing GetCTSpacing(bool create)
        {
            CT_PPr     ctpPr     = this.GetCTPPr();
            CT_Spacing ctSpacing = ctpPr.spacing == null ? (CT_Spacing)null : ctpPr.spacing;

            if (create && ctSpacing == null)
            {
                ctSpacing = ctpPr.AddNewSpacing();
            }
            return(ctSpacing);
        }
        /**
         * Get a <b>copy</b> of the currently used CTPBrd, if none is used, return
         * a new instance.
         */
        private CT_PBdr GetCTPBrd(bool create)
        {
            CT_PPr  pr = GetCTPPr();
            CT_PBdr ct = pr.IsSetPBdr() ? pr.pBdr : null;

            if (create && ct == null)
            {
                ct = pr.AddNewPBdr();
            }
            return(ct);
        }
Example #14
0
        public void SetPageBreak(bool pageBreak)
        {
            CT_PPr   ctpPr   = this.GetCTPPr();
            CT_OnOff ctOnOff = ctpPr.IsSetPageBreakBefore() ? ctpPr.pageBreakBefore : ctpPr.AddNewPageBreakBefore();

            if (pageBreak)
            {
                ctOnOff.val = ST_OnOff.True;
            }
            else
            {
                ctOnOff.val = ST_OnOff.False;
            }
        }
Example #15
0
        public void AddRow(int level, string title, int page, string bookmarkRef)
        {
            CT_P ctP = this.block.sdtContent.AddNewP();

            byte[] bytes = Encoding.Unicode.GetBytes("00EF7E24");
            ctP.rsidR        = bytes;
            ctP.rsidRDefault = bytes;
            CT_PPr ctPpr = ctP.AddNewPPr();

            ctPpr.AddNewPStyle().val = nameof(TOC) + (object)level;
            CT_TabStop ctTabStop     = ctPpr.AddNewTabs().AddNewTab();

            ctTabStop.val    = ST_TabJc.right;
            ctTabStop.leader = ST_TabTlc.dot;
            ctTabStop.pos    = "8290";
            ctPpr.AddNewRPr().AddNewNoProof();
            CT_R ctR1 = ctP.AddNewR();

            ctR1.AddNewRPr().AddNewNoProof();
            ctR1.AddNewT().Value = title;
            CT_R ctR2            = ctP.AddNewR();

            ctR2.AddNewRPr().AddNewNoProof();
            ctR2.AddNewTab();
            CT_R ctR3 = ctP.AddNewR();

            ctR3.AddNewRPr().AddNewNoProof();
            ctR3.AddNewFldChar().fldCharType = ST_FldCharType.begin;
            CT_R ctR4 = ctP.AddNewR();

            ctR4.AddNewRPr().AddNewNoProof();
            CT_Text ctText = ctR4.AddNewInstrText();

            ctText.space = "preserve";
            ctText.Value = " PAGEREF _Toc" + bookmarkRef + " \\h ";
            ctP.AddNewR().AddNewRPr().AddNewNoProof();
            CT_R ctR5 = ctP.AddNewR();

            ctR5.AddNewRPr().AddNewNoProof();
            ctR5.AddNewFldChar().fldCharType = ST_FldCharType.separate;
            CT_R ctR6 = ctP.AddNewR();

            ctR6.AddNewRPr().AddNewNoProof();
            ctR6.AddNewT().Value = page.ToString();
            CT_R ctR7            = ctP.AddNewR();

            ctR7.AddNewRPr().AddNewNoProof();
            ctR7.AddNewFldChar().fldCharType = ST_FldCharType.end;
        }
Example #16
0
        public TOC(CT_SdtBlock block)
        {
            this.block = block;
            CT_SdtPr         sdtPr = block.AddNewSdtPr();
            CT_DecimalNumber id    = sdtPr.AddNewId();

            id.val = ("4844945");
            sdtPr.AddNewDocPartObj().AddNewDocPartGallery().val = ("Table of Contents");
            CT_SdtEndPr sdtEndPr = block.AddNewSdtEndPr();
            CT_RPr      rPr      = sdtEndPr.AddNewRPr();
            CT_Fonts    fonts    = rPr.AddNewRFonts();

            fonts.asciiTheme    = (ST_Theme.minorHAnsi);
            fonts.eastAsiaTheme = (ST_Theme.minorHAnsi);
            fonts.hAnsiTheme    = (ST_Theme.minorHAnsi);
            fonts.cstheme       = (ST_Theme.minorBidi);
            CT_SdtContentBlock content = block.AddNewSdtContent();
            CT_P p = content.AddNewP();

            byte[] b = Encoding.Unicode.GetBytes("00EF7E24");
            p.rsidR        = b;
            p.rsidRDefault = b;
            CT_PPr pPr = p.AddNewPPr();

            pPr.AddNewPStyle().val = ("TOCHeading");
            pPr.AddNewJc().val     = ST_Jc.center;
            CT_R run = p.AddNewR();

            run.AddNewRPr().AddNewSz().val = 48;
            run.AddNewT().Value            = ("Table of Contents");
            run.AddNewBr().type            = ST_BrType.textWrapping; // line break

            // TOC Field
            p   = content.AddNewP();
            pPr = p.AddNewPPr();
            pPr.AddNewPStyle().val = "TOC1";
            pPr.AddNewRPr().AddNewNoProof();

            run = p.AddNewR();
            run.AddNewFldChar().fldCharType = ST_FldCharType.begin;

            run = p.AddNewR();
            CT_Text text = run.AddNewInstrText();

            text.space = "preserve";
            text.Value = (" TOC \\h \\z ");

            p.AddNewR().AddNewFldChar().fldCharType = ST_FldCharType.separate;
        }
Example #17
0
 public CT_Lvl()
 {
     this.rPrField   = new CT_RPr();
     this.pPrField   = new CT_PPr();
     this.lvlJcField = new CT_Jc();
     //this.legacyField = new CT_LvlLegacy();
     //this.lvlPicBulletIdField = new CT_DecimalNumber();
     this.lvlTextField = new CT_LevelText();
     //this.suffField = new CT_LevelSuffix();
     //this.isLglField = new CT_OnOff();
     //this.pStyleField = new CT_String();
     //this.lvlRestartField = new CT_DecimalNumber();
     this.numFmtField = new CT_NumFmt();
     this.startField  = new CT_DecimalNumber();
 }
Example #18
0
        public void AddRow(int level, String title, int page, String bookmarkRef)
        {
            CT_SdtContentBlock contentBlock = this.block.sdtContent;
            CT_P p = contentBlock.AddNewP();

            byte[] b = Encoding.Unicode.GetBytes("00EF7E24");
            p.rsidR        = b;
            p.rsidRDefault = b;
            CT_PPr pPr = p.AddNewPPr();

            pPr.AddNewPStyle().val = ("TOC" + level);
            CT_Tabs    tabs        = pPr.AddNewTabs();
            CT_TabStop tab         = tabs.AddNewTab();

            tab.val    = (ST_TabJc.right);
            tab.leader = (ST_TabTlc.dot);
            tab.pos    = "8290"; //(new BigInteger("8290"));
            pPr.AddNewRPr().AddNewNoProof();
            CT_R Run = p.AddNewR();

            Run.AddNewRPr().AddNewNoProof();
            Run.AddNewT().Value = (title);
            Run = p.AddNewR();
            Run.AddNewRPr().AddNewNoProof();
            Run.AddNewTab();
            Run = p.AddNewR();
            Run.AddNewRPr().AddNewNoProof();
            Run.AddNewFldChar().fldCharType = (ST_FldCharType.begin);
            // pageref run
            Run = p.AddNewR();
            Run.AddNewRPr().AddNewNoProof();
            CT_Text text = Run.AddNewInstrText();

            text.space = "preserve";// (Space.PRESERVE);
            // bookmark reference
            text.Value = (" PAGEREF _Toc" + bookmarkRef + " \\h ");
            p.AddNewR().AddNewRPr().AddNewNoProof();
            Run = p.AddNewR();
            Run.AddNewRPr().AddNewNoProof();
            Run.AddNewFldChar().fldCharType = (ST_FldCharType.separate);
            // page number run
            Run = p.AddNewR();
            Run.AddNewRPr().AddNewNoProof();
            Run.AddNewT().Value = page.ToString();
            Run = p.AddNewR();
            Run.AddNewRPr().AddNewNoProof();
            Run.AddNewFldChar().fldCharType = (ST_FldCharType.end);
        }
Example #19
0
        public void TestSetGetPageBreak()
        {
            XWPFDocument  doc = new XWPFDocument();
            XWPFParagraph p   = doc.CreateParagraph();

            CT_P   ctp = p.GetCTP();
            CT_PPr ppr = ctp.pPr == null?ctp.AddNewPPr() : ctp.pPr;

            CT_OnOff pageBreak = ppr.AddNewPageBreakBefore();

            pageBreak.val = false;
            Assert.AreEqual(false, p.IsPageBreak);

            p.IsPageBreak = (true);
            Assert.AreEqual(true, ppr.pageBreakBefore.val);
        }
Example #20
0
        public void TestSetGetWordWrap()
        {
            XWPFDocument  doc = new XWPFDocument();
            XWPFParagraph p   = doc.CreateParagraph();

            CT_P   ctp = p.GetCTP();
            CT_PPr ppr = ctp.pPr == null?ctp.AddNewPPr() : ctp.pPr;

            CT_OnOff wordWrap = ppr.AddNewWordWrap();

            wordWrap.val = false;
            Assert.AreEqual(false, p.IsWordWrap);

            p.IsWordWrap = true;
            Assert.AreEqual(true, ppr.wordWrap.val);
        }
Example #21
0
        public void TestSetGetVerticalAlignment()
        {
            //new clean instance of paragraph
            XWPFDocument  doc = new XWPFDocument();
            XWPFParagraph p   = doc.CreateParagraph();

            CT_P   ctp = p.GetCTP();
            CT_PPr ppr = ctp.pPr == null?ctp.AddNewPPr() : ctp.pPr;

            CT_TextAlignment txtAlign = ppr.AddNewTextAlignment();

            txtAlign.val = (ST_TextAlignment.center);
            Assert.AreEqual(TextAlignment.CENTER, p.VerticalAlignment);

            p.VerticalAlignment = (TextAlignment.BOTTOM);
            Assert.AreEqual(ST_TextAlignment.bottom, ppr.textAlignment.val);
        }
Example #22
0
        public void TestSetGetSpacing()
        {
            XWPFDocument  doc = new XWPFDocument();
            XWPFParagraph p   = doc.CreateParagraph();

            CT_P   ctp = p.GetCTP();
            CT_PPr ppr = ctp.pPr == null?ctp.AddNewPPr() : ctp.pPr;

            Assert.AreEqual(-1, p.SpacingAfter);

            CT_Spacing spacing = ppr.AddNewSpacing();

            spacing.after = 10;
            Assert.AreEqual(10, p.SpacingAfter);

            p.SpacingAfter = 100;
            Assert.AreEqual(100, (int)spacing.after);
        }
Example #23
0
        public void TestSetGetSpacingLineRule()
        {
            XWPFDocument  doc = new XWPFDocument();
            XWPFParagraph p   = doc.CreateParagraph();

            CT_P   ctp = p.GetCTP();
            CT_PPr ppr = ctp.pPr == null?ctp.AddNewPPr() : ctp.pPr;

            Assert.AreEqual(LineSpacingRule.AUTO, p.SpacingLineRule);

            CT_Spacing spacing = ppr.AddNewSpacing();

            spacing.lineRule = (ST_LineSpacingRule.atLeast);
            Assert.AreEqual(LineSpacingRule.ATLEAST, p.SpacingLineRule);

            p.SpacingAfter = 100;
            Assert.AreEqual(100, (int)spacing.after);
        }
Example #24
0
        public void TestSetAlignment()
        {
            //new clean instance of paragraph
            XWPFDocument  doc = new XWPFDocument();
            XWPFParagraph p   = doc.CreateParagraph();

            Assert.AreEqual(ParagraphAlignment.LEFT, p.Alignment);

            CT_P   ctp = p.GetCTP();
            CT_PPr ppr = ctp.pPr == null?ctp.AddNewPPr() : ctp.pPr;

            CT_Jc align = ppr.AddNewJc();

            align.val = (ST_Jc.center);
            Assert.AreEqual(ParagraphAlignment.CENTER, p.Alignment);

            p.Alignment = (ParagraphAlignment.BOTH);
            Assert.AreEqual((int)ST_Jc.both, (int)ppr.jc.val);
        }
Example #25
0
        /// <summary>
        /// 加入标题定义
        /// </summary>
        /// <param name="docxDocument"></param>
        /// <param name="strStyleId"></param>
        /// <param name="headingLevel"></param>
        private static void addCustomHeadingStyle(XWPFDocument docxDocument, String strStyleId, int headingLevel)
        {
            CT_Style ctStyle = new CT_Style();

            ctStyle.styleId = strStyleId;

            CT_String styleName = new CT_String();

            styleName.val = strStyleId;
            ctStyle.name  = styleName;

            CT_DecimalNumber indentNumber = new CT_DecimalNumber();

            indentNumber.val = BigInteger.ValueOf(headingLevel).ToString();

            // lower number > style is more prominent in the formats bar
            ctStyle.uiPriority = indentNumber;

            CT_OnOff onoffnull = new CT_OnOff();

            ctStyle.unhideWhenUsed = onoffnull;

            // style shows up in the formats bar
            ctStyle.qFormat = onoffnull;

            // style defines a heading of the given level
            CT_PPr ppr = new CT_PPr();

            ppr.outlineLvl = indentNumber;
            ctStyle.pPr    = ppr;

            XWPFStyle style = new XWPFStyle(ctStyle);

            // is a null op if already defined
            XWPFStyles styles = docxDocument.CreateStyles();

            style.StyleType = ST_StyleType.paragraph;

            if (styles.GetStyle(strStyleId) == null)
            {
                styles.AddStyle(style);
            }
        }
Example #26
0
        public void TestSetGetIndentation()
        {
            XWPFDocument  doc = new XWPFDocument();
            XWPFParagraph p   = doc.CreateParagraph();

            Assert.AreEqual(-1, p.IndentationLeft);

            CT_P   ctp = p.GetCTP();
            CT_PPr ppr = ctp.pPr == null?ctp.AddNewPPr() : ctp.pPr;

            Assert.AreEqual(-1, p.IndentationLeft);

            CT_Ind ind = ppr.AddNewInd();

            ind.left = "10";
            Assert.AreEqual(10, p.IndentationLeft);

            p.IndentationLeft = 100;
            Assert.AreEqual(100, int.Parse(ind.left));
        }
Example #27
0
        public void AddCustomHeadingStyle(string name, int headingLevel, int outlineLevel, int ptSize = 12)
        {
            CT_Style ctStyle = ctStyles.AddNewStyle();

            ctStyle.styleId = (name);

            CT_String styleName = new CT_String();

            styleName.val = (name);
            ctStyle.name  = (styleName);

            CT_DecimalNumber indentNumber = new CT_DecimalNumber();

            indentNumber.val = headingLevel.ToString();

            // lower number > style is more prominent in the formats bar
            ctStyle.uiPriority = (indentNumber);

            CT_OnOff onoffnull = new CT_OnOff();

            ctStyle.unhideWhenUsed = (onoffnull);

            // style shows up in the formats bar
            ctStyle.qFormat = (onoffnull);

            // style defines a heading of the given level
            CT_PPr ppr = new CT_PPr();

            ppr.outlineLvl = new CT_DecimalNumber()
            {
                val = outlineLevel.ToString()
            };
            ctStyle.pPr = (ppr);

            CT_RPr rpr = new CT_RPr();

            rpr.AddNewSz().val = (ulong)ptSize * 2;
            ctStyle.rPr = rpr;
        }
Example #28
0
        public void TestSetBorderTop()
        {
            //new clean instance of paragraph
            XWPFDocument  doc = new XWPFDocument();
            XWPFParagraph p   = doc.CreateParagraph();

            Assert.AreEqual(ST_Border.none, EnumConverter.ValueOf <ST_Border, Borders>(p.BorderTop));

            CT_P   ctp = p.GetCTP();
            CT_PPr ppr = ctp.pPr == null?ctp.AddNewPPr() : ctp.pPr;

            //bordi
            CT_PBdr   bdr       = ppr.AddNewPBdr();
            CT_Border borderTop = bdr.AddNewTop();

            borderTop.val = (ST_Border.@double);
            bdr.top       = (borderTop);

            Assert.AreEqual(Borders.Double, p.BorderTop);
            p.BorderTop = (Borders.Single);
            Assert.AreEqual(ST_Border.single, borderTop.val);
        }
Example #29
0
        /**
         * MB 24 May 2010. Created this overloaded buildHdrFtr() method because testing demonstrated
         * that the XWPFFooter or XWPFHeader object returned by calls to the CreateHeader(int, XWPFParagraph[])
         * and CreateFooter(int, XWPFParagraph[]) methods or the GetXXXXXHeader/Footer methods where
         * headers or footers had been Added to a document since it had been Created/opened, returned
         * an object that Contained no XWPFParagraph objects even if the header/footer itself did contain
         * text. The reason was that this line of code; CTHdrFtr ftr = CTHdrFtr.Factory.NewInstance();
         * Created a brand new instance of the CTHDRFtr class which was then populated with data when
         * it should have recovered the CTHdrFtr object encapsulated within the XWPFHeaderFooter object
         * that had previoulsy been instantiated in the CreateHeader(int, XWPFParagraph[]) or
         * CreateFooter(int, XWPFParagraph[]) methods.
         */

        private CT_HdrFtr buildHdrFtr(string pStyle, XWPFParagraph[] paragraphs, XWPFHeaderFooter wrapper)
        {
            CT_HdrFtr ftr = wrapper._getHdrFtr();

            if (paragraphs != null)
            {
                for (int i = 0; i < paragraphs.Length; i++)
                {
                    CT_P p = ftr.AddNewP();
                    ftr.SetPArray(i, paragraphs[i].GetCTP());
                }
            }
            else
            {
                CT_P   p            = ftr.AddNewP();
                byte[] rsidr        = doc.Document.body.GetPArray(0).rsidR;
                byte[] rsidrdefault = doc.Document.body.GetPArray(0).rsidRDefault;
                p.rsidP        = (rsidr);
                p.rsidRDefault = (rsidrdefault);
                CT_PPr pPr             = p.AddNewPPr();
                pPr.AddNewPStyle().val = (pStyle);
            }
            return(ftr);
        }
Example #30
0
        /*
         * This is the default Watermark paragraph; the only variable is the text message
         * TODO: manage all the other variables
         */
        private XWPFParagraph GetWatermarkParagraph(String text, int idx)
        {
            CT_P p = new CT_P();

            byte[] rsidr        = doc.Document.body.GetPArray(0).rsidR;
            byte[] rsidrdefault = doc.Document.body.GetPArray(0).rsidRDefault;
            p.rsidP        = (rsidr);
            p.rsidRDefault = (rsidrdefault);
            CT_PPr pPr = p.AddNewPPr();

            pPr.AddNewPStyle().val = ("Header");
            // start watermark paragraph
            Npoi.Core.OpenXmlFormats.Wordprocessing.CT_R r = p.AddNewR();
            CT_RPr rPr = r.AddNewRPr();

            rPr.AddNewNoProof();
            CT_Picture pict = r.AddNewPict();

            CT_Group     group     = new CT_Group();
            CT_Shapetype shapetype = group.AddNewShapetype();

            shapetype.id        = ("_x0000_t136");
            shapetype.coordsize = ("1600,21600");
            shapetype.spt       = (136);
            shapetype.adj       = ("10800");
            shapetype.path2     = ("m@7,0l@8,0m@5,21600l@6,21600e");
            CT_Formulas formulas = shapetype.AddNewFormulas();

            formulas.AddNewF().eqn = ("sum #0 0 10800");
            formulas.AddNewF().eqn = ("prod #0 2 1");
            formulas.AddNewF().eqn = ("sum 21600 0 @1");
            formulas.AddNewF().eqn = ("sum 0 0 @2");
            formulas.AddNewF().eqn = ("sum 21600 0 @3");
            formulas.AddNewF().eqn = ("if @0 @3 0");
            formulas.AddNewF().eqn = ("if @0 21600 @1");
            formulas.AddNewF().eqn = ("if @0 0 @2");
            formulas.AddNewF().eqn = ("if @0 @4 21600");
            formulas.AddNewF().eqn = ("mid @5 @6");
            formulas.AddNewF().eqn = ("mid @8 @5");
            formulas.AddNewF().eqn = ("mid @7 @8");
            formulas.AddNewF().eqn = ("mid @6 @7");
            formulas.AddNewF().eqn = ("sum @6 0 @5");
            CT_Path path           = shapetype.AddNewPath();

            path.textpathok    = (Npoi.Core.OpenXmlFormats.Vml.ST_TrueFalse.t);
            path.connecttype   = (ST_ConnectType.custom);
            path.connectlocs   = ("@9,0;@10,10800;@11,21600;@12,10800");
            path.connectangles = ("270,180,90,0");
            CT_TextPath shapeTypeTextPath = shapetype.AddNewTextpath();

            shapeTypeTextPath.on       = (Npoi.Core.OpenXmlFormats.Vml.ST_TrueFalse.t);
            shapeTypeTextPath.fitshape = (Npoi.Core.OpenXmlFormats.Vml.ST_TrueFalse.t);
            CT_Handles handles = shapetype.AddNewHandles();
            CT_H       h       = handles.AddNewH();

            h.position = ("#0,bottomRight");
            h.xrange   = ("6629,14971");
            Npoi.Core.OpenXmlFormats.Vml.Office.CT_Lock lock1 = shapetype.AddNewLock();
            lock1.ext = (ST_Ext.edit);
            CT_Shape shape = group.AddNewShape();

            shape.id         = ("PowerPlusWaterMarkObject" + idx);
            shape.spid       = ("_x0000_s102" + (4 + idx));
            shape.type       = ("#_x0000_t136");
            shape.style      = ("position:absolute;margin-left:0;margin-top:0;width:415pt;height:207.5pt;z-index:-251654144;mso-wrap-edited:f;mso-position-horizontal:center;mso-position-horizontal-relative:margin;mso-position-vertical:center;mso-position-vertical-relative:margin");
            shape.wrapcoords = ("616 5068 390 16297 39 16921 -39 17155 7265 17545 7186 17467 -39 17467 18904 17467 10507 17467 8710 17545 18904 17077 18787 16843 18358 16297 18279 12554 19178 12476 20701 11774 20779 11228 21131 10059 21248 8811 21248 7563 20975 6316 20935 5380 19490 5146 14022 5068 2616 5068");
            shape.fillcolor  = ("black");
            shape.stroked    = (Npoi.Core.OpenXmlFormats.Vml.ST_TrueFalse.@false);
            CT_TextPath shapeTextPath = shape.AddNewTextpath();

            shapeTextPath.style   = ("font-family:&quot;Cambria&quot;;font-size:1pt");
            shapeTextPath.@string = (text);
            pict.Set(group);
            // end watermark paragraph
            return(new XWPFParagraph(p, doc));
        }
 public XWPFDefaultParagraphStyle(CT_PPr ppr)
 {
     this.ppr = ppr;
 }
Example #32
0
 public CT_PPr AddNewPPr()
 {
     this.pPrField = new CT_PPr();
     return this.pPrField;
 }
Example #33
0
 public CT_Lvl()
 {
     this.rPrField = new CT_RPr();
     this.pPrField = new CT_PPr();
     this.lvlJcField = new CT_Jc();
     //this.legacyField = new CT_LvlLegacy();
     //this.lvlPicBulletIdField = new CT_DecimalNumber();
     this.lvlTextField = new CT_LevelText();
     //this.suffField = new CT_LevelSuffix();
     //this.isLglField = new CT_OnOff();
     //this.pStyleField = new CT_String();
     //this.lvlRestartField = new CT_DecimalNumber();
     this.numFmtField = new CT_NumFmt();
     this.startField = new CT_DecimalNumber();
 }
Example #34
0
 public CT_PPrDefault()
 {
     this.pPrField = new CT_PPr();
 }
Example #35
0
 public CT_Style()
 {
     this.tblStylePrField = new List<CT_TblStylePr>();
     this.tcPrField = new CT_TcPr();
     this.trPrField = new CT_TrPr();
     this.tblPrField = new CT_TblPrBase();
     this.rPrField = new CT_RPr();
     this.pPrField = new CT_PPr();
     this.rsidField = new CT_LongHexNumber();
     this.personalReplyField = new CT_OnOff();
     this.personalComposeField = new CT_OnOff();
     this.personalField = new CT_OnOff();
     this.lockedField = new CT_OnOff();
     this.qFormatField = new CT_OnOff();
     this.unhideWhenUsedField = new CT_OnOff();
     this.semiHiddenField = new CT_OnOff();
     this.uiPriorityField = new CT_DecimalNumber();
     this.hiddenField = new CT_OnOff();
     this.autoRedefineField = new CT_OnOff();
     this.linkField = new CT_String();
     this.nextField = new CT_String();
     this.basedOnField = new CT_String();
     this.aliasesField = new CT_String();
     this.nameField = new CT_String();
 }