use of org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr in project poi by apache.
the class XWPFHeaderFooterPolicy method buildHdrFtr.
/**
* 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 CTHdrFtr buildHdrFtr(String pStyle, XWPFParagraph[] paragraphs, XWPFHeaderFooter wrapper) {
CTHdrFtr ftr = wrapper._getHdrFtr();
if (paragraphs != null) {
for (int i = 0; i < paragraphs.length; i++) {
CTP p = ftr.addNewP();
ftr.setPArray(i, paragraphs[i].getCTP());
}
// } else {
// CTP p = ftr.addNewP();
// CTBody body = doc.getDocument().getBody();
// if (body.sizeOfPArray() > 0) {
// CTP p0 = body.getPArray(0);
// if (p0.isSetRsidR()) {
// byte[] rsidr = p0.getRsidR();
// byte[] rsidrdefault = p0.getRsidRDefault();
// p.setRsidP(rsidr);
// p.setRsidRDefault(rsidrdefault);
// }
// }
// CTPPr pPr = p.addNewPPr();
// pPr.addNewPStyle().setVal(pStyle);
}
return ftr;
}
use of org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr in project poi by apache.
the class TestXWPFParagraph method testSetGetSpacing.
@Test
public void testSetGetSpacing() throws IOException {
XWPFDocument doc = new XWPFDocument();
XWPFParagraph p = doc.createParagraph();
CTP ctp = p.getCTP();
CTPPr ppr = ctp.getPPr() == null ? ctp.addNewPPr() : ctp.getPPr();
assertEquals(-1, p.getSpacingBefore());
assertEquals(-1, p.getSpacingAfter());
assertEquals(-1, p.getSpacingBetween(), 0.1);
assertEquals(LineSpacingRule.AUTO, p.getSpacingLineRule());
CTSpacing spacing = ppr.addNewSpacing();
spacing.setAfter(new BigInteger("10"));
assertEquals(10, p.getSpacingAfter());
spacing.setBefore(new BigInteger("10"));
assertEquals(10, p.getSpacingBefore());
p.setSpacingAfter(100);
assertEquals(100, spacing.getAfter().intValue());
p.setSpacingBefore(100);
assertEquals(100, spacing.getBefore().intValue());
p.setSpacingBetween(.25, LineSpacingRule.EXACT);
assertEquals(.25, p.getSpacingBetween(), 0.01);
assertEquals(LineSpacingRule.EXACT, p.getSpacingLineRule());
p.setSpacingBetween(1.25, LineSpacingRule.AUTO);
assertEquals(1.25, p.getSpacingBetween(), 0.01);
assertEquals(LineSpacingRule.AUTO, p.getSpacingLineRule());
p.setSpacingBetween(.5, LineSpacingRule.AT_LEAST);
assertEquals(.5, p.getSpacingBetween(), 0.01);
assertEquals(LineSpacingRule.AT_LEAST, p.getSpacingLineRule());
p.setSpacingBetween(1.15);
assertEquals(1.15, p.getSpacingBetween(), 0.01);
assertEquals(LineSpacingRule.AUTO, p.getSpacingLineRule());
doc.close();
}
use of org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr in project poi by apache.
the class TestXWPFParagraph method testSetGetPageBreak.
@Test
public void testSetGetPageBreak() throws IOException {
XWPFDocument doc = new XWPFDocument();
XWPFParagraph p = doc.createParagraph();
CTP ctp = p.getCTP();
CTPPr ppr = ctp.getPPr() == null ? ctp.addNewPPr() : ctp.getPPr();
CTOnOff pageBreak = ppr.addNewPageBreakBefore();
pageBreak.setVal(STOnOff.FALSE);
assertEquals(false, p.isPageBreak());
p.setPageBreak(true);
assertEquals(STOnOff.TRUE, ppr.getPageBreakBefore().getVal());
doc.close();
}
use of org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr in project poi by apache.
the class TestXWPFParagraph method testSetGetIndentation.
@Test
public void testSetGetIndentation() throws IOException {
XWPFDocument doc = new XWPFDocument();
XWPFParagraph p = doc.createParagraph();
assertEquals(-1, p.getIndentationLeft());
CTP ctp = p.getCTP();
CTPPr ppr = ctp.getPPr() == null ? ctp.addNewPPr() : ctp.getPPr();
assertEquals(-1, p.getIndentationLeft());
CTInd ind = ppr.addNewInd();
ind.setLeft(new BigInteger("10"));
assertEquals(10, p.getIndentationLeft());
p.setIndentationLeft(100);
assertEquals(100, ind.getLeft().intValue());
doc.close();
}
use of org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr in project poi by apache.
the class TOC method addRow.
public void addRow(int level, String title, int page, String bookmarkRef) {
CTSdtContentBlock contentBlock = this.block.getSdtContent();
CTP p = contentBlock.addNewP();
p.setRsidR("00EF7E24".getBytes(LocaleUtil.CHARSET_1252));
p.setRsidRDefault("00EF7E24".getBytes(LocaleUtil.CHARSET_1252));
CTPPr pPr = p.addNewPPr();
pPr.addNewPStyle().setVal("TOC" + level);
CTTabs tabs = pPr.addNewTabs();
CTTabStop tab = tabs.addNewTab();
tab.setVal(STTabJc.RIGHT);
tab.setLeader(STTabTlc.DOT);
tab.setPos(new BigInteger("8290"));
pPr.addNewRPr().addNewNoProof();
CTR run = p.addNewR();
run.addNewRPr().addNewNoProof();
run.addNewT().setStringValue(title);
run = p.addNewR();
run.addNewRPr().addNewNoProof();
run.addNewTab();
run = p.addNewR();
run.addNewRPr().addNewNoProof();
run.addNewFldChar().setFldCharType(STFldCharType.BEGIN);
// pageref run
run = p.addNewR();
run.addNewRPr().addNewNoProof();
CTText text = run.addNewInstrText();
text.setSpace(Space.PRESERVE);
// bookmark reference
text.setStringValue(" PAGEREF _Toc" + bookmarkRef + " \\h ");
p.addNewR().addNewRPr().addNewNoProof();
run = p.addNewR();
run.addNewRPr().addNewNoProof();
run.addNewFldChar().setFldCharType(STFldCharType.SEPARATE);
// page number run
run = p.addNewR();
run.addNewRPr().addNewNoProof();
run.addNewT().setStringValue(Integer.toString(page));
run = p.addNewR();
run.addNewRPr().addNewNoProof();
run.addNewFldChar().setFldCharType(STFldCharType.END);
}
Aggregations