jacob word另存为

jacob word另存为功能

这个功能只需要在fmt这个变量上输入相应的值就可以另存为

public static void main(String[] args) {
		String nn = "E:\\测试\\公式\\2\\4.docx";
		String nn1 = "E:\\测试\\公式\\2\\4.html";
		convertDocFmt(nn,nn1,10);//10是另存为页面
	}
/**
     * 根据格式类型转换 word 文件
     *
     * @param srcPath    源文件
     * @param descPath    目标文件 (另存为文件)
     * @param fmt        所转格式 0为doc  12为docx
     *Variant(0):doc
      *Variant(1):dot
      *Variant(2-5),Variant(7):txt
      *Variant(6):rft
      *Variant(8),Variant(10):htm
      *Variant(9):mht
      *Variant(11),Variant(19-22):xml
      *Variant(12):docx
      *Variant(13):docm
      *Variant(14):dotx
      *Variant(15):dotm
      *Variant(16)、Variant(24):docx
      *Variant(17):pdf
      *Variant(18):xps
      *Variant(23):odt 
     */
public static String convertDocFmt(String srcPath, String descPath, int fmt) throws Exception {
        // 实例化ComThread线程与ActiveXComponent
        ComThread.InitSTA();
        ActiveXComponent app = new ActiveXComponent("Word.Application");
        try {
            // 文档隐藏时进行应用操作
            app.setProperty("Visible", new Variant(false));
            // 实例化模板Document对象
            Dispatch document = app.getProperty("Documents").toDispatch();
            // 打开Document进行另存为操作
            Dispatch doc = Dispatch.invoke(document, "Open", Dispatch.Method, new Object[] { srcPath, new Variant(true), new Variant(true) }, new int[1]).toDispatch();
            Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] { descPath, new Variant(fmt) }, new int[1]);
            Dispatch.call(doc, "Close", new Variant(false));
            return descPath;
        } catch (Exception e) {
            throw e;
        } finally {
            // 释放线程与ActiveXComponent
            app.invoke("Quit", new Variant[] {});
            ComThread.Release();
        }
    }

我不知道我这个代码写的对不对。如果有问题还请各位在底下多多评论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值