700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > POI抓取PPT图表页图表标题

POI抓取PPT图表页图表标题

时间:2019-01-10 22:44:29

相关推荐

POI抓取PPT图表页图表标题

应需求需要抓取PPT的图表标题,poi可以实现这个功能,PDFbox和itext也可以,但是后两者比较麻烦。

一、依赖

<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.15</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.15</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-scratchpad</artifactId><version>3.15</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>ooxml-schemas</artifactId><version>1.3</version></dependency>

二、代码

public static void main(String[] args) {try {XMLSlideShow ppt = new XMLSlideShow(new FileInputStream("C:\\Users\\Administrator\\Desktop\\a.pptx"));//循环幻灯片for (XSLFSlide S:ppt.getSlides()){for (POIXMLDocumentPart part :S.getRelations()){//判断是否有chartif(part instanceof XSLFChart){XSLFChart chart = (XSLFChart) part;CTChart ctChart = chart.getCTChart();CTTitle title = ctChart.getTitle();if(title == null)continue;CTTx titleTx = title.getTx();CTTextBody body = titleTx.getRich();CTTextParagraph[] paragraphs = body.getPArray();for(int i=0; i<paragraphs.length; i++) {CTTextParagraph paragraph = paragraphs[i];CTRegularTextRun[] runs = paragraph.getRArray();String chartTitle = "";for(int j=0; j<runs.length; j++) {CTRegularTextRun run = runs[j];String t = run.getT();chartTitle += t;}System.out.println(chartTitle);}}}}} catch (IOException e) {e.printStackTrace();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。