public void dumpChpx( boolean withProperties, boolean withSprms ) { for ( CHPX chpx : _doc.getCharacterTable().getTextRuns() ) { System.out.println( chpx ); if ( withProperties ) { System.out.println( chpx.getCharacterProperties( _doc.getStyleSheet(), (short) StyleSheet.NIL_STYLE ) ); } if ( withSprms ) { SprmIterator sprmIt = new SprmIterator( chpx.getGrpprl(), 0 ); while ( sprmIt.hasNext() ) { SprmOperation sprm = sprmIt.next(); System.out.println( "\t" + sprm); } } String text = new Range( chpx.getStart(), chpx.getEnd(), _doc.getOverallRange() ) { public String toString() { return "CHPX range (" + super.toString() + ")"; } }.text(); StringBuilder stringBuilder = new StringBuilder(); for ( char c : text.toCharArray() ) { if ( c < 30 ) stringBuilder.append("\\0x").append(Integer.toHexString(c)); else stringBuilder.append( c ); } System.out.println( stringBuilder ); } }
/** * Inserts text into the front of this range. * * @param text * The text to insert * @return The character run that text was inserted into. */ public CharacterRun insertBefore( String text ) { initAll(); _text.insert( _start, text ); _doc.getCharacterTable().adjustForInsert( _charStart, text.length() ); _doc.getParagraphTable().adjustForInsert( _parStart, text.length() ); _doc.getSectionTable().adjustForInsert( _sectionStart, text.length() ); if ( _doc instanceof HWPFDocument ) { ( (BookmarksImpl) ( (HWPFDocument) _doc ).getBookmarks() ) .afterInsert( _start, text.length() ); } adjustForInsert( text.length() ); // update the FIB.CCPText + friends fields adjustFIB( text.length() ); sanityCheck(); return getCharacterRun( 0 ); }
/** * Inserts text into the front of this range. * * @param text * The text to insert * @return The character run that text was inserted into. */ public CharacterRun insertBefore( String text ) { initAll(); _text.insert( _start, text ); _doc.getCharacterTable().adjustForInsert( _charStart, text.length() ); _doc.getParagraphTable().adjustForInsert( _parStart, text.length() ); _doc.getSectionTable().adjustForInsert( _sectionStart, text.length() ); if ( _doc instanceof HWPFDocument ) { ( (BookmarksImpl) ( (HWPFDocument) _doc ).getBookmarks() ) .afterInsert( _start, text.length() ); } adjustForInsert( text.length() ); // update the FIB.CCPText + friends fields adjustFIB( text.length() ); assert sanityCheck(); return getCharacterRun( 0 ); }
/** * Inserts text onto the end of this range * * @param text * The text to insert * @return The character run the text was inserted into. */ public CharacterRun insertAfter( String text ) { initAll(); _text.insert( _end, text ); _doc.getCharacterTable().adjustForInsert( _charEnd - 1, text.length() ); _doc.getParagraphTable().adjustForInsert( _parEnd - 1, text.length() ); _doc.getSectionTable().adjustForInsert( _sectionEnd - 1, text.length() ); if ( _doc instanceof HWPFDocument ) { ( (BookmarksImpl) ( (HWPFDocument) _doc ).getBookmarks() ) .afterInsert( _end, text.length() ); } adjustForInsert( text.length() ); sanityCheck(); return getCharacterRun( numCharacterRuns() - 1 ); }
/** * Inserts text onto the end of this range * * @param text * The text to insert * @return The character run the text was inserted into. */ public CharacterRun insertAfter( String text ) { initAll(); _text.insert( _end, text ); _doc.getCharacterTable().adjustForInsert( _charEnd - 1, text.length() ); _doc.getParagraphTable().adjustForInsert( _parEnd - 1, text.length() ); _doc.getSectionTable().adjustForInsert( _sectionEnd - 1, text.length() ); if ( _doc instanceof HWPFDocument ) { ( (BookmarksImpl) ( (HWPFDocument) _doc ).getBookmarks() ) .afterInsert( _end, text.length() ); } adjustForInsert( text.length() ); assert sanityCheck(); return getCharacterRun( numCharacterRuns() - 1 ); }
public void dumpChpx( boolean withProperties, boolean withSprms ) for ( CHPX chpx : _doc.getCharacterTable().getTextRuns() )
/** * Inserts text into the front of this range and it gives that text the * CharacterProperties specified in props. * * @param text * The text to insert. * @param props * The CharacterProperties to give the text. * @return A new CharacterRun that has the given text and properties and is * n ow a part of the document. * @deprecated POI 3.8 beta 4. User code should not work with {@link CharacterProperties} */ @Deprecated private CharacterRun insertBefore(String text, CharacterProperties props) { initAll(); PAPX papx = _paragraphs.get(_parStart); short istd = papx.getIstd(); StyleSheet ss = _doc.getStyleSheet(); CharacterProperties baseStyle = ss.getCharacterStyle(istd); byte[] grpprl = CharacterSprmCompressor.compressCharacterProperty(props, baseStyle); SprmBuffer buf = new SprmBuffer(grpprl, 0); _doc.getCharacterTable().insert(_charStart, _start, buf); return insertBefore(text); }
/** * Inserts text onto the end of this range and gives that text the * CharacterProperties specified in props. * * @param text * The text to insert. * @param props * The CharacterProperties to give the text. * @return A new CharacterRun that has the given text and properties and is * n ow a part of the document. * @deprecated POI 3.8 beta 4. User code should not work with {@link CharacterProperties} */ @Deprecated private CharacterRun insertAfter(String text, CharacterProperties props) { initAll(); PAPX papx = _paragraphs.get(_parEnd - 1); short istd = papx.getIstd(); StyleSheet ss = _doc.getStyleSheet(); CharacterProperties baseStyle = ss.getCharacterStyle(istd); byte[] grpprl = CharacterSprmCompressor.compressCharacterProperty(props, baseStyle); SprmBuffer buf = new SprmBuffer(grpprl, 0); _doc.getCharacterTable().insert(_charEnd, _end, buf); _charEnd++; return insertAfter(text); }
/** * Inserts text into the front of this range and it gives that text the * CharacterProperties specified in props. * * @param text * The text to insert. * @param props * The CharacterProperties to give the text. * @return A new CharacterRun that has the given text and properties and is * n ow a part of the document. * @deprecated User code should not work with {@link CharacterProperties} */ @Deprecated public CharacterRun insertBefore(String text, CharacterProperties props) // throws UnsupportedEncodingException { initAll(); PAPX papx = _paragraphs.get(_parStart); short istd = papx.getIstd(); StyleSheet ss = _doc.getStyleSheet(); CharacterProperties baseStyle = ss.getCharacterStyle(istd); byte[] grpprl = CharacterSprmCompressor.compressCharacterProperty(props, baseStyle); SprmBuffer buf = new SprmBuffer(grpprl, 0); _doc.getCharacterTable().insert(_charStart, _start, buf); return insertBefore(text); }
/** * Inserts text onto the end of this range and gives that text the * CharacterProperties specified in props. * * @param text * The text to insert. * @param props * The CharacterProperties to give the text. * @return A new CharacterRun that has the given text and properties and is * n ow a part of the document. * @deprecated User code should not work with {@link CharacterProperties} */ @Deprecated public CharacterRun insertAfter(String text, CharacterProperties props) // throws UnsupportedEncodingException { initAll(); PAPX papx = _paragraphs.get(_parEnd - 1); short istd = papx.getIstd(); StyleSheet ss = _doc.getStyleSheet(); CharacterProperties baseStyle = ss.getCharacterStyle(istd); byte[] grpprl = CharacterSprmCompressor.compressCharacterProperty(props, baseStyle); SprmBuffer buf = new SprmBuffer(grpprl, 0); _doc.getCharacterTable().insert(_charEnd, _end, buf); _charEnd++; return insertAfter(text); }
/** * Used to construct a Range from a document. This is generally used to * create a Range that spans the whole document, or at least one whole part * of the document (eg main text, header, comment) * * @param start * Starting character offset of the range. * @param end * Ending character offset of the range. * @param doc * The HWPFDocument the range is based on. */ public Range(int start, int end, HWPFDocumentCore doc) { _start = start; _end = end; _doc = doc; _sections = _doc.getSectionTable().getSections(); _paragraphs = _doc.getParagraphTable().getParagraphs(); _characters = _doc.getCharacterTable().getTextRuns(); _text = _doc.getText(); _parent = new WeakReference<>(null); sanityCheckStartEnd(); }
/** * Used to construct a Range from a document. This is generally used to * create a Range that spans the whole document, or at least one whole part * of the document (eg main text, header, comment) * * @param start * Starting character offset of the range. * @param end * Ending character offset of the range. * @param doc * The HWPFDocument the range is based on. */ public Range(int start, int end, HWPFDocumentCore doc) { _start = start; _end = end; _doc = doc; _sections = _doc.getSectionTable().getSections(); _paragraphs = _doc.getParagraphTable().getParagraphs(); _characters = _doc.getCharacterTable().getTextRuns(); _text = _doc.getText(); _parent = new WeakReference<Range>(null); sanityCheckStartEnd(); }