Package org.apache.poi.hslf.model

Examples of org.apache.poi.hslf.model.HeadersFooters


  if(getSlideText) {
    for(int i=0; i<_slides.length; i++) {
      Slide slide = _slides[i];

      // Slide header, if set
      HeadersFooters hf = slide.getHeadersFooters();
      if(hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
        ret.append(hf.getHeaderText() + "\n");
      }

      // Slide text
      TextRun[] runs = slide.getTextRuns();
      for(int j=0; j<runs.length; j++) {
        TextRun run = runs[j];
        if(run != null) {
          String text = run.getText();
          ret.append(text);
          if(! text.endsWith("\n")) {
            ret.append("\n");
          }
        }
      }

      // Slide footer, if set
      if(hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
        ret.append(hf.getFooterText() + "\n");
      }

      // Comments, if requested and present
      if(getCommentText) {
        Comment[] comments = slide.getComments();
        for(int j=0; j<comments.length; j++) {
          ret.append(
              comments[j].getAuthor() +
              " - " +
              comments[j].getText() +
              "\n"
          );
        }
      }
    }
    if(getNoteText) {
      ret.append("\n");
    }
  }

  if(getNoteText) {
    // Not currently using _notes, as that can have the notes of
    //  master sheets in. Grab Slide list, then work from there,
    //  but ensure no duplicates
    HashSet seenNotes = new HashSet();
    HeadersFooters hf = _show.getNotesHeadersFooters();

    for(int i=0; i<_slides.length; i++) {
      Notes notes = _slides[i].getNotesSheet();
      if(notes == null) { continue; }
      Integer id = new Integer(notes._getSheetNumber());
      if(seenNotes.contains(id)) { continue; }
      seenNotes.add(id);

      // Repeat the Notes header, if set
      if(hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
        ret.append(hf.getHeaderText() + "\n");
      }

      // Notes text
      TextRun[] runs = notes.getTextRuns();
      if(runs != null && runs.length > 0) {
        for(int j=0; j<runs.length; j++) {
          TextRun run = runs[j];
          String text = run.getText();
          ret.append(text);
          if(! text.endsWith("\n")) {
            ret.append("\n");
          }
        }
      }

      // Repeat the notes footer, if set
      if(hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
        ret.append(hf.getFooterText() + "\n");
      }
    }
  }

  return ret.toString();
View Full Code Here


    boolean newRecord = false;
    if (hdd == null) {
      hdd = new HeadersFootersContainer(HeadersFootersContainer.SlideHeadersFootersContainer);
      newRecord = true;
    }
    return new HeadersFooters(hdd, this, newRecord, ppt2007);
  }
View Full Code Here

    if (hdd == null) {
      hdd = new HeadersFootersContainer(HeadersFootersContainer.NotesHeadersFootersContainer);
      newRecord = true;
    }
    if (ppt2007 && _notes.length > 0) {
      return new HeadersFooters(hdd, _notes[0], newRecord, ppt2007);
    }
    return new HeadersFooters(hdd, this, newRecord, ppt2007);
  }
View Full Code Here

        SlideShow _show = new SlideShow(ss);
        Slide[] _slides = _show.getSlides();

        /* Iterate over slides and extract text */
        for( Slide slide : _slides ) {
            HeadersFooters hf = slide.getHeadersFooters();
            /*boolean visible =*/ hf.isHeaderVisible(); // exception happens here
        }
        assertTrue("No Exceptions while reading headers", true);
    }
View Full Code Here

  if(getSlideText) {
    for(int i=0; i<_slides.length; i++) {
      Slide slide = _slides[i];
     
      // Slide header, if set
      HeadersFooters hf = slide.getHeadersFooters();
      if(hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
        ret.append(hf.getHeaderText() + "\n");
      }
     
      // Slide text
      TextRun[] runs = slide.getTextRuns();
      for(int j=0; j<runs.length; j++) {
        TextRun run = runs[j];
        if(run != null) {
          String text = run.getText();
          ret.append(text);
          if(! text.endsWith("\n")) {
            ret.append("\n");
          }
        }
      }
     
      // Slide footer, if set
      if(hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
        ret.append(hf.getFooterText() + "\n");
      }
     
      // Comments, if requested and present
      if(getCommentText) {
        Comment[] comments = slide.getComments();
        for(int j=0; j<comments.length; j++) {
          ret.append(
              comments[j].getAuthor() +
              " - " +
              comments[j].getText() +
              "\n"
          );
        }
      }
    }
    if(getNoteText) {
      ret.append("\n");
    }
  }

  if(getNoteText) {
    // Not currently using _notes, as that can have the notes of
    //  master sheets in. Grab Slide list, then work from there,
    //  but ensure no duplicates
    HashSet seenNotes = new HashSet();
    HeadersFooters hf = _show.getNotesHeadersFooters();
   
    for(int i=0; i<_slides.length; i++) {
      Notes notes = _slides[i].getNotesSheet();
      if(notes == null) { continue; }
      Integer id = new Integer(notes._getSheetNumber());
      if(seenNotes.contains(id)) { continue; }
      seenNotes.add(id);
     
      // Repeat the Notes header, if set
      if(hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
        ret.append(hf.getHeaderText() + "\n");
      }

      // Notes text
      TextRun[] runs = notes.getTextRuns();
      if(runs != null && runs.length > 0) {
        for(int j=0; j<runs.length; j++) {
          TextRun run = runs[j];
          String text = run.getText();
          ret.append(text);
          if(! text.endsWith("\n")) {
            ret.append("\n");
          }
        }
      }
     
      // Repeat the notes footer, if set
      if(hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
        ret.append(hf.getFooterText() + "\n");
      }
    }
  }

  return ret.toString();
View Full Code Here

      /* Iterate over slides and extract text */
      for( Slide slide : _slides ) {
         xhtml.startElement("div", "class", "slide");

         // Slide header, if present
         HeadersFooters hf = slide.getHeadersFooters();
         if (hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
            xhtml.startElement("p", "class", "slide-header");

            xhtml.characters( hf.getHeaderText() );

            xhtml.endElement("p");
         }

         // Slide master, if present
         // TODO: re-enable this once we fix TIKA-712
         /*
         MasterSheet master = slide.getMasterSheet();
         if(master != null) {
            xhtml.startElement("p", "class", "slide-master-content");
            textRunsToText(xhtml, master.getTextRuns() );
            xhtml.endElement("p");
         }
         */

         // Slide text
         {
            xhtml.startElement("p", "class", "slide-content");

            textRunsToText(xhtml, slide.getTextRuns() );

            xhtml.endElement("p");
         }

         // Slide footer, if present
         if (hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
            xhtml.startElement("p", "class", "slide-footer");

            xhtml.characters( hf.getFooterText() );

            xhtml.endElement("p");
         }

         // Comments, if present
         for( Comment comment : slide.getComments() ) {
            xhtml.startElement("p", "class", "slide-comment");
            xhtml.startElement("b");
            xhtml.characters( comment.getAuthor() );
            xhtml.endElement("b");
            xhtml.characters( "&nbsp-&nbsp");
            xhtml.characters( comment.getText() );
            xhtml.endElement("p");
         }

         // Now any embedded resources
         handleSlideEmbeddedResources(slide, xhtml);

         // TODO Find the Notes for this slide and extract inline

         // Slide complete
         xhtml.endElement("div");
      }

      // All slides done
      xhtml.endElement("div");

      /* notes */
      xhtml.startElement("div", "class", "slideNotes");
      HashSet<Integer> seenNotes = new HashSet<Integer>();
      HeadersFooters hf = _show.getNotesHeadersFooters();

      for (Slide slide : _slides) {
         Notes notes = slide.getNotesSheet();
         if (notes == null) {
            continue;
         }
         Integer id = Integer.valueOf(notes._getSheetNumber());
         if (seenNotes.contains(id)) {
            continue;
         }
         seenNotes.add(id);

         // Repeat the Notes header, if set
         if (hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
            xhtml.startElement("p", "class", "slide-note-header");
            xhtml.characters( hf.getFooterText() );
            xhtml.endElement("p");
         }

         // Notes text
         textRunsToText(xhtml, notes.getTextRuns());

         // Repeat the notes footer, if set
         if (hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
            xhtml.startElement("p", "class", "slide-note-footer");
            xhtml.characters( hf.getFooterText() );
            xhtml.endElement("p");
         }
      }

      xhtml.endElement("div");
View Full Code Here

  if(getSlideText) {
    for(int i=0; i<_slides.length; i++) {
      Slide slide = _slides[i];
     
      // Slide header, if set
      HeadersFooters hf = slide.getHeadersFooters();
      if(hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
        ret.append(hf.getHeaderText() + "\n");
      }
     
      // Slide text
      TextRun[] runs = slide.getTextRuns();
      for(int j=0; j<runs.length; j++) {
        TextRun run = runs[j];
        if(run != null) {
          String text = run.getText();
          ret.append(text);
          if(! text.endsWith("\n")) {
            ret.append("\n");
          }
        }
      }
     
      // Slide footer, if set
      if(hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
        ret.append(hf.getFooterText() + "\n");
      }
     
      // Comments, if requested and present
      if(getCommentText) {
        Comment[] comments = slide.getComments();
        for(int j=0; j<comments.length; j++) {
          ret.append(
              comments[j].getAuthor() +
              " - " +
              comments[j].getText() +
              "\n"
          );
        }
      }
    }
    if(getNoteText) {
      ret.append("\n");
    }
  }

  if(getNoteText) {
    // Not currently using _notes, as that can have the notes of
    //  master sheets in. Grab Slide list, then work from there,
    //  but ensure no duplicates
    HashSet seenNotes = new HashSet();
    HeadersFooters hf = _show.getNotesHeadersFooters();
   
    for(int i=0; i<_slides.length; i++) {
      Notes notes = _slides[i].getNotesSheet();
      if(notes == null) { continue; }
      Integer id = new Integer(notes._getSheetNumber());
      if(seenNotes.contains(id)) { continue; }
      seenNotes.add(id);
     
      // Repeat the Notes header, if set
      if(hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
        ret.append(hf.getHeaderText() + "\n");
      }

      // Notes text
      TextRun[] runs = notes.getTextRuns();
      if(runs != null && runs.length > 0) {
        for(int j=0; j<runs.length; j++) {
          TextRun run = runs[j];
          String text = run.getText();
          ret.append(text);
          if(! text.endsWith("\n")) {
            ret.append("\n");
          }
        }
      }
     
      // Repeat the notes footer, if set
      if(hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
        ret.append(hf.getFooterText() + "\n");
      }
    }
  }

  return ret.toString();
View Full Code Here

*/
public class HeadersFootersDemo {
    public static void main(String[] args) throws Exception {
        SlideShow ppt = new SlideShow();
       
        HeadersFooters slideHeaders = ppt.getSlideHeadersFooters();
        slideHeaders.setFootersText("Created by POI-HSLF");
        slideHeaders.setSlideNumberVisible(true);
        slideHeaders.setDateTimeText("custom date time");

        HeadersFooters notesHeaders = ppt.getNotesHeadersFooters();
        notesHeaders.setFootersText("My notes footers");
        notesHeaders.setHeaderText("My notes header");

        Slide slide = ppt.createSlide();

        FileOutputStream out = new FileOutputStream("headers_footers.ppt");
        ppt.write(out);
View Full Code Here

      /* Iterate over slides and extract text */
      for( Slide slide : _slides ) {
         xhtml.startElement("div", "class", "slide");

         // Slide header, if present
         HeadersFooters hf = slide.getHeadersFooters();
         if (hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
            xhtml.startElement("p", "class", "slide-header");

            xhtml.characters( hf.getHeaderText() );

            xhtml.endElement("p");
         }

         // Slide master, if present
         // TODO: re-enable this once we fix TIKA-712
         /*
         MasterSheet master = slide.getMasterSheet();
         if(master != null) {
            xhtml.startElement("p", "class", "slide-master-content");
            textRunsToText(xhtml, master.getTextRuns() );
            xhtml.endElement("p");
         }
         */

         // Slide text
         {
            xhtml.startElement("p", "class", "slide-content");

            textRunsToText(xhtml, slide.getTextRuns() );

            xhtml.endElement("p");
         }

         // Slide footer, if present
         if (hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
            xhtml.startElement("p", "class", "slide-footer");

            xhtml.characters( hf.getFooterText() );

            xhtml.endElement("p");
         }

         // Comments, if present
         for( Comment comment : slide.getComments() ) {
            xhtml.startElement("p", "class", "slide-comment");
            if (comment.getAuthor() != null) {
               xhtml.startElement("b");
               xhtml.characters( comment.getAuthor() );
               xhtml.endElement("b");
              
               if (comment.getText() != null) {
                  xhtml.characters( " - ");
               }
            }
            if (comment.getText() != null) {
               xhtml.characters( comment.getText() );
            }
            xhtml.endElement("p");
         }

         // Now any embedded resources
         handleSlideEmbeddedResources(slide, xhtml);

         // TODO Find the Notes for this slide and extract inline

         // Slide complete
         xhtml.endElement("div");
      }

      // All slides done
      xhtml.endElement("div");

      /* notes */
      xhtml.startElement("div", "class", "slideNotes");
      HashSet<Integer> seenNotes = new HashSet<Integer>();
      HeadersFooters hf = _show.getNotesHeadersFooters();

      for (Slide slide : _slides) {
         Notes notes = slide.getNotesSheet();
         if (notes == null) {
            continue;
         }
         Integer id = Integer.valueOf(notes._getSheetNumber());
         if (seenNotes.contains(id)) {
            continue;
         }
         seenNotes.add(id);

         // Repeat the Notes header, if set
         if (hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
            xhtml.startElement("p", "class", "slide-note-header");
            xhtml.characters( hf.getHeaderText() );
            xhtml.endElement("p");
         }

         // Notes text
         textRunsToText(xhtml, notes.getTextRuns());

         // Repeat the notes footer, if set
         if (hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
            xhtml.startElement("p", "class", "slide-note-footer");
            xhtml.characters( hf.getFooterText() );
            xhtml.endElement("p");
         }
      }

      xhtml.endElement("div");
View Full Code Here

      /* Iterate over slides and extract text */
      for( Slide slide : _slides ) {
         xhtml.startElement("div", "class", "slide");

         // Slide header, if present
         HeadersFooters hf = slide.getHeadersFooters();
         if (hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
            xhtml.startElement("p", "class", "slide-header");

            xhtml.characters( hf.getHeaderText() );

            xhtml.endElement("p");
         }

         // Slide master, if present
         extractMaster(xhtml, slide.getMasterSheet());

         // Slide text
         {
            xhtml.startElement("p", "class", "slide-content");

            textRunsToText(xhtml, slide.getTextRuns());

            xhtml.endElement("p");
         }

         // Table text
         for (Shape shape: slide.getShapes()){
            if (shape instanceof Table){
               extractTableText(xhtml, (Table)shape);
            }
         }

         // Slide footer, if present
         if (hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
            xhtml.startElement("p", "class", "slide-footer");

            xhtml.characters( hf.getFooterText() );

            xhtml.endElement("p");
         }

         // Comments, if present
         for( Comment comment : slide.getComments() ) {
            xhtml.startElement("p", "class", "slide-comment");
            if (comment.getAuthor() != null) {
               xhtml.startElement("b");
               xhtml.characters( comment.getAuthor() );
               xhtml.endElement("b");
              
               if (comment.getText() != null) {
                  xhtml.characters( " - ");
               }
            }
            if (comment.getText() != null) {
               xhtml.characters( comment.getText() );
            }
            xhtml.endElement("p");
         }

         // Now any embedded resources
         handleSlideEmbeddedResources(slide, xhtml);

         // TODO Find the Notes for this slide and extract inline

         // Slide complete
         xhtml.endElement("div");
      }

      // All slides done
      xhtml.endElement("div");

      /* notes */
      xhtml.startElement("div", "class", "slideNotes");
      HashSet<Integer> seenNotes = new HashSet<Integer>();
      HeadersFooters hf = _show.getNotesHeadersFooters();

      for (Slide slide : _slides) {
         Notes notes = slide.getNotesSheet();
         if (notes == null) {
            continue;
         }
         Integer id = notes._getSheetNumber();
         if (seenNotes.contains(id)) {
            continue;
         }
         seenNotes.add(id);

         // Repeat the Notes header, if set
         if (hf != null && hf.isHeaderVisible() && hf.getHeaderText() != null) {
            xhtml.startElement("p", "class", "slide-note-header");
            xhtml.characters( hf.getHeaderText() );
            xhtml.endElement("p");
         }

         // Notes text
         textRunsToText(xhtml, notes.getTextRuns());

         // Repeat the notes footer, if set
         if (hf != null && hf.isFooterVisible() && hf.getFooterText() != null) {
            xhtml.startElement("p", "class", "slide-note-footer");
            xhtml.characters( hf.getFooterText() );
            xhtml.endElement("p");
         }
      }

      handleSlideEmbeddedPictures(_show, xhtml);
View Full Code Here

TOP

Related Classes of org.apache.poi.hslf.model.HeadersFooters

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.