Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.apache.poi.hslf;
- import static org.junit.Assert.assertTrue;
- import java.io.ByteArrayInputStream;
- import java.lang.reflect.Constructor;
- import org.apache.poi.ddf.AbstractEscherOptRecord;
- import org.apache.poi.ddf.EscherComplexProperty;
- import org.apache.poi.ddf.EscherProperties;
- import org.apache.poi.ddf.EscherTertiaryOptRecord;
- import org.apache.poi.hslf.usermodel.HSLFShape;
- import org.apache.poi.hslf.usermodel.HSLFSlide;
- import org.apache.poi.hslf.usermodel.HSLFSlideShow;
- import org.apache.poi.hslf.usermodel.HSLFSlideShowImpl;
- import org.apache.poi.openxml4j.opc.OPCPackage;
- import org.apache.poi.openxml4j.opc.PackagePart;
- import org.apache.poi.openxml4j.opc.PackagingURIHelper;
- import org.apache.poi.xslf.usermodel.XSLFSheet;
- import org.apache.poi.xslf.usermodel.XSLFTextBox;
- import org.junit.Test;
- import org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape;
- import org.openxmlformats.schemas.presentationml.x2006.main.CTShape;
- public class TestTeresa {
- @Test
- public void bla() throws Exception {
- HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl("test.ppt"));
- // get slides
- HSLFSlide slide0 = ppt.getSlides().get(0);
- HSLFShape sh = slide0.getShapes().get(0);
- AbstractEscherOptRecord opt = sh.getEscherChild(EscherTertiaryOptRecord.RECORD_ID);
- EscherComplexProperty ep = (EscherComplexProperty)opt.lookup(EscherProperties.GROUPSHAPE__METROBLOB);
- ByteArrayInputStream bis = new ByteArrayInputStream(ep.getComplexData());
- OPCPackage opc = OPCPackage.open(bis);
- PackagePart ppn = opc.getPart(PackagingURIHelper.createPartName("/drs/shapexml.xml"));
- CTGroupShape gs = CTGroupShape.Factory.parse(ppn.getInputStream());
- Constructor<XSLFTextBox> c = XSLFTextBox.class.getDeclaredConstructor(CTShape.class, XSLFSheet.class);
- c.setAccessible(true);
- XSLFTextBox tb = c.newInstance(gs.getSpArray(0), null);
- assertTrue(tb.getTextParagraphs().get(2).getTextRuns().get(0).isStrikethrough());
- opc.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment