java xslfslide_Java XSLFSlide.getNotes方法代碼示例

该博客介绍了如何使用Java中的XSLFSlide类的getNotes方法来获取幻灯片的注释内容。通过示例代码展示了如何遍历幻灯片、获取注释,并对图片进行OCR处理。
摘要由CSDN通过智能技术生成

import org.apache.poi.xslf.usermodel.XSLFSlide; //導入方法依賴的package包/類

/**

* @see org.apache.poi.xslf.extractor.XSLFPowerPointExtractor#getText()

*/

protected void buildXHTML(XHTMLContentHandler xhtml) throws SAXException,

IOException {

XMLSlideShow slideShow = (XMLSlideShow) extractor.getDocument();

XSLFSlide[] slides = slideShow.getSlides();

for (XSLFSlide slide : slides) {

String slideDesc;

if (slide.getPackagePart() != null

&& slide.getPackagePart().getPartName() != null) {

slideDesc = getJustFileName(slide.getPackagePart().getPartName()

.toString());

slideDesc += "_";

} else {

slideDesc = null;

}

// slide

extractContent(slide.getShapes(), false, xhtml, slideDesc);

// slide layout which is the master sheet for this slide

XSLFSheet slideLayout = slide.getMasterSheet();

extractContent(slideLayout.getShapes(), true, xhtml, null);

// slide master which is the master sheet for all text layouts

XSLFSheet slideMaster = slideLayout.getMasterSheet();

extractContent(slideMaster.getShapes(), true, xhtml, null);

// notes (if present)

XSLFSheet slideNotes = slide.getNotes();

if (slideNotes != null) {

extractContent(slideNotes.getShapes(), false, xhtml, slideDesc);

// master sheet for this notes

XSLFSheet notesMaster = slideNotes.getMasterSheet();

extractContent(notesMaster.getShapes(), true, xhtml, null);

}

// comments (if present)

XSLFComments comments = slide.getComments();

if (comments != null) {

for (CTComment comment : comments.getCTCommentsList().getCmList()) {

xhtml.element("p", comment.getText());

}

}

}

if (Config.inst().getProp(ConfigBool.ENABLE_IMAGE_OCR)) {

TikaImageHelper helper = new TikaImageHelper(metadata);

try {

List pictures = slideShow.getAllPictures();

for (XSLFPictureData picture : pictures) {

ByteArrayInputStream imageData = new ByteArrayInputStream(

picture.getData());

BufferedImage image = ImageIO.read(imageData);

helper.addImage(image);

helper.addTextToHandler(xhtml);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

if (extractor != null) {

extractor.close();

}

if (helper != null) {

helper.close();

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值