List of usage examples for org.apache.poi.xslf.usermodel XMLSlideShow getPackage
public OPCPackage getPackage()
From source file:AddAudioToPptx.java
License:Apache License
public static void main(String[] args) throws Exception { URL video = new URL("http://archive.org/download/test-mpeg/test-mpeg.mpg"); // URL video = new URL("file:test-mpeg.mpg"); XMLSlideShow pptx = new XMLSlideShow(); // add video file String videoFileName = "lego_edsheeran.mp3"; PackagePartName partName = PackagingURIHelper.createPartName("/ppt/media/" + videoFileName); PackagePart part = pptx.getPackage().createPart(partName, "audio/mpeg"); OutputStream partOs = part.getOutputStream(); //InputStream fis = video.openStream(); FileInputStream fis = new FileInputStream(videoFileName); byte buf[] = new byte[1024]; for (int readBytes; (readBytes = fis.read(buf)) != -1; partOs.write(buf, 0, readBytes)) ;/*from ww w.j a v a 2 s .c o m*/ fis.close(); partOs.close(); XSLFSlide slide1 = pptx.createSlide(); byte[] picture = IOUtils.toByteArray(new FileInputStream("audio.png")); //adding the image to the presentation XSLFPictureData idx = pptx.addPicture(picture, XSLFPictureData.PictureType.PNG); //creating a slide with given picture on it XSLFPictureShape pv1 = slide1.createPicture(idx); //XSLFPictureShape pv1 = // addPreview(pptx, slide1, part, 5, 50, 80); addAudio(pptx, slide1, part, pv1, 5); addTimingInfo(slide1, pv1); //XSLFPictureShape pv2 = addPreview(pptx, slide1, part, 9, 50, 250); //addVideo(pptx, slide1, part, pv2, 9); //addTimingInfo(slide1, pv2); FileOutputStream fos = new FileOutputStream("pptx-with-audio.pptx"); pptx.write(fos); fos.close(); pptx.close(); }
From source file:AddVideoToPptx.java
License:Apache License
public static void main(String[] args) throws Exception { URL video = new URL("http://archive.org/download/test-mpeg/test-mpeg.mpg"); // URL video = new URL("file:test-mpeg.mpg"); XMLSlideShow pptx = new XMLSlideShow(); // add video file String videoFileName = video.getPath().substring(video.getPath().lastIndexOf('/') + 1); PackagePartName partName = PackagingURIHelper.createPartName("/ppt/media/" + videoFileName); PackagePart part = pptx.getPackage().createPart(partName, "video/mpeg"); OutputStream partOs = part.getOutputStream(); //InputStream fis = video.openStream(); FileInputStream fis = new FileInputStream("Lea Michele - Cannonball.mp4"); byte buf[] = new byte[1024]; for (int readBytes; (readBytes = fis.read(buf)) != -1; partOs.write(buf, 0, readBytes)) ;//from ww w . ja va2 s. com fis.close(); partOs.close(); XSLFSlide slide1 = pptx.createSlide(); XSLFPictureShape pv1 = addPreview(pptx, slide1, part, 5, 50, 80); addVideo(pptx, slide1, part, pv1, 5); addTimingInfo(slide1, pv1); //XSLFPictureShape pv2 = addPreview(pptx, slide1, part, 9, 50, 250); //addVideo(pptx, slide1, part, pv2, 9); //addTimingInfo(slide1, pv2); FileOutputStream fos = new FileOutputStream("pptx-with-video.pptx"); pptx.write(fos); fos.close(); pptx.close(); }
From source file:com.hp.autonomy.frontend.reports.powerpoint.PowerPointServiceImpl.java
License:MIT License
/** * Utility function to write a chart object to a slide based on a template. * Creates new copies of referred objects in the chart, e.g. colors1.xml and style1.xml, and writes the Excel * workbook data to new files in the PowerPoint .zip structure. * @param pptx the presentation to add to. * @param slide the slide to add to.// www . j a va 2s .c o m * @param templateChart the original template chart XML reference object from the template. * @param modifiedChart the new chart XML object. * @param workbook the Excel workbook data corresponding to the chart XML data. * @param relId the relation id for the new chart. * @throws IOException if there's IO errors working with the chart. * @throws InvalidFormatException if there's errors generating new package part names for the new copies of the data. */ private static void writeChart(final XMLSlideShow pptx, final XSLFSlide slide, final XSLFChart templateChart, final CTChartSpace modifiedChart, final XSSFWorkbook workbook, final String relId) throws IOException, InvalidFormatException { final OPCPackage opcPackage = pptx.getPackage(); final PackagePartName chartName = generateNewName(opcPackage, templateChart.getPackagePart().getPartName().getURI().getPath()); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS); xmlOptions.setSaveSyntheticDocumentElement( new QName(CTChartSpace.type.getName().getNamespaceURI(), "chartSpace", "c")); modifiedChart.save(baos, xmlOptions); final PackagePart chartPart = opcPackage.createPart(chartName, XSLFRelation.CHART.getContentType(), baos); slide.getPackagePart().addRelationship(chartName, TargetMode.INTERNAL, XSLFRelation.CHART.getRelation(), relId); for (final POIXMLDocumentPart.RelationPart part : templateChart.getRelationParts()) { final ByteArrayOutputStream partCopy = new ByteArrayOutputStream(); final URI targetURI = part.getRelationship().getTargetURI(); final PackagePartName name = generateNewName(opcPackage, targetURI.getPath()); final String contentType = part.getDocumentPart().getPackagePart().getContentType(); if ("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet".equals(contentType)) { workbook.write(partCopy); } else { IOUtils.copy(part.getDocumentPart().getPackagePart().getInputStream(), partCopy); } opcPackage.createPart(name, contentType, partCopy); chartPart.addRelationship(name, TargetMode.INTERNAL, part.getRelationship().getRelationshipType()); } }