Java阅读word程序说明文件

Java阅读word程序说明文件

完成office文件操作可以帮助apache.poi包(我用poi-3.10-FINAL),导入对应的jar包(最好所有导入)

以下的程序演示了一些操作word的过程,wps文字,具体的函数功能能够查看此包的官方API

import java.io.*; import org.apache.poi.POIXMLDocument; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.extractor.*; import org.apache.poi.hwpf.usermodel.Range; //xwpf专门加强处理Word2007 .docx 格式 import org.apache.poi.xwpf.usermodel.XWPFDocument; public class WordReader { WordExtractor wordExtractor; public static void main(String[] args) { System.out.println("该word文档(docx格式)总页数例如以下:"); new WordReader().getPageCount("F:\\数据挖掘及其应用论文格式.docx"); System.out.println("\n获取整个word文本内容:"); System.out.println(new WordReader().getTextFromWord("F:\\word2003.doc")); System.out.println("按段获取文本内容:"); System.out.println(new WordReader().getTextByParagraph("F:\\word2003.doc")); } // 统计word文件总页数(仅docx格式的有效!) doc格式也有对应的方法,可是因为doc本身的问题,导致获取的页数总是错误的。 public void getPageCount(String filePath) { XWPFDocument docx; try { docx = new XWPFDocument(POIXMLDocument.openPackage(filePath)); int pages = docx.getProperties().getExtendedProperties() .getUnderlyingProperties().getPages();// 总页数 int wordCount = docx.getProperties().getExtendedProperties() .getUnderlyingProperties().getCharacters();// 忽略空格的总字符数 // 另外还有getCharactersWithSpaces()方法获取带空格的总字数。 System.out.println("Total pages=" + pages +"页; "+ " Total wordCount=" + wordCount); } catch (IOException e) { e.printStackTrace(); } } // 获取word文档中全部文本的方法(仅对doc文件有效) public String getTextFromWord(String filePath) { String res = null; File file = new File(filePath); try { FileInputStream fis = new FileInputStream(file); wordExtractor = new WordExtractor(fis); // 获取全部文本 res = wordExtractor.getText(); fis.close(); } catch (IOException e) { e.printStackTrace(); } return res; } // 按段获取文本(仅对doc文件有效) public String getTextByParagraph(String filePath) { String res = null; FileInputStream fis; try { fis = new FileInputStream(filePath); wordExtractor = new WordExtractor(fis); // 获取段文本 String[] strArray = wordExtractor.getParagraphText(); for (int i = 0; i < strArray.length; i++) { System.out.println("第 " + (i+1)+" 段\n"+strArray[i]); } // 这个构造函数从InputStream中载入Word文档 HWPFDocument doc = new HWPFDocument( (InputStream) new FileInputStream(filePath)); // 这个类为HWPF对象模型,对文档范围段操作 Range range = doc.getRange(); int num = range.numParagraphs(); System.out.println("该文档共" + num + "段");//空行也算一段 System.out.println("获取第"+num+"段内容例如以下:\n"+range.getParagraph(num-1).text()); fis.close(); } catch (IOException e) { e.printStackTrace(); } return res; } }

版权声明:本文博客原创文章,博客,未经同意,不得转载。


本文标题:Java阅读word程序说明文件,由WPS精选分享
如果您觉得这篇文章不错,请使用分享工具推荐到您喜欢的微博、网站或者论坛

所属分类:WPS演示
本文标签:互联网开源as软件开发码迷
发布时间:2016-02-27