当前位置:编程学习 > JAVA >>

Java poi3.9解析word文档

大家好,关于Java poi解析word2003 doc文档资料太少了,希望大家能帮个忙,提供点思路

我想要做一个题库网站,题目源是word文档(那种考试试卷电子版)

1. Java poi图片位置处理
   HWPFDocument = new HWPFDocument(new FileInputStream("2011小学数学毕业模拟试卷1.doc"));
   List picA = docA.getPicturesTable().getAllPictures();//获取所有文档中的图片
   
   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);
           if(cr.getPicOffset()!=-1){} //表明是图片?然后标注明是list中的第几张图片
       }
   }

2. 数学试卷的高等数学公式
   解决思路一:poi是能解析成wmf图片(windows 画图板),但是wmf并不是网页图片显示格式
   解决思路二:word安装mathtype工具后,可以将word文档中由mathtype公式编辑器编辑的数学公式转化成mathml,然后再解析word文本和mathml的混合文档
   但是数学公式在数据库中怎么存储呢?

3. 是否能有其他的工具实现,
   1.网上看到c#解析word文档更好?(微软自己的东西)
   2.VBA来做?
   3.我不知道用itext来解析pdf能否相对简单一点 poi word  --------------------编程问答-------------------- 你确定java 解析word 的资料少? --------------------编程问答-------------------- 感觉都讲得很浅,并不是我想要的   poi word部分其官方的API,一些方法也讲得很简单
有过经验的朋友能一起来帮忙给个建议吗? --------------------编程问答-------------------- InputStream input = null;  
HWPFDocument doc = null;
String content = null;
try {
input = new FileInputStream("2011小学数学毕业模拟试卷1.doc");
doc = new HWPFDocument(input);
content = doc.getRange().text();
        List<Picture> picA = doc.getPicturesTable().getAllPictures();// 把word中数学公式以wmf图片的格式读到List中
Picture p = null;
for (int i = 0; i < picA.size(); i++) {
    p = (Picture) picA.get(i);
    if(p!=null){
        FileOutputStream output = new FileOutputStream("F://" + i + "."+p.suggestFileExtension());
        p.writeImageContent(output); 
        output.close();
    }
}
} catch (Exception e) {
e.printStackTrace();
}

int pici = 1;
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);
if (cr.isOle2()) {     // 表明是ole2对象,word文档数学公式由mathtype编辑的ole对象
cr.replaceText(cr.text(), "方程式"+pici);
                        //貌似只会替换一次
pici++;
}
}
} --------------------编程问答-------------------- 学习。 --------------------编程问答-------------------- 我也遇到这样的问题 --------------------编程问答-------------------- 大哥,现在实现了没有?小弟想请教一下 --------------------编程问答-------------------- 回复楼主 关于java读取word 公式问题

刚好今天我也碰到一个这个样的问题, 我用的是jacob 将word 转成html, word里面的公式会变成图片。
html就用Jsoup 解析的。

缺陷是 用jacob 服务器必须是windows 的。 而且需要装office2007 


今天找了一天的资料。没发现java可以操作word 公式的。。 
--------------------编程问答-------------------- 用openoffice看看,是跨平台的,word中的公司是作为图片处理的 --------------------编程问答-------------------- 第一问,也许资料少,但是官方API里肯定有例子,下载后的POI方法中也有demo。照着学,挨个测试一下效果。
第二问,数学公式中的任何符号都有对应的ASSIC编码吧,存储编码数字就可以了 --------------------编程问答-------------------- 服务器是windows的方法多些如7楼说的jacob\及自己开发的插件,其它的用 openoffice但支持的也不是很好,加的样式什么的有时显示不太准确 --------------------编程问答-------------------- 关于解析word中公式你解决没,之前看有说是用VBA,可是我们是要求可跨平台的,这下伤不起了 --------------------编程问答--------------------
引用 11 楼 tlfu_12344 的回复:
关于解析word中公式你解决没,之前看有说是用VBA,可是我们是要求可跨平台的,这下伤不起了


后来因为没有实现,这个不了了之了!不知道现在有什么实现思路了吗?
--------------------编程问答--------------------
引用 12 楼 SHENZHOUCHEN91 的回复:
Quote: 引用 11 楼 tlfu_12344 的回复:

关于解析word中公式你解决没,之前看有说是用VBA,可是我们是要求可跨平台的,这下伤不起了


后来因为没有实现,这个不了了之了!不知道现在有什么实现思路了吗?
嗯,有思路了,正在做!,用openoffice解析,对于docx文件,要自己改里面的配置文件 --------------------编程问答-------------------- 问题已经解决:
--------------------编程问答-------------------- 楼主能详细说一下解决过程吗 我最近需要做这个东西。 --------------------编程问答--------------------
引用 14 楼 tlfu_12344 的回复:
问题已经解决:
怎么解决的?大神快赐教!!!!最近急需这个功能 --------------------编程问答--------------------
引用 14 楼 tlfu_12344 的回复:
问题已经解决:
联系方式Email:2213429531@qq.com
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,