コード例 #1
0
  public static void main(String[] args) throws Exception {
    if (args.length < 1) {
      System.err.println("Need to give a filename");
      System.exit(1);
    }

    HSLFSlideShow ss = new HSLFSlideShow(args[0]);

    // Find the documents, and then their SLWT
    Record[] records = ss.getRecords();
    for (int i = 0; i < records.length; i++) {
      if (records[i] instanceof Document) {
        Record docRecord = records[i];
        Record[] docChildren = docRecord.getChildRecords();
        for (int j = 0; j < docChildren.length; j++) {
          if (docChildren[j] instanceof SlideListWithText) {
            System.out.println("Found SLWT at pos " + j + " in the Document at " + i);
            System.out.println("  Has " + docChildren[j].getChildRecords().length + " children");

            // Grab the SlideAtomSet's, which contain
            //  a SlidePersistAtom and then a bunch of text
            //  + related records
            SlideListWithText slwt = (SlideListWithText) docChildren[j];
            SlideListWithText.SlideAtomsSet[] thisSets = slwt.getSlideAtomsSets();
            System.out.println("  Has " + thisSets.length + " AtomSets in it");

            // Loop over the sets, showing what they contain
            for (int k = 0; k < thisSets.length; k++) {
              SlidePersistAtom spa = thisSets[k].getSlidePersistAtom();
              System.out.println("    " + k + " has slide id " + spa.getSlideIdentifier());
              System.out.println("    " + k + " has ref id " + spa.getRefID());

              // Loop over the records, printing the text
              Record[] slwtc = thisSets[k].getSlideRecords();
              for (int l = 0; l < slwtc.length; l++) {
                String text = null;
                if (slwtc[l] instanceof TextBytesAtom) {
                  TextBytesAtom tba = (TextBytesAtom) slwtc[l];
                  text = tba.getText();
                }
                if (slwtc[l] instanceof TextCharsAtom) {
                  TextCharsAtom tca = (TextCharsAtom) slwtc[l];
                  text = tca.getText();
                }

                if (text != null) {
                  text = text.replace('\r', '\n');
                  System.out.println("        ''" + text + "''");
                }
              }
            }
          }
        }
      }
    }
  }