git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1912315 13f79535-47bb-0310-9956-ffa450edef68tags/REL_5_2_4
@@ -469,6 +469,27 @@ public class XSLFPictureShape extends XSLFSimpleShape | |||
return null; | |||
} | |||
private CTApplicationNonVisualDrawingProps getCTApplicationNonVisualDrawing() { | |||
CTPictureNonVisual nvPicPr = getCTPictureNonVisual(); | |||
return nvPicPr == null ? null : nvPicPr.getNvPr(); | |||
} | |||
/** | |||
* @return boolean; true if the picture is an audio | |||
*/ | |||
public boolean isAudioFile() { | |||
CTApplicationNonVisualDrawingProps nvPr = getCTApplicationNonVisualDrawing(); | |||
return nvPr != null && nvPr.isSetAudioFile(); | |||
} | |||
/** | |||
* @return the link ID for the audio file | |||
*/ | |||
public String getAudioFileLink() { | |||
CTApplicationNonVisualDrawingProps nvPr = getCTApplicationNonVisualDrawing(); | |||
return nvPr != null && nvPr.isSetAudioFile() ? nvPr.getAudioFile().getLink() : null; | |||
} | |||
private CTPictureNonVisual getCTPictureNonVisual() { | |||
XmlObject xmlObject = getXmlObject(); | |||
if (xmlObject instanceof CTPicture) { | |||
@@ -477,4 +498,4 @@ public class XSLFPictureShape extends XSLFSimpleShape | |||
} | |||
return null; | |||
} | |||
} | |||
} |
@@ -359,4 +359,24 @@ class TestXSLFPictureShape { | |||
assertEquals(ps.getVideoFileLink(), "rId2"); | |||
} | |||
} | |||
@Test | |||
void testIsSetAudioFile() throws IOException { | |||
try (XMLSlideShow ppt = openSampleDocument("EmbeddedAudio.pptx")) { | |||
XSLFSlide slide = ppt.getSlides().get(0); | |||
XSLFPictureShape ps = (XSLFPictureShape) slide.getShapes().get(0); | |||
assertTrue(ps.isAudioFile()); | |||
} | |||
} | |||
@Test | |||
void testGetAudioLink() throws IOException { | |||
try (XMLSlideShow ppt = openSampleDocument("EmbeddedAudio.pptx")) { | |||
XSLFSlide slide = ppt.getSlides().get(0); | |||
XSLFPictureShape ps = (XSLFPictureShape) slide.getShapes().get(0); | |||
assertEquals(ps.getAudioFileLink(), "rId2"); | |||
} | |||
} | |||
} |
@@ -2525,3 +2525,5 @@ org/openxmlformats/schemas/drawingml/x2006/main/CTComplementTransform | |||
org/openxmlformats/schemas/drawingml/x2006/main/CTPositiveFixedAngle | |||
org/openxmlformats/schemas/drawingml/x2006/chart/impl/STAxisUnitImpl | |||
org/openxmlformats/schemas/drawingml/x2006/chart/STAxisUnit | |||
org/openxmlformats/schemas/drawingml/x2006/main/impl/CTAudioFileImpl | |||
org/openxmlformats/schemas/drawingml/x2006/main/CTAudioFile |
@@ -1175,3 +1175,4 @@ ctdlblpos9ce4type | |||
stdlblpos1cf4type | |||
staxisunit6cc7type | |||
chartelement2 | |||
ctaudiofile1563type |