首页>代码>java通过jacob插件把图片插入word文档并且打印>/jacob将图片插入word并且打印/WordBean/src/com/lqw/controller/WordBean.java
package com.lqw.controller; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; import com.jacob.com.Variant; public class WordBean { //将图片插入word文档 /** * * @param strings 图片集合 * @param savapath 新建word存放路径 */ public static void createWordFile(String[] strings, String savapath) { ComThread.InitSTA(); ActiveXComponent app = new ActiveXComponent("Word.Application");// 启动word try { app.setProperty("Visible", new Variant(false));// 设置word不可见 Dispatch docs = app.getProperty("Documents").toDispatch(); Dispatch doc = Dispatch.call(docs, "Add").toDispatch(); Dispatch selection = Dispatch.get(app, "Selection").toDispatch(); Dispatch image = Dispatch.get(selection, "InLineShapes").toDispatch(); Dispatch alignment = Dispatch.get(selection, "ParagraphFormat").toDispatch();// 段落格式 Dispatch wordContent = Dispatch.get(doc, "Content").toDispatch(); Dispatch.call(selection, "InsertAfter", "这里是一个段落的内容");//插入一个段落 Dispatch.put(alignment, "Alignment", "1"); // (1:置中 2:靠右 3:靠左) for(String st:strings){ Dispatch.call(image, "AddPicture",st); } Dispatch.call(Dispatch.call(app, "WordBasic").getDispatch(), "FileSaveAs", savapath); //printer(savapath); Variant f = new Variant(false); Dispatch.call(doc, "save"); Dispatch.call(doc,"Close" ,f); doc=null; } catch (Exception e) { e.printStackTrace(); } finally { ComThread.Release(); //app.invoke("Quit", new Variant[] {}); app.safeRelease(); } } /** * 需要打印的word路径 * @param path */ //打印文档 public static void printer(String path){ //String path="C://Users//Administrator//Desktop//歌曲//999.doc"; ComThread.InitSTA(); ActiveXComponent wd = new ActiveXComponent("Word.Application"); try { // 不打开文档 Dispatch.put(wd, "Visible", new Variant(false)); Dispatch document = wd.getProperty("Documents") .toDispatch(); // 打开文档 Dispatch doc = Dispatch.invoke(document, "Open", Dispatch.Method, new Object[] {path}, new int[1]).toDispatch(); // 开始打印 if (doc != null) { Dispatch.call(doc, "PrintOut"); //增加以下三行代码解决文件无法删除bug Dispatch.call(doc,"save"); Dispatch.call(doc, "Close" , new Variant(true)); doc=null; } wd.invoke("Quit", new Variant[] {}); wd=null; } catch (Exception e){ e.printStackTrace(); } finally { // 始终释放资源 ComThread.Release(); } } public static void main(String[] args) { String[] strings=new String[]{"C:\\Users\\Administrator\\Desktop\\img\\1.jpg","C:\\Users\\Administrator\\Desktop\\img\\1.jpg","C:\\Users\\Administrator\\Desktop\\img\\1.jpg"}; createWordFile(strings,"C:\\Users\\Administrator\\Desktop\\img\\tess.doc"); //openAnExistsFileTest();// 打开一个存在 的文件 System.out.println("插入成功"); } }
最近下载更多
nanprivate LV1
2021年3月19日
longdad LV1
2020年2月20日
luohaipeng LV23
2019年12月3日
低调人 LV38
2019年8月3日
zhangdd1991 LV1
2019年7月16日
news_2019 LV2
2019年7月3日
wx19941125 LV12
2019年6月25日
听雨楼 LV9
2019年5月22日
DawnWalker LV19
2018年12月14日
john93 LV15
2018年12月11日
最近浏览更多
qwertyui惊鸿 LV7
2023年3月17日
荣》Cowboy LV12
2022年4月2日
2252536772 LV21
2022年2月17日
mudai88
2021年12月1日
暂无贡献等级
zzzzzz520 LV3
2021年8月27日
小马兼职
2021年4月29日
暂无贡献等级
nanprivate LV1
2021年3月19日
spring123spring LV5
2021年2月17日
LiXin1994 LV1
2020年12月9日
oo3534 LV2
2020年10月10日