Package org.apache.poi.hslf.usermodel

Examples of org.apache.poi.hslf.usermodel.SlideShow


    /**
     * Test creation of TextRun objects.
     */
    public void testAddTextRun() throws Exception{
        SlideShow ppt = new SlideShow();
        Slide slide = ppt.createSlide();

        assertNull(slide.getTextRuns());

        TextBox shape1 = new TextBox();
        TextRun run1 = shape1.getTextRun();
        assertSame(run1, shape1.createTextRun());
        run1.setText("Text 1");
        slide.addShape(shape1);

        //The array of Slide's text runs must be updated when new text shapes are added.
        TextRun[] runs = slide.getTextRuns();
        assertNotNull(runs);
        assertSame(run1, runs[0]);

        TextBox shape2 = new TextBox();
        TextRun run2 = shape2.getTextRun();
        assertSame(run2, shape2.createTextRun());
        run2.setText("Text 2");
        slide.addShape(shape2);

        runs = slide.getTextRuns();
        assertEquals(2, runs.length);

        assertSame(run1, runs[0]);
        assertSame(run2, runs[1]);

        //as getShapes()
        Shape[] sh = slide.getShapes();
        assertEquals(2, sh.length);
        assertTrue(sh[0] instanceof TextBox);
        TextBox box1 = (TextBox)sh[0];
        assertSame(run1, box1.getTextRun());
        TextBox box2 = (TextBox)sh[1];
        assertSame(run2, box2.getTextRun());

        //test Table - a complex group of shapes containing text objects
        Slide slide2 = ppt.createSlide();
        assertNull(slide2.getTextRuns());
        Table table = new Table(2, 2);
        slide2.addShape(table);
        runs = slide2.getTextRuns();
        assertNotNull(runs);
View Full Code Here


    public void testRead() throws Exception
    {
        File file = new File(cwd, "headers_footers.ppt");
        FileInputStream is = new FileInputStream(file);
        SlideShow ppt = new SlideShow(is);
        is.close();

        HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
        assertTrue(slideHdd.isFooterVisible());
        assertEquals("Global Slide Footer", slideHdd.getFooterText());
        assertTrue(slideHdd.isSlideNumberVisible());
        assertFalse(slideHdd.isHeaderVisible());
        assertNull(slideHdd.getHeaderText());
        assertFalse(slideHdd.isUserDateVisible());
        assertNull(slideHdd.getDateTimeText());


        HeadersFooters notesHdd = ppt.getNotesHeadersFooters();
        assertTrue(notesHdd.isFooterVisible());
        assertEquals("Notes Footer", notesHdd.getFooterText());
        assertTrue(notesHdd.isHeaderVisible());
        assertEquals("Notes Header", notesHdd.getHeaderText());
        assertTrue(notesHdd.isUserDateVisible());
        assertNull(notesHdd.getDateTimeText());

        Slide[] slide = ppt.getSlides();
        //the first slide uses presentation-scope headers / footers
        HeadersFooters hd1 = slide[0].getHeadersFooters();
        assertEquals(slideHdd.isFooterVisible(), hd1.isFooterVisible());
        assertEquals(slideHdd.getFooterText(), hd1.getFooterText());
        assertEquals(slideHdd.isSlideNumberVisible(), hd1.isSlideNumberVisible());
View Full Code Here

     */
    public void testReadNoHeadersFooters() throws Exception
    {
        File file = new File(cwd, "basic_test_ppt_file.ppt");
        FileInputStream is = new FileInputStream(file);
        SlideShow ppt = new SlideShow(is);
        is.close();

        HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
        assertFalse(slideHdd.isFooterVisible());
        assertNull(slideHdd.getFooterText());
        assertFalse(slideHdd.isSlideNumberVisible());
        assertFalse(slideHdd.isHeaderVisible());
        assertNull(slideHdd.getHeaderText());
        assertFalse(slideHdd.isUserDateVisible());
        assertNull(slideHdd.getDateTimeText());


        HeadersFooters notesHdd = ppt.getNotesHeadersFooters();
        assertFalse(notesHdd.isFooterVisible());
        assertNull(notesHdd.getFooterText());
        assertFalse(notesHdd.isHeaderVisible());
        assertNull(notesHdd.getHeaderText());
        assertFalse(notesHdd.isUserDateVisible());
        assertNull(notesHdd.getDateTimeText());

        Slide[] slide = ppt.getSlides();
        for(int i=0 ; i < slide.length; i++){
            HeadersFooters hd1 = slide[i].getHeadersFooters();
            assertFalse(hd1.isFooterVisible());
            assertNull(hd1.getFooterText());
            assertFalse(hd1.isHeaderVisible());
View Full Code Here

     */
    public void testRead2007() throws Exception
    {
        File file = new File(cwd, "headers_footers_2007.ppt");
        FileInputStream is = new FileInputStream(file);
        SlideShow ppt = new SlideShow(is);
        is.close();

        HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
        assertTrue(slideHdd.isFooterVisible());
        assertEquals("THE FOOTER TEXT", slideHdd.getFooterText());
        assertTrue(slideHdd.isSlideNumberVisible());
        assertFalse(slideHdd.isHeaderVisible());
        assertNull(slideHdd.getHeaderText());
        assertTrue(slideHdd.isUserDateVisible());
        assertEquals("Wednesday, August 06, 2008", slideHdd.getDateTimeText());


        HeadersFooters notesHdd = ppt.getNotesHeadersFooters();
        assertTrue(notesHdd.isFooterVisible());
        assertEquals("THE NOTES FOOTER TEXT", notesHdd.getFooterText());
        assertTrue(notesHdd.isHeaderVisible());
        assertEquals("THE NOTES HEADER TEXT", notesHdd.getHeaderText());
        assertTrue(notesHdd.isUserDateVisible());
        assertTrue(notesHdd.isDateTimeVisible());
        //TODO: depending on the formatId getDateTimeText() should return formatted date
        //assertEquals("08/12/08", notesHdd.getDateTimeText());

        //per-slide headers / footers
        Slide[] slide = ppt.getSlides();
        //the first slide uses presentation-scope headers / footers
        HeadersFooters hd1 = slide[0].getHeadersFooters();
        assertTrue(hd1.isFooterVisible());
        assertEquals("THE FOOTER TEXT", hd1.getFooterText());
        assertTrue(hd1.isSlideNumberVisible());
View Full Code Here

        assertEquals("Wednesday, August 06, 2008", hd3.getDateTimeText());
    }

    public void testCreateSlideFooters() throws Exception
    {
        SlideShow ppt = new SlideShow();
        HeadersFooters hdd = ppt.getSlideHeadersFooters();
        hdd.setFootersText("My slide footer");
        hdd.setSlideNumberVisible(true);

        ByteArrayOutputStream out = new ByteArrayOutputStream();
        ppt.write(out);
        byte[] b = out.toByteArray();

        SlideShow ppt2 = new SlideShow(new ByteArrayInputStream(b));
        HeadersFooters hdd2 = ppt2.getSlideHeadersFooters();
        assertTrue(hdd2.isSlideNumberVisible());
        assertTrue(hdd2.isFooterVisible());
        assertEquals("My slide footer", hdd2.getFooterText());
    }
View Full Code Here

        assertEquals("My slide footer", hdd2.getFooterText());
    }

    public void testCreateNotesFooters() throws Exception
    {
        SlideShow ppt = new SlideShow();
        HeadersFooters hdd = ppt.getNotesHeadersFooters();
        hdd.setFootersText("My notes footer");
        hdd.setHeaderText("My notes header");
        hdd.setSlideNumberVisible(true);

        ByteArrayOutputStream out = new ByteArrayOutputStream();
        ppt.write(out);
        byte[] b = out.toByteArray();

        SlideShow ppt2 = new SlideShow(new ByteArrayInputStream(b));
        HeadersFooters hdd2 = ppt2.getNotesHeadersFooters();
        assertTrue(hdd2.isSlideNumberVisible());
        assertTrue(hdd2.isFooterVisible());
        assertEquals("My notes footer", hdd2.getFooterText());
        assertTrue(hdd2.isHeaderVisible());
        assertEquals("My notes header", hdd2.getHeaderText());
View Full Code Here

public final class TestHyperlink extends TestCase {
    protected String cwd = System.getProperty("HSLF.testdata.path");

    public void testTextRunHyperlinks() throws Exception {
        FileInputStream is = new FileInputStream(new File(cwd, "WithLinks.ppt"));
        SlideShow ppt = new SlideShow(is);
        is.close();

        TextRun[] run;
        Slide slide;
        slide = ppt.getSlides()[0];
        run = slide.getTextRuns();
        for (int i = 0; i < run.length; i++) {
            String text = run[i].getText();
            if (text.equals(
                    "This page has two links:\n" +
                    "http://jakarta.apache.org/poi/\n" +
                    "\n" +
                    "http://slashdot.org/\n" +
                    "\n" +
                    "In addition, its notes has one link")){

                Hyperlink[] links = run[i].getHyperlinks();
                assertNotNull(links);
                assertEquals(2, links.length);

                assertEquals("http://jakarta.apache.org/poi/", links[0].getTitle());
                assertEquals("http://jakarta.apache.org/poi/", links[0].getAddress());
                assertEquals("http://jakarta.apache.org/poi/", text.substring(links[0].getStartIndex(), links[0].getEndIndex()-1));

                assertEquals("http://slashdot.org/", links[1].getTitle());
                assertEquals("http://slashdot.org/", links[1].getAddress());
                assertEquals("http://slashdot.org/", text.substring(links[1].getStartIndex(), links[1].getEndIndex()-1));

            }
        }

        slide = ppt.getSlides()[1];
        run = slide.getTextRuns();
        for (int i = 0; i < run.length; i++) {
            String text = run[i].getText();
            if (text.equals(
                    "I have the one link:\n" +
View Full Code Here

    public void testOLEShape() throws Exception {
        String dirname = System.getProperty("HSLF.testdata.path");
        File file = new File(dirname, "ole2-embedding-2003.ppt");
        FileInputStream is = new FileInputStream(file);
        SlideShow ppt = new SlideShow(is);
        is.close();

        Slide slide = ppt.getSlides()[0];
        Shape[] sh = slide.getShapes();
        int cnt = 0;
        for (int i = 0; i < sh.length; i++) {
            if(sh[i] instanceof OLEShape){
                cnt++;
View Full Code Here

    public void testTextBoxWrite() throws Exception {
        //String dirname = System.getProperty("HSLF.testdata.path");
        //String filename = dirname + "/with_textbox.ppt";
        //new SlideShow(new HSLFSlideShow(filename));

        SlideShow ppt = new SlideShow();
        Slide sl = ppt.createSlide();
        RichTextRun rt;

        String val = "Hello, World!";

        // Create a new textbox, and give it lots of properties
        TextBox txtbox = new TextBox();
        rt = txtbox.getTextRun().getRichTextRuns()[0];
        txtbox.setText(val);
        rt.setFontSize(42);
        rt.setBold(true);
        rt.setItalic(true);
        rt.setUnderlined(false);
        sl.addShape(txtbox);

        // Check it before save
        rt = txtbox.getTextRun().getRichTextRuns()[0];
        assertEquals(val, rt.getText());
        assertEquals(42, rt.getFontSize());
        assertTrue(rt.isBold());
        assertTrue(rt.isItalic());

        // Serialize and read again
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        ppt.write(out);
        out.close();

        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
        sl = ppt.getSlides()[0];

        txtbox = (TextBox)sl.getShapes()[0];
        rt = txtbox.getTextRun().getRichTextRuns()[0];

        // Check after save
View Full Code Here

   * @param ss the HSLFSlideShow to extract text from
   */
  public PowerPointExtractor(HSLFSlideShow ss) throws IOException {
    super(ss);
    _hslfshow = ss;
    _show = new SlideShow(_hslfshow);
    _slides = _show.getSlides();
  }
View Full Code Here

TOP

Related Classes of org.apache.poi.hslf.usermodel.SlideShow

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.