免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 972 | 回复: 0
打印 上一主题 下一主题

一个J2EE项目中需要调用word域方面的需求, [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-30 17:18 |只看该作者 |倒序浏览
项目中有一个需求是这样的:
希望在用户打开word文档时已经存在定义好的域,然后用户直接输入相关内容,
点“保存”,将word域里的内容直接保存到后台数据库ORACLE对应的表里。
表已经根据word域名建立好了。
1 请问有什么办法可以在程序中得到用户在word域中输入的内容。
2 另外,在显示的时候,又如何让word域能读出数据库表中对应的字段内容呢?
jacob包,网址 http://danadler.com/jacob/
import com.jacob.activeX.*;
import com.jacob.com.*;
import java.io.File;
public class testJab {
    public testJab() {
    }   
    public static void testFindReplace() {
        try {
            String sInputDoc = "E:\\work\\testWord\\file_in.doc";
            String sOutputDoc = "E:\\work\\testWord\\file_out.doc";
            String sOldText = "[label:import:1]";
            String sNewText = "I am some horribly long sentence, so long that [insert bullshit here]";
            boolean tVisible = true;
            boolean tSaveOnExit = false;
            /////////////////////////////////////////////////////////////
            ActiveXComponent oWord = new ActiveXComponent("Word.Application");
            oWord.setProperty("Visible", new Variant(tVisible));
            Object oDocuments = oWord.getProperty("Documents").toDispatch();
            Object oDocument = Dispatch.call(oDocuments, "Open", sInputDoc).toDispatch();
            Object oSelection = oWord.getProperty("Selection").toDispatch();
            Object oFind = oWord.call(oSelection, "Find").toDispatch();
            //////////////////////////////////////////////////////////////////////
            Dispatch.put(oFind, "Text", sOldText);
            Dispatch.call(oFind, "Execute");
            Dispatch.put(oSelection, "Text", sNewText);
            //////////////////////////////////////////////////////////////////////
            Dispatch.call(oSelection, "MoveDown");
            Dispatch.put(oSelection, "Text", "\nSo we got the next line including BR.\n");
            //////////////////////////////////////////////////////////////////////
            Object oFont = Dispatch.get(oSelection, "Font").toDispatch();
            Dispatch.put(oFont, "Bold", "1");
            Dispatch.put(oFont, "Italic", "1");
            Dispatch.put(oFont, "Underline", "0");
            Dispatch.put(oFont, "Size", "20");
            Dispatch.put(oFont, "Color", "1,0,0,0");
            //////////////////////////////////////////////////////////////////////
            Object oAlign = Dispatch.get(oSelection, "ParagraphFormat").toDispatch();
            Dispatch.put(oAlign, "Alignment", "1");
            //////////////////////////////////////////////////////////////////////
            Object oWordBasic = Dispatch.call(oWord, "WordBasic").getDispatch();
            Dispatch.call(oWord, "SaveAs", sInputDoc);
            Dispatch.call(oDocument, "Close", new Variant(tSaveOnExit));
            oWord.invoke("Quit", new Variant[0]);
        }
        catch (Exception eEe) {
            eEe.printStackTrace();
        }
    }
    public static void main(String[] args) {
        testJab.testFindReplace();
    }   
}
第二个
  iText包,网址 http://www.lowagie.com/iText/ 自带的demo有例子。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15317/showart_268360.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP