/** * read numbering form an existing package */ @Override protected void onDocumentRead() throws IOException { NumberingDocument numberingDoc = null; InputStream is; is = getPackagePart().getInputStream(); try { numberingDoc = NumberingDocument.Factory.parse(is, DEFAULT_XML_OPTIONS); ctNumbering = numberingDoc.getNumbering(); //get any Nums for (CTNum ctNum : ctNumbering.getNumArray()) { nums.add(new XWPFNum(ctNum, this)); } for (CTAbstractNum ctAbstractNum : ctNumbering.getAbstractNumArray()) { abstractNums.add(new XWPFAbstractNum(ctAbstractNum, this)); } isNew = false; } catch (XmlException e) { throw new POIXMLException(); } finally { is.close(); } }
/** * Compare AbstractNum with abstractNums of this numbering document. * If the content of abstractNum equals with an abstractNum of the List in numbering * the BigInteger Value of it will be returned. * If no equal abstractNum is existing null will be returned * * @param abstractNum * @return BigInteger */ public BigInteger getIdOfAbstractNum(XWPFAbstractNum abstractNum) { CTAbstractNum copy = (CTAbstractNum) abstractNum.getCTAbstractNum().copy(); XWPFAbstractNum newAbstractNum = new XWPFAbstractNum(copy, this); int i; for (i = 0; i < abstractNums.size(); i++) { newAbstractNum.getCTAbstractNum().setAbstractNumId(BigInteger.valueOf(i)); newAbstractNum.setNumbering(this); if (newAbstractNum.getCTAbstractNum().valueEquals(abstractNums.get(i).getCTAbstractNum())) { return newAbstractNum.getCTAbstractNum().getAbstractNumId(); } } return null; }
public BigInteger addNewNumbericId(Pair<Enum, String> numFmt) { XWPFNumbering numbering = this.getNumbering(); if (null == numbering) { numbering = this.createNumbering(); } NumberingWrapper numberingWrapper = new NumberingWrapper(numbering); CTAbstractNum cTAbstractNum = CTAbstractNum.Factory.newInstance(); // if we have an existing document, we must determine the next // free number first. cTAbstractNum .setAbstractNumId(BigInteger.valueOf(numberingWrapper.getAbstractNumsSize() + 10)); Enum fmt = numFmt.getLeft(); String val = numFmt.getRight(); CTLvl cTLvl = cTAbstractNum.addNewLvl(); cTLvl.addNewNumFmt().setVal(fmt); cTLvl.addNewLvlText().setVal(val); cTLvl.addNewStart().setVal(BigInteger.valueOf(1)); cTLvl.setIlvl(BigInteger.valueOf(0)); if (fmt == STNumberFormat.BULLET) { cTLvl.addNewLvlJc().setVal(STJc.LEFT); } else { // cTLvl.setIlvl(BigInteger.valueOf(0)); } XWPFAbstractNum abstractNum = new XWPFAbstractNum(cTAbstractNum); BigInteger abstractNumID = numbering.addAbstractNum(abstractNum); return numbering.addNum(abstractNumID); }
BigInteger numID = numbering.addNum(numbering.addAbstractNum(new XWPFAbstractNum(cTAbstractNum)));
/** * read numbering form an existing package */ @Override protected void onDocumentRead() throws IOException { NumberingDocument numberingDoc = null; InputStream is; is = getPackagePart().getInputStream(); try { numberingDoc = NumberingDocument.Factory.parse(is, DEFAULT_XML_OPTIONS); ctNumbering = numberingDoc.getNumbering(); //get any Nums for (CTNum ctNum : ctNumbering.getNumArray()) { nums.add(new XWPFNum(ctNum, this)); } for (CTAbstractNum ctAbstractNum : ctNumbering.getAbstractNumArray()) { abstractNums.add(new XWPFAbstractNum(ctAbstractNum, this)); } isNew = false; } catch (XmlException e) { throw new POIXMLException(); } finally { is.close(); } }
/** * Compare AbstractNum with abstractNums of this numbering document. * If the content of abstractNum equals with an abstractNum of the List in numbering * the BigInteger Value of it will be returned. * If no equal abstractNum is existing null will be returned * * @param abstractNum * @return BigInteger */ public BigInteger getIdOfAbstractNum(XWPFAbstractNum abstractNum) { CTAbstractNum copy = (CTAbstractNum) abstractNum.getCTAbstractNum().copy(); XWPFAbstractNum newAbstractNum = new XWPFAbstractNum(copy, this); int i; for (i = 0; i < abstractNums.size(); i++) { newAbstractNum.getCTAbstractNum().setAbstractNumId(BigInteger.valueOf(i)); newAbstractNum.setNumbering(this); if (newAbstractNum.getCTAbstractNum().valueEquals(abstractNums.get(i).getCTAbstractNum())) { return newAbstractNum.getCTAbstractNum().getAbstractNumId(); } } return null; }
/** * Compare AbstractNum with abstractNums of this numbering document. * If the content of abstractNum equals with an abstractNum of the List in numbering * the BigInteger Value of it will be returned. * If no equal abstractNum is existing null will be returned * * @param abstractNum * @return BigInteger */ public BigInteger getIdOfAbstractNum(XWPFAbstractNum abstractNum){ CTAbstractNum copy = (CTAbstractNum) abstractNum.getCTAbstractNum().copy(); XWPFAbstractNum newAbstractNum = new XWPFAbstractNum(copy, this); int i; for (i = 0; i < abstractNums.size(); i++) { newAbstractNum.getCTAbstractNum().setAbstractNumId(BigInteger.valueOf(i)); newAbstractNum.setNumbering(this); if(newAbstractNum.getCTAbstractNum().valueEquals(abstractNums.get(i).getCTAbstractNum())){ return newAbstractNum.getCTAbstractNum().getAbstractNumId(); } } return null; }
/** * read numbering form an existing package */ @Override protected void onDocumentRead() throws IOException{ NumberingDocument numberingDoc = null; InputStream is; is = getPackagePart().getInputStream(); try { numberingDoc = NumberingDocument.Factory.parse(is); ctNumbering = numberingDoc.getNumbering(); //get any Nums for(CTNum ctNum : ctNumbering.getNumList()) { nums.add(new XWPFNum(ctNum, this)); } for(CTAbstractNum ctAbstractNum : ctNumbering.getAbstractNumList()){ abstractNums.add(new XWPFAbstractNum(ctAbstractNum, this)); } isNew = false; } catch (XmlException e) { throw new POIXMLException(); } }