You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2019/09/24 23:26:00 UTC

svn commit: r1867502 [7/20] - in /poi/site/publish: ./ components/ components/hmef/ components/hpbf/ components/hpsf/ components/poifs/ components/slideshow/ components/spreadsheet/ devel/ devel/plan/ devel/references/ skin/ skin/images/

Modified: poi/site/publish/components/slideshow/how-to-shapes.html
URL: http://svn.apache.org/viewvc/poi/site/publish/components/slideshow/how-to-shapes.html?rev=1867502&r1=1867501&r2=1867502&view=diff
==============================================================================
--- poi/site/publish/components/slideshow/how-to-shapes.html (original)
+++ poi/site/publish/components/slideshow/how-to-shapes.html Tue Sep 24 23:26:00 2019
@@ -364,69 +364,187 @@ document.write("Last Published: " + docu
 <h3 class="boxed">Features</h3>
 <a name="NewPresentation" id="NewPresentation"></a><a name="New+Presentation"></a>
 <h4>New Presentation</h4>
-<pre class="code">
-    //create a new empty slide show
-    HSLFSlideShow ppt = new HSLFSlideShow();
-    
-    //add first slide
-    HSLFSlide s1 = ppt.createSlide();
-    
-    //add second slide
-    HSLFSlide s2 = ppt.createSlide();
-    
-    //save changes in a file
-    FileOutputStream out = new FileOutputStream("slideshow.ppt");
-    ppt.write(out);
-    out.close();
-                 </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//create a new empty slide show</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//add first slide</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlide s1 = ppt.createSlide();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//add second slide</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlide s2 = ppt.createSlide();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//save changes in a file</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileOutputStream out = new FileOutputStream("slideshow.ppt");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">ppt.write(out);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">             </span>
+</div>
+</div>
 <a name="PageSize" id="PageSize"></a><a name="How+to+retrieve+or+change+slide+size"></a>
 <h4>How to retrieve or change slide size</h4>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl("slideshow.ppt"));
-    //retrieve page size. Coordinates are expressed in points (72 dpi)
-    java.awt.Dimension pgsize = ppt.getPageSize();
-    int pgx = pgsize.width; //slide width
-    int pgy = pgsize.height; //slide height
-
-    //set new page size
-    ppt.setPageSize(new java.awt.Dimension(1024, 768));
-    //save changes 
-    FileOutputStream out = new FileOutputStream("slideshow.ppt");
-    ppt.write(out);
-    out.close();
-                  </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl("slideshow.ppt"));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//retrieve page size. Coordinates are expressed in points (72 dpi)</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">java.awt.Dimension pgsize = ppt.getPageSize();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">int pgx = pgsize.width; //slide width</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">int pgy = pgsize.height; //slide height</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//set new page size</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">ppt.setPageSize(new java.awt.Dimension(1024, 768));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//save changes </span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileOutputStream out = new FileOutputStream("slideshow.ppt");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">ppt.write(out);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">              </span>
+</div>
+</div>
 <a name="GetShapes" id="GetShapes"></a><a name="How+to+get+shapes+contained+in+a+particular+slide"></a>
 <h4>How to get shapes contained in a particular slide</h4>
 <p>
                     The following code demonstrates how to iterate over shapes for each slide.
                   </p>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl("slideshow.ppt"));
-    // get slides
-    for (HSLFSlide slide : ppt.getSlides()) {
-        for (HSLFShape sh : slide.getShapes()) {
-            // name of the shape
-            String name = sh.getShapeName();
-
-            // shapes's anchor which defines the position of this shape in the slide
-            java.awt.Rectangle anchor = sh.getAnchor();
-
-            if (sh instanceof Line) {
-                Line line = (Line) sh;
-                // work with Line
-            } else if (sh instanceof HSLFAutoShape) {
-                HSLFAutoShape shape = (HSLFAutoShape) sh;
-                // work with AutoShape
-            } else if (sh instanceof HSLFTextBox) {
-                HSLFTextBox shape = (HSLFTextBox) sh;
-                // work with TextBox
-            } else if (sh instanceof HSLFPictureShape) {
-                HSLFPictureShape shape = (HSLFPictureShape) sh;
-                // work with Picture
-            }
-        }
-    }
-                  </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl("slideshow.ppt"));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// get slides</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">for (HSLFSlide slide : ppt.getSlides()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    for (HSLFShape sh : slide.getShapes()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        // name of the shape</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        String name = sh.getShapeName();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        // shapes's anchor which defines the position of this shape in the slide</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        java.awt.Rectangle anchor = sh.getAnchor();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        if (sh instanceof Line) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            Line line = (Line) sh;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            // work with Line</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        } else if (sh instanceof HSLFAutoShape) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            HSLFAutoShape shape = (HSLFAutoShape) sh;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            // work with AutoShape</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        } else if (sh instanceof HSLFTextBox) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            HSLFTextBox shape = (HSLFTextBox) sh;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            // work with TextBox</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        } else if (sh instanceof HSLFPictureShape) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            HSLFPictureShape shape = (HSLFPictureShape) sh;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            // work with Picture</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">              </span>
+</div>
+</div>
 <a name="Shapes" id="Shapes"></a><a name="Drawing+a+shape+on+a+slide"></a>
 <h4>Drawing a shape on a slide</h4>
 <div class="warning">
@@ -444,53 +562,149 @@ document.write("Last Published: " + docu
                      of the upper left corner of the bounding box for the shape relative to the upper left
                      corner of the slide. Distances in the drawing layer are measured in points (72 points = 1 inch).
                    </p>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow();
-    
-    HSLFSlide slide = ppt.createSlide();
-    
-    //Line shape
-    Line line = new Line();
-    line.setAnchor(new java.awt.Rectangle(50, 50, 100, 20));
-    line.setLineColor(new Color(0, 128, 0));
-    line.setLineCompound(LineCompound.DOUBLE);
-    slide.addShape(line);
-    
-    //TextBox
-    HSLFTextBox txt = new HSLFTextBox();
-    txt.setText("Hello, World!");
-    txt.setAnchor(new java.awt.Rectangle(300, 100, 300, 50));
-    
-    // use TextRun to work with the text format
-    HSLFTextParagraph tp = txt.getTextParagraphs().get(0);
-    tp.setAlignment(TextAlign.RIGHT);
-    HSLFTextRun rt = tp.getTextRuns().get(0);
-    rt.setFontSize(32.);
-    rt.setFontFamily("Arial");
-    rt.setBold(true);
-    rt.setItalic(true);
-    rt.setUnderlined(true);
-    rt.setFontColor(Color.red);
-    
-    slide.addShape(txt);
-    
-    // Autoshape
-    // 32-point star
-    HSLFAutoShape sh1 = new HSLFAutoShape(ShapeType.STAR_32);
-    sh1.setAnchor(new java.awt.Rectangle(50, 50, 100, 200));
-    sh1.setFillColor(Color.red);
-    slide.addShape(sh1);
-    
-    //Trapezoid
-    HSLFAutoShape sh2 = new HSLFAutoShape(ShapeType.TRAPEZOID);
-    sh2.setAnchor(new java.awt.Rectangle(150, 150, 100, 200));
-    sh2.setFillColor(Color.blue);
-    slide.addShape(sh2);
-    
-    FileOutputStream out = new FileOutputStream("slideshow.ppt");
-    ppt.write(out);
-    out.close();
-                  </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlide slide = ppt.createSlide();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//Line shape</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">Line line = new Line();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">line.setAnchor(new java.awt.Rectangle(50, 50, 100, 20));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">line.setLineColor(new Color(0, 128, 0));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">line.setLineCompound(LineCompound.DOUBLE);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.addShape(line);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//TextBox</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFTextBox txt = new HSLFTextBox();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">txt.setText("Hello, World!");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">txt.setAnchor(new java.awt.Rectangle(300, 100, 300, 50));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// use TextRun to work with the text format</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFTextParagraph tp = txt.getTextParagraphs().get(0);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">tp.setAlignment(TextAlign.RIGHT);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFTextRun rt = tp.getTextRuns().get(0);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">rt.setFontSize(32.);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">rt.setFontFamily("Arial");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">rt.setBold(true);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">rt.setItalic(true);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">rt.setUnderlined(true);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">rt.setFontColor(Color.red);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.addShape(txt);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// Autoshape</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// 32-point star</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFAutoShape sh1 = new HSLFAutoShape(ShapeType.STAR_32);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">sh1.setAnchor(new java.awt.Rectangle(50, 50, 100, 200));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">sh1.setFillColor(Color.red);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.addShape(sh1);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//Trapezoid</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFAutoShape sh2 = new HSLFAutoShape(ShapeType.TRAPEZOID);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">sh2.setAnchor(new java.awt.Rectangle(150, 150, 100, 200));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">sh2.setFillColor(Color.blue);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.addShape(sh2);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileOutputStream out = new FileOutputStream("slideshow.ppt");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">ppt.write(out);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">              </span>
+</div>
+</div>
 <a name="Pictures" id="Pictures"></a><a name="How+to+work+with+pictures"></a>
 <h4>How to work with pictures</h4>
 <p>
@@ -509,289 +723,831 @@ document.write("Last Published: " + docu
 <li>Macintosh PICT</li>
   
 </ul>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl("slideshow.ppt"));
-
-    // extract all pictures contained in the presentation
-    int idx = 1;
-    for (HSLFPictureData pict : ppt.getPictureData()) {
-        // picture data
-        byte[] data = pict.getData();
-
-        PictureData.PictureType type = pict.getType();
-        String ext = type.extension;
-        FileOutputStream out = new FileOutputStream("pict_" + idx + ext);
-        out.write(data);
-        out.close();
-        idx++;
-    }
-
-    // add a new picture to this slideshow and insert it in a new slide
-    HSLFPictureData pd = ppt.addPicture(new File("clock.jpg"), PictureData.PictureType.JPEG);
-
-    HSLFPictureShape pictNew = new HSLFPictureShape(pd);
-
-    // set image position in the slide
-    pictNew.setAnchor(new java.awt.Rectangle(100, 100, 300, 200));
-
-    HSLFSlide slide = ppt.createSlide();
-    slide.addShape(pictNew);
-
-    // now retrieve pictures containes in the first slide and save them on disk
-    idx = 1;
-    slide = ppt.getSlides().get(0);
-    for (HSLFShape sh : slide.getShapes()) {
-        if (sh instanceof HSLFPictureShape) {
-            HSLFPictureShape pict = (HSLFPictureShape) sh;
-            HSLFPictureData pictData = pict.getPictureData();
-            byte[] data = pictData.getData();
-            PictureData.PictureType type = pictData.getType();
-            FileOutputStream out = new FileOutputStream("slide0_" + idx + type.extension);
-            out.write(data);
-            out.close();
-            idx++;
-        }
-    }
-
-    FileOutputStream out = new FileOutputStream("slideshow.ppt");
-    ppt.write(out);
-    out.close();
-                    </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl("slideshow.ppt"));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// extract all pictures contained in the presentation</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">int idx = 1;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">for (HSLFPictureData pict : ppt.getPictureData()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    // picture data</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    byte[] data = pict.getData();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    PictureData.PictureType type = pict.getType();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    String ext = type.extension;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    FileOutputStream out = new FileOutputStream("pict_" + idx + ext);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    out.write(data);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    idx++;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// add a new picture to this slideshow and insert it in a new slide</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFPictureData pd = ppt.addPicture(new File("clock.jpg"), PictureData.PictureType.JPEG);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFPictureShape pictNew = new HSLFPictureShape(pd);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// set image position in the slide</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">pictNew.setAnchor(new java.awt.Rectangle(100, 100, 300, 200));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlide slide = ppt.createSlide();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.addShape(pictNew);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// now retrieve pictures containes in the first slide and save them on disk</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">idx = 1;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide = ppt.getSlides().get(0);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">for (HSLFShape sh : slide.getShapes()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    if (sh instanceof HSLFPictureShape) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        HSLFPictureShape pict = (HSLFPictureShape) sh;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        HSLFPictureData pictData = pict.getPictureData();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        byte[] data = pictData.getData();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        PictureData.PictureType type = pictData.getType();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        FileOutputStream out = new FileOutputStream("slide0_" + idx + type.extension);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        out.write(data);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        idx++;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileOutputStream out = new FileOutputStream("slideshow.ppt");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">ppt.write(out);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                </span>
+</div>
+</div>
 <a name="SlideTitle" id="SlideTitle"></a><a name="How+to+set+slide+title"></a>
 <h4>How to set slide title</h4>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow();
-    HSLFSlide slide = ppt.createSlide();
-    HSLFTextBox title = slide.addTitle();
-    title.setText("Hello, World!");
-
-    // save changes
-    FileOutputStream out = new FileOutputStream("slideshow.ppt");
-    ppt.write(out);
-    out.close();
-                  </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlide slide = ppt.createSlide();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFTextBox title = slide.addTitle();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">title.setText("Hello, World!");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// save changes</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileOutputStream out = new FileOutputStream("slideshow.ppt");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">ppt.write(out);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">              </span>
+</div>
+</div>
 <p>
                     Below is the equivalent code in PowerPoint VBA:
                   </p>
-<pre class="code">
-    Set myDocument = ActivePresentation.Slides(1)
-    myDocument.Shapes.AddTitle.TextFrame.TextRange.Text = "Hello, World!"
-                  </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">Set myDocument = ActivePresentation.Slides(1)</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">myDocument.Shapes.AddTitle.TextFrame.TextRange.Text = "Hello, World!"</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">              </span>
+</div>
+</div>
 <a name="Fill" id="Fill"></a><a name="How+to+modify+background+of+a+slide+master"></a>
 <h4>How to modify background of a slide master</h4>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow();
-    HSLFSlideMaster master = ppt.getSlideMasters().get(0);
-
-    HSLFFill fill = master.getBackground().getFill();
-    HSLFPictureData pd = ppt.addPicture(new File("background.png"), PictureData.PictureType.PNG);
-    fill.setFillType(HSLFFill.FILL_PICTURE);
-    fill.setPictureData(pd);
-                  </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideMaster master = ppt.getSlideMasters().get(0);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFFill fill = master.getBackground().getFill();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFPictureData pd = ppt.addPicture(new File("background.png"), PictureData.PictureType.PNG);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">fill.setFillType(HSLFFill.FILL_PICTURE);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">fill.setPictureData(pd);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">              </span>
+</div>
+</div>
 <a name="How+to+modify+background+of+a+slide"></a>
 <h4>How to modify background of a slide</h4>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow();
-    HSLFSlide slide = ppt.createSlide();
-
-    // This slide has its own background.
-    // Without this line it will use master's background.
-    slide.setFollowMasterBackground(false);
-    HSLFFill fill = slide.getBackground().getFill();
-    HSLFPictureData pd = ppt.addPicture(new File("background.png"), PictureData.PictureType.PNG);
-    fill.setFillType(HSLFFill.FILL_PATTERN);
-    fill.setPictureData(pd);    
-                  </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlide slide = ppt.createSlide();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// This slide has its own background.</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// Without this line it will use master's background.</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.setFollowMasterBackground(false);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFFill fill = slide.getBackground().getFill();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFPictureData pd = ppt.addPicture(new File("background.png"), PictureData.PictureType.PNG);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">fill.setFillType(HSLFFill.FILL_PATTERN);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">fill.setPictureData(pd);    </span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">              </span>
+</div>
+</div>
 <a name="How+to+modify+background+of+a+shape"></a>
 <h4>How to modify background of a shape</h4>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow();
-    HSLFSlide slide = ppt.createSlide();
-    
-    HSLFShape shape = new HSLFAutoShape(ShapeType.RECT);
-    shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
-    HSLFFill fill = shape.getFill();
-    fill.setFillType(HSLFFill.FILL_SHADE);
-    fill.setBackgroundColor(Color.red);
-    fill.setForegroundColor(Color.green);
-    
-    slide.addShape(shape);
-                  </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlide slide = ppt.createSlide();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFShape shape = new HSLFAutoShape(ShapeType.RECT);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFFill fill = shape.getFill();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">fill.setFillType(HSLFFill.FILL_SHADE);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">fill.setBackgroundColor(Color.red);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">fill.setForegroundColor(Color.green);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.addShape(shape);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">              </span>
+</div>
+</div>
 <a name="Bullets" id="Bullets"></a><a name="How+to+create+bulleted+lists"></a>
 <h4>How to create bulleted lists</h4>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow();
-
-    HSLFSlide slide = ppt.createSlide();
-
-    HSLFTextBox shape = new HSLFTextBox();
-    HSLFTextParagraph tp = shape.getTextParagraphs().get(0);
-    tp.setBullet(true);
-    tp.setBulletChar('\u263A'); //bullet character
-    tp.setIndent(0.);  //bullet offset
-    tp.setLeftMargin(50.);   //text offset (should be greater than bullet offset)
-    HSLFTextRun rt = tp.getTextRuns().get(0);
-    shape.setText(
-        "January\r" +
-        "February\r" +
-        "March\r" +
-        "April");
-    rt.setFontSize(42.);
-    slide.addShape(shape);
-
-    shape.setAnchor(new java.awt.Rectangle(50, 50, 500, 300));  //position of the text box in the slide
-    slide.addShape(shape);
-
-    FileOutputStream out = new FileOutputStream("bullets.ppt");
-    ppt.write(out);
-    out.close();
-                </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlide slide = ppt.createSlide();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFTextBox shape = new HSLFTextBox();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFTextParagraph tp = shape.getTextParagraphs().get(0);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">tp.setBullet(true);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">tp.setBulletChar('\u263A'); //bullet character</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">tp.setIndent(0.);  //bullet offset</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">tp.setLeftMargin(50.);   //text offset (should be greater than bullet offset)</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFTextRun rt = tp.getTextRuns().get(0);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">shape.setText(</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    "January\r" +</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    "February\r" +</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    "March\r" +</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    "April");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">rt.setFontSize(42.);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.addShape(shape);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">shape.setAnchor(new java.awt.Rectangle(50, 50, 500, 300));  //position of the text box in the slide</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.addShape(shape);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileOutputStream out = new FileOutputStream("bullets.ppt");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">ppt.write(out);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            </span>
+</div>
+</div>
 <a name="Hyperlinks" id="Hyperlinks"></a><a name="How+to+read+hyperlinks+from+a+slide+show"></a>
 <h4>How to read hyperlinks from a slide show</h4>
-<pre class="code">
-    FileInputStream is = new FileInputStream("slideshow.ppt");
-    HSLFSlideShow ppt = new HSLFSlideShow(is);
-    is.close();
-
-    for (HSLFSlide slide : ppt.getSlides()) {
-        //read hyperlinks from the text runs
-        for (List&lt;HSLFTextParagraph&gt; txt : slide.getTextParagraphs()) {
-            for (HSLFTextParagraph para : txt) {
-                for (HSLFTextRun run : para) {
-                    HSLFHyperlink link = run.getHyperlink();
-                    if (link != null) {
-                        String title = link.getLabel();
-                        String address = link.getAddress();
-                        String text = run.getRawText();
-                    }
-                }
-            }
-        }
-
-        //in PowerPoint you can assign a hyperlink to a shape without text,
-        //for example to a Line object. The code below demonstrates how to
-        //read such hyperlinks
-        for (HSLFShape sh : slide.getShapes()) {
-            if (sh instanceof HSLFSimpleShape) {
-                HSLFHyperlink link = ((HSLFSimpleShape)sh).getHyperlink();
-                if(link != null)  {
-                    String title = link.getLabel();
-                    String address = link.getAddress();
-                }
-            }
-        }
-    }
-                </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileInputStream is = new FileInputStream("slideshow.ppt");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow(is);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">is.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">for (HSLFSlide slide : ppt.getSlides()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    //read hyperlinks from the text runs</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    for (List&lt;HSLFTextParagraph&gt; txt : slide.getTextParagraphs()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        for (HSLFTextParagraph para : txt) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            for (HSLFTextRun run : para) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                HSLFHyperlink link = run.getHyperlink();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                if (link != null) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                    String title = link.getLabel();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                    String address = link.getAddress();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                    String text = run.getRawText();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    //in PowerPoint you can assign a hyperlink to a shape without text,</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    //for example to a Line object. The code below demonstrates how to</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    //read such hyperlinks</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    for (HSLFShape sh : slide.getShapes()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        if (sh instanceof HSLFSimpleShape) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            HSLFHyperlink link = ((HSLFSimpleShape)sh).getHyperlink();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            if(link != null)  {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                String title = link.getLabel();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                String address = link.getAddress();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            </span>
+</div>
+</div>
 <a name="Tables" id="Tables"></a><a name="How+to+create+tables"></a>
 <h4>How to create tables</h4>
-<pre class="code">
-    //table data              
-    String[][] data = {
-        {"INPUT FILE", "NUMBER OF RECORDS"},
-        {"Item File", "11,559"},
-        {"Vendor File", "300"},
-        {"Purchase History File", "10,000"},
-        {"Total # of requisitions", "10,200,038"}
-    };
-
-    HSLFSlideShow ppt = new HSLFSlideShow();
-
-    HSLFSlide slide = ppt.createSlide();
-    //create a table of 5 rows and 2 columns
-    HSLFTable table = new HSLFTable(5, 2);
-    for (int i = 0; i &lt; data.length; i++) {
-        for (int j = 0; j &lt; data[i].length; j++) {
-            HSLFTableCell cell = table.getCell(i, j);
-            cell.setText(data[i][j]);
-
-            HSLFTextRun rt = cell.getTextParagraphs().get(0).getTextRuns().get(0);
-            rt.setFontFamily("Arial");
-            rt.setFontSize(10.);
-
-            cell.setVerticalAlignment(VerticalAlignment.MIDDLE);
-            cell.setHorizontalCentered(true);
-        }
-    }
-
-    //set table borders
-    Line border = table.createBorder();
-    border.setLineColor(Color.black);
-    border.setLineWidth(1.0);
-    table.setAllBorders(border);
-
-    //set width of the 1st column
-    table.setColumnWidth(0, 300);
-    //set width of the 2nd column
-    table.setColumnWidth(1, 150);
-
-    slide.addShape(table);
-    table.moveTo(100, 100);
-
-    FileOutputStream out = new FileOutputStream("hslf-table.ppt");
-    ppt.write(out);
-    out.close();
-                    </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//table data              </span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">String[][] data = {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    {"INPUT FILE", "NUMBER OF RECORDS"},</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    {"Item File", "11,559"},</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    {"Vendor File", "300"},</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    {"Purchase History File", "10,000"},</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    {"Total # of requisitions", "10,200,038"}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">};</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlide slide = ppt.createSlide();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//create a table of 5 rows and 2 columns</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFTable table = new HSLFTable(5, 2);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">for (int i = 0; i &lt; data.length; i++) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    for (int j = 0; j &lt; data[i].length; j++) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        HSLFTableCell cell = table.getCell(i, j);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        cell.setText(data[i][j]);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        HSLFTextRun rt = cell.getTextParagraphs().get(0).getTextRuns().get(0);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        rt.setFontFamily("Arial");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        rt.setFontSize(10.);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        cell.setVerticalAlignment(VerticalAlignment.MIDDLE);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        cell.setHorizontalCentered(true);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//set table borders</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">Line border = table.createBorder();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">border.setLineColor(Color.black);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">border.setLineWidth(1.0);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">table.setAllBorders(border);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//set width of the 1st column</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">table.setColumnWidth(0, 300);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">//set width of the 2nd column</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">table.setColumnWidth(1, 150);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.addShape(table);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">table.moveTo(100, 100);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileOutputStream out = new FileOutputStream("hslf-table.ppt");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">ppt.write(out);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                </span>
+</div>
+</div>
 <a name="RemoveShape" id="RemoveShape"></a><a name="How+to+remove+shapes+from+a+slide"></a>
 <h4>How to remove shapes from a slide</h4>
-<pre class="code">
-    for (HSLFShape shape : slide.getShapes()) {
-        // remove the shape
-        boolean ok = slide.removeShape(shape);
-        if (ok) {
-            // the shape was removed. Do something.
-        }
-    }
-                    </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">for (HSLFShape shape : slide.getShapes()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    // remove the shape</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    boolean ok = slide.removeShape(shape);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    if (ok) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        // the shape was removed. Do something.</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                </span>
+</div>
+</div>
 <a name="OLE" id="OLE"></a><a name="How+to+retrieve+embedded+OLE+objects"></a>
 <h4>How to retrieve embedded OLE objects</h4>
-<pre class="code">
-    for (HSLFShape shape : slide.getShapes()) {
-        if (shape instanceof OLEShape) {
-            OLEShape ole = (OLEShape) shape;
-            HSLFObjectData data = ole.getObjectData();
-            String name = ole.getInstanceName();
-            if ("Worksheet".equals(name)) {
-                HSSFWorkbook wb = new HSSFWorkbook(data.getData());
-            } else if ("Document".equals(name)) {
-                HWPFDocument doc = new HWPFDocument(data.getData());
-            }
-        }
-    }
-                    </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">for (HSLFShape shape : slide.getShapes()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    if (shape instanceof OLEShape) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        OLEShape ole = (OLEShape) shape;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        HSLFObjectData data = ole.getObjectData();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        String name = ole.getInstanceName();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        if ("Worksheet".equals(name)) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            HSSFWorkbook wb = new HSSFWorkbook(data.getData());</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        } else if ("Document".equals(name)) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            HWPFDocument doc = new HWPFDocument(data.getData());</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                </span>
+</div>
+</div>
 <a name="Sound" id="Sound"></a><a name="How+to+retrieve+embedded+sounds"></a>
 <h4>How to retrieve embedded sounds</h4>
-<pre class="code">
-    FileInputStream is = new FileInputStream(args[0]);
-    HSLFSlideShow ppt = new HSLFSlideShow(is);
-    is.close();
-
-    for (HSLFSoundData sound : ppt.getSoundData()) {
-        // save *WAV sounds on disk
-        if (sound.getSoundType().equals(".WAV")) {
-            FileOutputStream out = new FileOutputStream(sound.getSoundName());
-            out.write(sound.getData());
-            out.close();
-        }
-    }
-                    </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileInputStream is = new FileInputStream(args[0]);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow(is);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">is.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">for (HSLFSoundData sound : ppt.getSoundData()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    // save *WAV sounds on disk</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    if (sound.getSoundType().equals(".WAV")) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        FileOutputStream out = new FileOutputStream(sound.getSoundName());</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        out.write(sound.getData());</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                </span>
+</div>
+</div>
 <a name="Freeform" id="Freeform"></a><a name="How+to+create+shapes+of+arbitrary+geometry"></a>
 <h4>How to create shapes of arbitrary geometry</h4>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow();
-    HSLFSlide slide = ppt.createSlide();
-
-    java.awt.geom.GeneralPath path = new java.awt.geom.GeneralPath();
-    path.moveTo(100, 100);
-    path.lineTo(200, 100);
-    path.curveTo(50, 45, 134, 22, 78, 133);
-    path.curveTo(10, 45, 134, 56, 78, 100);
-    path.lineTo(100, 200);
-    path.closePath();
-
-    HSLFFreeformShape shape = new HSLFFreeformShape();
-    shape.setPath(path);
-    slide.addShape(shape);
-                    </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlide slide = ppt.createSlide();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">java.awt.geom.GeneralPath path = new java.awt.geom.GeneralPath();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">path.moveTo(100, 100);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">path.lineTo(200, 100);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">path.curveTo(50, 45, 134, 22, 78, 133);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">path.curveTo(10, 45, 134, 56, 78, 100);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">path.lineTo(100, 200);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">path.closePath();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFFreeformShape shape = new HSLFFreeformShape();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">shape.setPath(path);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.addShape(shape);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">                </span>
+</div>
+</div>
 <a name="Graphics2D" id="Graphics2D"></a><a name="How+to+draw+into+a+slide+using+Graphics2D"></a>
 <h4>How to draw into a slide using Graphics2D</h4>
 <div class="warning">
@@ -801,57 +1557,161 @@ document.write("Last Published: " + docu
                    Some features like clipping, drawing of images are not yet supported. 
                   </div>
 </div>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow();
-    HSLFSlide slide = ppt.createSlide();
-
-    // draw a simple bar graph
-    // bar chart data.
-    // The first value is the bar color,
-    // the second is the width
-    Object[] def = new Object[]{
-        Color.yellow, new Integer(100),
-        Color.green, new Integer(150),
-        Color.gray, new Integer(75),
-        Color.red, new Integer(200),
-    };
-
-    // all objects are drawn into a shape group so we need to create one
-
-    HSLFGroupShape group = new HSLFGroupShape();
-    // define position of the drawing in the slide
-    Rectangle bounds = new java.awt.Rectangle(200, 100, 350, 300);
-    // if you want to draw in the entire slide area then define the anchor
-    // as follows:
-    // Dimension pgsize = ppt.getPageSize();
-    // java.awt.Rectangle bounds = new java.awt.Rectangle(0, 0,
-    // pgsize.width, pgsize.height);
-
-    group.setAnchor(bounds);
-    slide.addShape(group);
-
-    // draw a simple bar chart
-    Graphics2D graphics = new PPGraphics2D(group);
-    int x = bounds.x + 50, y = bounds.y + 50;
-    graphics.setFont(new Font("Arial", Font.BOLD, 10));
-    for (int i = 0, idx = 1; i &lt; def.length; i += 2, idx++) {
-        graphics.setColor(Color.black);
-        int width = ((Integer) def[i + 1]).intValue();
-        graphics.drawString("Q" + idx, x - 20, y + 20);
-        graphics.drawString(width + "%", x + width + 10, y + 20);
-        graphics.setColor((Color) def[i]);
-        graphics.fill(new Rectangle(x, y, width, 30));
-        y += 40;
-    }
-    graphics.setColor(Color.black);
-    graphics.setFont(new Font("Arial", Font.BOLD, 14));
-    graphics.draw(bounds);
-    graphics.drawString("Performance", x + 70, y + 40);
-
-    FileOutputStream out = new FileOutputStream("hslf-graphics2d.ppt");
-    ppt.write(out);
-    out.close();
-                   </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlide slide = ppt.createSlide();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// draw a simple bar graph</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// bar chart data.</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// The first value is the bar color,</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// the second is the width</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">Object[] def = new Object[]{</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    Color.yellow, new Integer(100),</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    Color.green, new Integer(150),</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    Color.gray, new Integer(75),</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    Color.red, new Integer(200),</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">};</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// all objects are drawn into a shape group so we need to create one</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFGroupShape group = new HSLFGroupShape();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// define position of the drawing in the slide</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">Rectangle bounds = new java.awt.Rectangle(200, 100, 350, 300);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// if you want to draw in the entire slide area then define the anchor</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// as follows:</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// Dimension pgsize = ppt.getPageSize();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// java.awt.Rectangle bounds = new java.awt.Rectangle(0, 0,</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// pgsize.width, pgsize.height);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">group.setAnchor(bounds);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">slide.addShape(group);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// draw a simple bar chart</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">Graphics2D graphics = new PPGraphics2D(group);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">int x = bounds.x + 50, y = bounds.y + 50;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">graphics.setFont(new Font("Arial", Font.BOLD, 10));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">for (int i = 0, idx = 1; i &lt; def.length; i += 2, idx++) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    graphics.setColor(Color.black);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    int width = ((Integer) def[i + 1]).intValue();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    graphics.drawString("Q" + idx, x - 20, y + 20);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    graphics.drawString(width + "%", x + width + 10, y + 20);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    graphics.setColor((Color) def[i]);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    graphics.fill(new Rectangle(x, y, width, 30));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    y += 40;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">graphics.setColor(Color.black);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">graphics.setFont(new Font("Arial", Font.BOLD, 14));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">graphics.draw(bounds);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">graphics.drawString("Performance", x + 70, y + 40);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileOutputStream out = new FileOutputStream("hslf-graphics2d.ppt");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">ppt.write(out);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">               </span>
+</div>
+</div>
 <a name="Render" id="Render"></a><a name="Export+PowerPoint+slides+into+java.awt.Graphics2D"></a>
 <h4>Export PowerPoint slides into java.awt.Graphics2D</h4>
 <p>
@@ -878,70 +1738,196 @@ document.write("Last Published: " + docu
 <li>Only Bitmap images (PNG, JPEG, DIB) can be rendered in Java</li>  
             
 </ul>
-<pre class="code">
-    FileInputStream is = new FileInputStream("slideshow.ppt");
-    HSLFSlideShow ppt = new HSLFSlideShow(is);
-    is.close();
-
-    Dimension pgsize = ppt.getPageSize();
-
-    int idx = 1;
-    for (HSLFSlide slide : ppt.getSlides()) {
-
-        BufferedImage img = new BufferedImage(pgsize.width, pgsize.height, BufferedImage.TYPE_INT_RGB);
-        Graphics2D graphics = img.createGraphics();
-        // clear the drawing area
-        graphics.setPaint(Color.white);
-        graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
-
-        // render
-        slide.draw(graphics);
-
-        // save the output
-        FileOutputStream out = new FileOutputStream("slide-" + idx + ".png");
-        javax.imageio.ImageIO.write(img, "png", out);
-        out.close();
-
-        idx++;
-    }
-                  </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileInputStream is = new FileInputStream("slideshow.ppt");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow(is);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">is.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">Dimension pgsize = ppt.getPageSize();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">int idx = 1;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">for (HSLFSlide slide : ppt.getSlides()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    BufferedImage img = new BufferedImage(pgsize.width, pgsize.height, BufferedImage.TYPE_INT_RGB);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    Graphics2D graphics = img.createGraphics();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    // clear the drawing area</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    graphics.setPaint(Color.white);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    // render</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    slide.draw(graphics);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    // save the output</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    FileOutputStream out = new FileOutputStream("slide-" + idx + ".png");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    javax.imageio.ImageIO.write(img, "png", out);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    out.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    idx++;</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">              </span>
+</div>
+</div>
 <a name="HeadersFooters" id="HeadersFooters"></a><a name="How+to+extract+Headers+%2F+Footers+from+an+existing+presentation"></a>
 <h3 class="boxed">How to extract Headers / Footers from an existing presentation</h3>
-<pre class="code">
-    FileInputStream is = new FileInputStream("slideshow.ppt");
-    HSLFSlideShow ppt = new HSLFSlideShow(is);
-    is.close();
-
-    // presentation-scope headers / footers
-    HeadersFooters hdd = ppt.getSlideHeadersFooters();
-    if (hdd.isFooterVisible()) {
-        String footerText = hdd.getFooterText();
-    }
-
-    // per-slide headers / footers
-    for (HSLFSlide slide : ppt.getSlides()) {
-        HeadersFooters hdd2 = slide.getHeadersFooters();
-        if (hdd2.isFooterVisible()) {
-            String footerText = hdd2.getFooterText();
-        }
-        if (hdd2.isUserDateVisible()) {
-            String customDate = hdd2.getDateTimeText();
-        }
-        if (hdd2.isSlideNumberVisible()) {
-            int slideNUm = slide.getSlideNumber();
-        }
-    }
-                </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">FileInputStream is = new FileInputStream("slideshow.ppt");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow(is);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">is.close();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// presentation-scope headers / footers</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HeadersFooters hdd = ppt.getSlideHeadersFooters();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">if (hdd.isFooterVisible()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    String footerText = hdd.getFooterText();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// per-slide headers / footers</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">for (HSLFSlide slide : ppt.getSlides()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    HeadersFooters hdd2 = slide.getHeadersFooters();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    if (hdd2.isFooterVisible()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        String footerText = hdd2.getFooterText();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    if (hdd2.isUserDateVisible()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        String customDate = hdd2.getDateTimeText();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    if (hdd2.isSlideNumberVisible()) {</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">        int slideNUm = slide.getSlideNumber();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">    }</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">}</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            </span>
+</div>
+</div>
 <a name="How+to+set+Headers+%2F+Footers"></a>
 <h3 class="boxed">How to set Headers / Footers</h3>
-<pre class="code">
-    HSLFSlideShow ppt = new HSLFSlideShow();
-
-    // presentation-scope headers / footers
-    HeadersFooters hdd = ppt.getSlideHeadersFooters();
-    hdd.setSlideNumberVisible(true);
-    hdd.setFootersText("Created by POI-HSLF");
-                </pre>
+<div class="code">
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HSLFSlideShow ppt = new HSLFSlideShow();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody"></span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">// presentation-scope headers / footers</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">HeadersFooters hdd = ppt.getSlideHeadersFooters();</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">hdd.setSlideNumberVisible(true);</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">hdd.setFootersText("Created by POI-HSLF");</span>
+</div>
+<div class="codeline">
+<span class="lineno"></span><span class="codebody">            </span>
+</div>
+</div>
 </div>
     
 <p align="right">



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org