用poi解析word 总结
来源:互联网 发布:数据分析excel面试题 编辑:程序博客网 时间:2024/06/13 11:33
1. 获得word的文本内容 无任何格式 样式 图片
try{
FileInputStream fis = new FileInputStream(new File("F://test.doc"));
WordExtractor ex = new WordExtractor(fis);
String text2003 = ex.getText();
System.out.println("word的内容信息"+text2003);
} catch (Exception e) {
e.printStackTrace();
System.out.println("解析word有错!");
}
2. 获得word的段落
File file = new File("F://test.doc");
try {
FileInputStream fis = new FileInputStream(file);
WordExtractor wordExtractor = new WordExtractor(fis);
StringBuffer sb = new StringBuffer();
System.out.println("【 使用getText()方法提取的Word文件的内容如下所示:】");
String[] paragraph = wordExtractor.getParagraphText();
System.out.println("该Word文件共有"+paragraph.length+"段。");
for(int i=0;i<paragraph.length;i++){
System.out.println("< 第 "+(i+1)+" 段的内容为 >");
System.out.println(paragraph[i]);
if(i==0){
sb.append("<center>");
sb.append(paragraph[i]);
sb.append("</center><br>");
}
else{
sb.append(" ");
sb.append(paragraph[i]);
System.out.println(paragraph[i].hashCode());
sb.append("<br>");
}
}
System.out.println(sb.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
3.取得word内容的字体样式(只能一个一个字符的取字体的样式 效率将是一个大问题)
File file = new File("F://test.doc");
try {
int flg = 0;
String str="";
FileInputStream fis = new FileInputStream(file);
HWPFDocument doc = new HWPFDocument(fis);
StringBuffer sb = new StringBuffer();
sb.append("<center>");
int length = doc.characterLength();
for(int m =0;m<length-1;m++){
Range range = new Range(m,m+1,doc);
for(int j=0;j<range.numCharacterRuns();j++){
CharacterRun cr=range.getCharacterRun(j);
System.out.println(cr.getPicOffset()+" "+cr.getColor()+" "+cr.getFontName()+" "+cr.getFontSize()+" ");
if(range.text().hashCode() != 13){
sb.append("<font color='");
sb.append(cr.getColor());
sb.append("' style='font-size:");
sb.append(cr.getFontSize());
sb.append("pt;font-family:");
sb.append(cr.getFontName());
sb.append("'>");
sb.append(range.text());
sb.append("</font>");
//str = str + "<font color='"+cr.getColor()+"' style='font-size:"+cr.getFontSize()+"pt;font-family:"+cr.getFontName()+"'>"+range.text()+"</font>";
}
else{
if(flg == 0){
sb.append("</center><br> ");//第一个回车字符 结束---- 标题
++flg;
}
else{
sb.append("<br> ");
//str = " " + str + "<br>";
}
}
}
}
System.out.println(sb.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
4.读取word图片
HWPFDocument docA=null;
try {
docA = new HWPFDocument(new FileInputStream("F://test.doc"));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
List picA=docA.getPicturesTable().getAllPictures();//把word中所有的图片读到List中 怎么用看自己
Picture p1=(Picture)picA.get(0);
try {
p1.writeImageContent(new FileOutputStream("F://aa.jpg")); //把读出来的图片写进aa.jpg
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace(); }
String s1=p1.suggestFullFileName();
String s2=p1.suggestFileExtension();
System.out.println("------"+s1+"-----"+s2);
System.out.println(p1.getAspectRatioX()+" "+p1.getAspectRatioY());
}
图片读出来了 怎么判断图片的位置
api上的一个方法 经过测试的 是对的
使用CharacterRun 的 getPicOffset()方法 如果不等于-1 表示 是图片
- 用poi解析word 总结
- poi解析word
- poi解析word
- 利用poi解析word文件
- java解析word(poi方式)
- poi操作word文档总结
- POI解析03版07版Word
- POI 解析Word 需要的包
- poi解析word和excel文档
- java POI 解析json 导出word
- java POI 解析json导出word
- poi-->word
- Apache POI 解析 microsoft word 图片文字都不放过
- Apache POI 解析 microsoft word 图片文字都不放过
- Apache POI 解析 microsoft word 图片文字都不放过
- Apache POI 解析 microsoft word 图片文字都不放过
- Apache POI 解析 microsoft word 图片文字都不放过
- 使用POI解析excel文件方法总结
- 打包工具
- J2ME 认识
- PHP 中长连接的实现
- WinForm构造函数传值
- 自己做RAS Administration DLL
- 用poi解析word 总结
- Linux SSH命令大全
- 高手网页设计中提高可读性的方法
- PHP 中如何删除文件
- Excel不输等号直接显示计算结果
- 策略模式之商场促销
- vs2008添加自定义系统必备
- 算法 计价里程按里程区间阶梯状计价
- SQL2005 四个排名函数(row_number、rank、dense_rank和ntile)的比较