예제 #1
0
  private static void appendRun(SdtBlock currentBlock, List<Object> resultElts) {

    List<Object> blkElements = null;
    R run = null;
    RPr blockRPr = null;
    if (currentBlock != null) {
      blkElements = currentBlock.getSdtContent().getContent();
      if (blkElements.size() == 1) {
        // If there is only one element, there is no need to use a sdtBlock
        resultElts.add(blkElements.get(0));
      } else {
        resultElts.add(currentBlock);
        // Remove the borders of the child elements
        // (and the shading if it is the same as that of the container)
        blockRPr = findBlockRPr(currentBlock);
        for (Object elem : blkElements) {
          if (elem instanceof R) {
            run = (R) elem;
            if (run.getRPr() != null) {
              run.getRPr().setBdr(null);
              if (!shadingChanged(blockRPr.getShd(), run.getRPr().getShd())) {
                run.getRPr().setShd(null);
              }
            }
          }
        }
      }
    }
  }
예제 #2
0
  private boolean hasDirectRPrFormatting(RPr rPrToApply) {

    if (rPrToApply == null) {
      return false;
    }

    // Here is where we do the real work.
    // There are a lot of run properties
    // The below list is taken directly from RPr, and so
    // is comprehensive.

    // RStyle rStyle;
    // RFonts rFonts;
    if (rPrToApply.getRFonts() != null) {
      return true;
    }

    // BooleanDefaultTrue b;
    if (rPrToApply.getB() != null) {
      return true;
    }

    // BooleanDefaultTrue bCs;
    // BooleanDefaultTrue i;
    if (rPrToApply.getI() != null) {
      return true;
    }

    // BooleanDefaultTrue iCs;
    // BooleanDefaultTrue caps;
    if (rPrToApply.getCaps() != null) {
      return true;
    }

    // BooleanDefaultTrue smallCaps;
    if (rPrToApply.getSmallCaps() != null) {
      return true;
    }

    // BooleanDefaultTrue strike;
    if (rPrToApply.getStrike() != null) {
      return true;
    }
    // BooleanDefaultTrue dstrike;
    // BooleanDefaultTrue outline;
    // BooleanDefaultTrue shadow;
    // BooleanDefaultTrue emboss;
    // BooleanDefaultTrue imprint;
    // BooleanDefaultTrue noProof;
    // BooleanDefaultTrue snapToGrid;
    // BooleanDefaultTrue vanish;
    // BooleanDefaultTrue webHidden;
    // Color color;
    if (rPrToApply.getColor() != null) {
      return true;
    }

    // CTSignedTwipsMeasure spacing;
    // CTTextScale w;
    // HpsMeasure kern;
    // CTSignedHpsMeasure position;
    // HpsMeasure sz;
    if (rPrToApply.getSz() != null) {
      return true;
    }

    // HpsMeasure szCs;
    // Highlight highlight;
    if (rPrToApply.getHighlight() != null) {
      return true;
    }
    // U u;
    if (rPrToApply.getU() != null) {
      return true;
    }

    // CTTextEffect effect;
    // CTBorder bdr;
    if (rPrToApply.getBdr() != null) {
      return true;
    }
    // CTShd shd;
    if (rPrToApply.getShd() != null) {
      return true;
    }
    // CTFitText fitText;
    // CTVerticalAlignRun vertAlign;
    // BooleanDefaultTrue rtl;
    // BooleanDefaultTrue cs;
    // CTEm em;
    // CTLanguage lang;
    // CTEastAsianLayout eastAsianLayout;
    // BooleanDefaultTrue specVanish;
    // BooleanDefaultTrue oMath;
    // CTRPrChange rPrChange;

    // If we got here...
    return false;
  }