- 浏览: 1418681 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (409)
- Java (48)
- Spring (29)
- struts2 (17)
- hibernate (4)
- 设计模式 (24)
- jbpm (1)
- JavaScript (5)
- 统计报表 (7)
- ExtJS_3.0 (35)
- struts1 (1)
- 分析设计 (3)
- Flex3 (24)
- UML (2)
- 数据库 (18)
- PowerDesigner (2)
- 应用服务器 (3)
- WebService (5)
- ActiveMQ_5.3.2 (6)
- Java通信技术 (11)
- GWT (6)
- OSGi (15)
- android (11)
- liferay6.0.6 (13)
- jquery (13)
- Linux (3)
- java.util.concurrent (16)
- guava (9)
- 开发模式 (1)
- 大数据 (2)
- 互联网金融 (4)
- treegrid-3.0 (7)
- 分布式 (8)
- GO语言 (4)
- maven (1)
- 缓存技术 (6)
- 其他 (2)
- 前端页面 (1)
- heasy (1)
- spring cloud(F版) (21)
- springboot (12)
- springmvc (5)
- mybatis (3)
- dubbo (1)
- 物联网 (0)
最新评论
-
raymond.chen:
谢谢您的分享
使用Ngrok解决通过外网访问内网web应用 -
wangyudong:
速度有点慢,不过在也找到了一个开源的holer,配置一个key ...
使用Ngrok解决通过外网访问内网web应用 -
a1006458222:
...
Axis2的部署和应用 -
偷师来了:
不好意思 这样的博客我觉得就灭有必要分享出来了 命令大家都会看 ...
Consul框架介绍 -
lliiqiang:
怎么直接删除文件夹啊?固定的几个文件可以删除,不固定的呢?需要 ...
Flex AIR —— 文件读写
JACOB 就是 JAVA-COM Bridge的缩写,提供自动化的访问com的功能,也是通过JNI功能访问windows平台下的com组件或者win32系统库的。
/** * 将jacob.dll放入JDK的bin目录下 * 把jacob.jar放入项目的WEB-INF\lib目录下 */ public class JacobHelper { private ActiveXComponent word; private Dispatch documents; private Dispatch doc; private Dispatch selection; private ActiveXComponent excel; private Dispatch workbooks; private Dispatch workbook; private void wordInit(){ if(word==null){ //创建一个word对象 word = new ActiveXComponent("Word.Application"); word.setProperty("Visible", new Variant(false)); //word不可见 word.setProperty("AutomationSecurity", new Variant(3)); //禁用宏 } if(documents==null){ //获取文挡属性 documents = word.getProperty("Documents").toDispatch(); } } private void wordDestory(){ try{ if(doc!=null){ //Dispatch.call(doc, "Close", new Variant(true)); Dispatch.invoke(doc, "Close", Dispatch.Method, new Object[]{new Variant(true)}, new int[1]); doc = null; } if(word!=null){ word.invoke("Quit", new Variant[]{}); word.safeRelease(); word = null; documents = null; } }catch(Exception ex){ ex.printStackTrace(); } } /** * 合并Word文档 */ public boolean wordUnite(String[] filePath, String outputPath){ if(filePath==null || filePath.length==0) return false; boolean successful = false; try{ wordInit(); //添加一个新文挡 doc = Dispatch.call(documents, "Add").toDispatch(); selection = word.getProperty("Selection").toDispatch(); for(int i=0;i<filePath.length;i++){ Dispatch.call(selection, "insertFile", filePath[i]); if(i<filePath.length-1){ Dispatch.call(selection, "TypeParagraph"); //换行 } } //文件另存为 Dispatch.call(doc, "SaveAs", outputPath); successful = true; }catch(Exception ex){ successful = false; ex.printStackTrace(); }finally{ wordDestory(); } return successful; } /** * Word转Html */ public boolean word2html(String wordFilePath, String htmlFilePath){ boolean successful = false; try{ wordInit(); //对象数组第三个表示是否以只读方式打开文件 doc = Dispatch.invoke(documents, "Open", Dispatch.Method, new Object[]{wordFilePath, new Variant(false), new Variant(true)}, new int[1]).toDispatch(); //另存为 Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[]{htmlFilePath, new Variant(8)}, new int[1]); //html-new Variant(8) txt-new Variant(2) successful = true; }catch(Exception ex){ successful = false; ex.printStackTrace(); }finally{ wordDestory(); } return successful; } private void excelInit(){ if(excel==null){ ComThread.InitSTA(); excel = new ActiveXComponent("Excel.Application"); excel.setProperty("Visible", new Variant(false)); } } private void excelDestory(){ try{ if(workbook!=null){ Dispatch.call(workbook, "Close", new Variant(true)); workbook = null; } if(excel!=null){ excel.invoke("Quit", new Variant[]{}); ComThread.Release(); excel = null; } }catch(Exception ex){ ex.printStackTrace(); } } public boolean excel2html(String excelFilePath, String htmlFilePath){ boolean successful = false; try{ excelInit(); //先删除旧文件 File file = new File(htmlFilePath); if(file.exists() && file.canRead()){ file.delete(); } workbooks = excel.getProperty("Workbooks").toDispatch(); workbook = Dispatch.invoke(workbooks, "Open", Dispatch.Method, new Object[]{excelFilePath, new Variant(false), new Variant(true)}, new int[1]).toDispatch(); //以只读方式打开 Dispatch.invoke(workbook, "SaveAs", Dispatch.Method, new Object[]{htmlFilePath, new Variant(44)}, new int[1]); successful = true; }catch(Exception ex){ successful = false; ex.printStackTrace(); }finally{ excelDestory(); } return successful; } }
//设置字体 Dispatch font = Dispatch.get(selection, "Font").toDispatch(); Dispatch.put(font, "Size", "10"); Dispatch.put(font, "Name", new Variant("宋体")); //设置段落格式 Dispatch align = Dispatch.get(selection, "ParagraphFormat").toDispatch(); Dispatch.put(align, "Alignment", "1"); //1:置中 2:靠右 3:靠左 //插入文本字符串 Dispatch.put(selection, "Text", "经理例会重点问题(" + DatetimeUtil.getToday("MMdd") + ")"); //回车换行 Dispatch.call(selection, "MoveDown"); Dispatch.call(selection, "TypeParagraph"); //重新设置文档内容的字体 selection = Dispatch.get(doc, "Content").toDispatch(); font = Dispatch.get(selection, "Font").toDispatch(); Dispatch.put(font, "Size", "10"); Dispatch.put(font, "Name", new Variant("宋体")); Dispatch.put(font, "Bold", new Variant(false));
发表评论
-
keytool的使用
2019-08-28 15:12 452keytool是密钥和数字证书的管理工具。它使用户能够管理 ... -
Bitset数据结构的使用
2019-03-08 13:53 1827Bitset是Java中的一种数据结构。Bitset中主要 ... -
Disruptor:高性能低延迟的内存有界队列框架
2019-02-24 10:45 887Disruptor是用于在多个线程之间通信的高性能低延时的 ... -
java的类加载机制
2019-02-18 21:37 355ClassLoader的双亲委派模 ... -
ThreadLocal的使用范例
2019-02-16 19:30 490ThreadLocal用于保存某个线程的共享变量。 Thr ... -
反射工具包Reflections的使用
2019-02-16 17:51 2927Reflections 通过扫描 classpath,索引元 ... -
使用CGLIB对实现类进行动态代理
2019-01-31 19:12 2373CGLIB(Code Generation Library ... -
基于JDK动态代理实现Mybatis的Mapper功能
2019-01-31 18:40 852Mybatis通过定义Mapper接口类,类中的方法与map ... -
Java8新特性
2019-01-20 22:04 4981、Lambda表达式 ... -
使用百度API识别图片文字
2018-09-21 22:41 24511、注册百度账号 https://login.bce.b ... -
HanLP自然语言处理包的使用
2018-09-16 23:06 3055HanLP是由一系列模型与算法组成的Java工具包,目标是 ... -
org.apache.commons常用类的使用
2018-09-14 23:29 780/** * 文本相似度计算 */ ... -
图片转换为单色
2017-04-01 00:10 1421/** * 转为单色图片 */ privat ... -
Java事件机制范例
2016-11-28 15:22 2441java事件机制的参与者: event object:事件 ... -
编程方式的quartz2例子
2016-11-09 14:53 639Job类: public class MyJob imp ... -
数字证书格式
2016-11-06 20:44 1926PFX 或 P12 指以pkcs#12 ... -
Drools6使用范例
2016-10-15 23:50 27451、创建kmodule.xml文件 在s ... -
生成带logo的二维码图片
2016-05-25 18:21 1335源码如下: private static final in ... -
用HttpClient访问CXF的RESTful接口
2016-05-18 16:50 4409用CXF可以开发RESTful服务,服务接口的输入和输出支持 ... -
commons-configuration使用范例
2016-05-02 23:50 14661、访问属性文件 PropertiesConfigurat ...
相关推荐
学习jacob的绝对最佳代码。 其中基本包括所有word操作。 有时间大家可以一起交流。
jacob ,官方的解释是Java COM Bridge,即java和 com组件间的桥梁
1.将jacob-1.18.zip下载解压,在文件夹中找到jacob-1.18-x64.dll,jacob-1.18-x86.dll,jacob.jar 2.通过 pom.xml 新增 <groupId>com.hynnet</groupId> <artifactId>jacob <version>1.18 3. 如果是32位系统...
jacob使用入门,比较适合初学者学习!
jacob1.9 jacob1.12 jacob1.14内附使用说明和三个jar包,由于不同机器适应不同版本,所以打包三个任你选!
JACOB里的总共有两个包: com jacob activeX:JACOB可以通过它调度(Dispatch)activeX 控件 com jacob com:JACOB通过它调用系统DLL (activeX是由微软公司推出的用于Internet的技术 以前曾经被称为OLE 和OCX...
一次使用jacob在服务器端操作word文档的总结
jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob...
com.jacob.jacob_1.10jar包下载
jacob.jar1.20及使用方法 解压后获得3个文件 jacob.jar jacob-1.20-x64.dll jacob-1.20-x86.dll 包含(32位,64位)以及文档 jacob(java com bradge) 通过调用MS OFFICE可以快捷的将word excel ppt等转换为pdf
java操作office的jar包,其中jacob.jar放在项目jar文件夹中,jacob.dll放在C:\Windows\System32文件夹下
jacob.dll,jacob.jar下载
jacob 1.9语音生成文件,jacob x64.dll和jacob.jar 版本为1.9。 jacob.dll放入 C:\Program Files\Java\jdk1.8.0_121\jre\bin jacob.jar通过idea配置到项目dependencies
jacob-1.18的资源包还有 jacob-1.18-x64.dll和jacob-1.18-x86.dll. 把对应的windows版本扔到 C:\Windows\System32 并添加环境变量大到path中 “%SYSTEMROOT%\System32\jacob-1.18-x86.dll;”或者 “%SYSTEMROOT%\...
jacob1.19(包含jacob-1.19-x64.dll和jacob-1.19-x86.dll)
jacob.jar1.19及使用方法 解压后获得3个文件 jacob.jar jacob-1.17-x64.dll jacob-1.17-x86.dll jacob.jar 放到项目的lib目录 win7 jacob-1.17-x64.dll 放到C:\Windows\System32 jacob-1.17-x86.dll 放到C:\...
jacob1.19(包含jacob-1.19-x64.dll和jacob-1.19-x86.dll)
com.jacob jar包
本书使用的是jacob1.7,从如下网址可下载得到: http://danadler.com/jacob/ 但是使用JACOB可以先编写COM组件,再在Java中调用,这在许多遗留在系统中COM组件是常用的,因此,使用JACOB对于系统的集成是比较实用的...
jacob文件下载(jacob.jar和jacob.dll)