jacob word另存为功能

2022-07-25,,,

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();
        }
    }

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

本文地址:https://blog.csdn.net/qq_38133320/article/details/112005817

《jacob word另存为功能.doc》

下载本文的Word格式文档,以方便收藏与打印。