java中使用jacob插件生成word文件乱码

java中使用jacob插件生成word文件,使用的是先生成rtf再生成Word,当前在中文操作系统下完全正常,但是在英文和繁体操作系统下生成的Word文件内容中汉字显示乱码~

求大神指导!

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Jacob word 乱码
如题。。把模板里面的内容替换掉,中文是乱码。。请教一下。。。用的是jacob
jacob生成word目录
任务目的 1自动生成word文档目录。 用例测试操作步骤 在一个word文档的第二页填写占位符: {目录}保存。调用程序读取目标文档,自动根据标题生成目录到{目录}位置。
java操作word使用jacob
rnrn[b][color=#FF0000][size=14px]我在用java操作word时使用jacob,生成表格,但是不带边框,请大神指导下如何才能做出表格边框。[/size][/color][/b]
java使用jacob通过word模板生成word文档项目实例
完整项目,直接可以导入到myeclipse中运行,代码有详细注释,在readme.txt文件里面有注意事项。
jacob操作word文件
使用jacob操作word文档的部分方法希望对你们能有所帮助
java jacob生成word 异常处理 javax.servlet.ServletException
我已经 rn在jdk bin目录下放了 jacob-1.14.3-x86.dllrnrn在jboss下放 jacob.jarrn 还是报错 下面移除 rnrnrnrnrnjavax.servlet.ServletExceptionrn org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)rn org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)rn org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)rn com.esoon.security.SecurityFilter.doFilter(SecurityFilter.java:153)rn org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)rn org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)rn org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)rnrnrnroot cause rnrnjava.lang.reflect.InvocationTargetExceptionrn sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)rn sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)rn sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)rn java.lang.reflect.Method.invoke(Method.java:585)rn com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)rn com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)rn com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)rn com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)rn com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)rn com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)rn com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)rnrn
FLASHBUILDER程序使用JACOB生成WORD文档
将该文件复制到C:\Windows\SysWOW64中,并在C:\Windows\SysWOW64\config\systemprofile建立Desktop文件夹
使用Jacob合并word
Jacob来操作word,按照文档正确配置环境,将代码考到action里就可以调用该方法
使用jacob 操作word
项目有个需求,客户先编辑好word文件(编写特定的占位符),通过项目接口上传到服务器,然后进行数据填充。rn如果只是普通的字符串替换,这个可以使用poi来做,但是客户需要,对某些占位符,把他动态替换成一个或者多个表格。rn据我了解poi是不支持的。所以我使用了jacob,在功能上,jacob是可以实现的。但是我发现了。有时候会报一些莫名其妙的错误。rn例如saveAs的错误,或者是操作系统直接弹出窗口报 word打开异常这样的错误。这些问题并不经常,但是还是会影响 使用。rn不知道大家有么有遇到过类似问题,是不是jacob本身不够稳定。或者有没有其他更好的方案。
java打印word的jacob
java打印word的jacob java打印word的jacobjava打印word的jacob
关于jacob生成word的问题
现在项目需要导出一个指定格式的word文档,我现在会将内容生成word了,但是对于word里面的格式改如何调整呢?rnrn对于字体,现在有比如以下几种参数设置,那么对于段落之类的呢?我要设置1.5倍行距什么的,该从哪里入手呢?rn Dispatch font = Dispatch.get(lastParagraphRange, "Font").toDispatch();rn Dispatch.put(font, "Bold", new Variant(true)); // 设置为黑体rn Dispatch.put(font, "Italic", new Variant(true)); // 设置为斜体rn Dispatch.put(font, "Size", new Variant(12)); // 小四rnrn有没有jacob与word 的参数对照表呢?
jacob生成带有图片的word
jacob导出 word,要注意的是两个jar包的版本一定要对应,不然会报奇奇怪怪的错
jacob 生成word对象失败
//启动word,生成一个ActivexComponent对象rnapp = new ActiveXComponent("Word.Application");rnapp.setProperty("Visible", new Variant(false));rnDispatch docs = app.getProperty("Documents").toDispatch();rn这里生成word对象失败 app为null;rn谁知道怎么回事 ,机器上已安装word2007
java使用jacob通过模板生成word文档完整项目
完整项目,直接可以导入到myeclipse中运行,代码有详细注释,在readme.txt文件里面有注意事项。
jacob通过word模板生成word文档
java项目, 直接导入eclipse里面或者myeclipse里面就可以运行. 里面有readMe.txt文件,有详细说明. 通过jacob插件,通过word模板自动填充相应的数据,并且产生文件,为了解决有的tomcat下会乱码, 生成完成之后会转码一下, 解决了中文乱码问题.
java之jacob实现获取word文件的内容
读取word文件的内容,并将内容返回为String类型!
java 生成word文件
遇到需求需要对每一笔交易的 合同文件生成word文档保存。对 合同 内 关键字段 填充(比如说公司信息,人物名称,金额),其余内容不变。不需要生成复杂的word文件。 百度之后发现 用freemarker 模版生成 可以达成我的需求,而且比较简单。 步骤如下,下面是word文档内容, 1.在需要输入数据的地方加上变量 2. 另存为xml文件,这个就是生成wo
java生成word文件
里面包含了表格,图片还有一些文字格式设置, 1、jar包         <dependency>         <groupId>com.lowagie</groupId>         <artifactId>itext</artifactId>         <version>2.1.7</version...
Java 使用jacob打印word文档
, 记录并整理自己网上查阅的资料,网上的代码感觉始终有点不全,一些操作没有完全关闭,比如打开的Word没有关闭,一直占用这系统资源;由于网上很多实例都是讲解打印Excel文档的,微软的MSDN上面的具体的ActiveX部件对象的属性、事件、方法等也是以Excel为例的(https://msdn.microsoft.com/zh-cn/VBA/Excel-VBA/articles/sheets-p
java使用jacob操作word添加图片
1、操作word需要的jacobjar包和dll文件。(请多多支持!) java使用jacob给word添加水印。这是给word添加水印,当业务需求在多页word文档中,某一页添加水印一样的盖章,这个链接就没有办法了。 2、在word中需要盖章的位置添加个书签。 3、用jacob给书签替换成图片 /** * Created by qiuzhb on 2018/6/11. */ ...
使用Jacob合并多个word文档生成一个word文档
public void uniteDoc(String[] tempIds, String savepaths) { String rootPath = ****; if (ObjectUtil.isNull(tempIds) || tempIds.length <= 0 || ObjectUtil.isNull(tempIds[0])) { return; } //将jac
java使用jacob将word 转pdf
java使用jacob将word 转pdf
java使用jacob工具操作word文档
java使用jacob工具操作word文档,读取写入文档。详细的介绍使用方式。
使用jacob替换word模版并生成pdf或word
主要用到了WordUtils.java 代码如下 package com.jxtech.common; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; import com.jacob.com.Variant; import c
java使用jacob和java2word工具类操作word
本文提供关于jacob配置的dll文件,java2word的运行安装文件,jacob和java2word整合jar包 ckedtior网页编辑器需要用的jar,以及使用整合后的jar对word进行插入图片、带格式文字段落、和导出word功能源码
JAVA使用Jacob提取Word信息
JAVA使用Jacob提取Word信息,一个很好的范例,帮助你简化书写流程
java使用jacob给word添加水印
1、操作word需要的jacobjar包和dll文件。2、jar包放到项目中WEB-INF\lib中,或者mvn install:install-file -Dfile=D:\Users\qiuzhb\Downloads\jacob-1.18-M2\jacob.jar -DgroupId=com.jacob -DartifactId=jacob -Dversion=1.0 -Dpackaging=...
JAVA使用jacob操作MS word
JAVA使用jacob操作MS word ,要将jacob.dll放到系统文件夹下面,
jacob操作word文件报错
Exception in thread "main" com.jacob.com.ComFailException: Can't get object clsid from progidrn at com.jacob.com.Dispatch.createInstanceNative(Native Method)rn at com.jacob.com.Dispatch.(Dispatch.java:99)rn at com.jacob.activeX.ActiveXComponent.(ActiveXComponent.java:58)rn at WordBean.(WordBean.java:15)rn at JacobTest.insertTableTest(JacobTest.java:38)rn at JacobTest.mergeTableCellTest(JacobTest.java:49)rn at JacobTest.main(JacobTest.java:62)rn代码:rn public WordBean() rn // Open Word if we\'ve not done it alreadyrn if (MsWordApp == null) rn MsWordApp = new ActiveXComponent("Word.Application");rn rn rnrnpublic static void insertTableTest() rn WordBean wordBean = new WordBean();rn wordBean.setVisible(true); // 是否前台打开word 程序,或者后台运行rn wordBean.createNewDocument();// 创建一个新文档rn wordBean.setLocation();rn wordBean.insertTable("表名", 3, 2);rn wordBean.saveFileAs("d:\\table.doc");rn wordBean.closeDocument();rn wordBean.closeWord();rn
java使用jacob操作word文件遇到的问题
最近因为业务需要 要使用jacob对word文件进行操作但刚开始就遇到了很多错误希望各位高手帮忙分析一下是什么原因,并给个处理方案。 我是用的是jacob_1.91 并在环境变量中指明了 jacob.jar的位置,也在path中指明了jacob.dll的位置。又把jacob.dll分别放入了 c:/windows/system32、Tomcat的lib、jdk/D:\jdk1.4\jre\bin 、D:\jdk1.4\bin、E:\tomcat6\lib下了。但是当程序执行到 word = new ActiveXComponent("Word.Application");这一句时 报javax.servlet.ServletException: java.lang.UnsatisfiedLinkError: no jacob-1.14.3-x86 in java.library.pathrn org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:300)rn com.setpower.sysfun.webapp.action.BaseAction.execute(BaseAction.java:168)rn org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)rn org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)rn org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)rn org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:637)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:717)rn org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)rn org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)rn com.setpower.sysfun.webapp.filter.EncodingFilter.doFilter(EncodingFilter.java:29)rn com.setpower.sysfun.webapp.filter.ActionFilter.doFilter(ActionFilter.java:86)rnrnrnroot cause rn我用的开发工具时myeclipse8.5 jdk1.4 tomcat6.0 jacob_1.91rnrn不知道是怎么回事希望给位朋友能帮忙分析解决一下。谢谢了
Java 使用 jacob 将 word 文档转换为 pdf 文件
网上查询了许许多多的博客,说利用 poi、iText、Jsoup、jdoctopdf、使用 jodconverter 来调用 openOffice 的服务来转换等等,我尝试了很多种,但要么显示不完全,要么可是可能有问题,使用这个 jacob 的方法我最开始是最不想用的,因为它要导入 dll 文件,但最后我还是选择了使用该方法,原因是感觉转换后的 pdf 文件简直就是完美。   jacob 缺点:...
Java使用RTFTemplate.dot生成word文件
核心java类 博文链接:https://3ge.iteye.com/blog/1883818
使用jacob在Word中添加水印
最近由于工作的原因需要对Word进行操作,并且在文档上面加上水印,这个问题我在网上搜索了很久都没有一个完整的解决办法,没得办法之好自己研究了,半天的努力没有白费,终于解决了,有兴趣的朋友可以参考下:rn环境:rnjdk1.4rnjacob 1.9rnrnoffice2003rn至于jacob的设置我就不用多说了,网上很多这样的文章,下面就把我的代码贴出来,供大家参考。rnrnpackage src;rnrnimport com.jacob.activeX.ActiveXComponent;rnimport com.jacob.com.Dispatch;rnimport com.jacob.com.Variant;rnimport com.jacob.com.ComThread;rnrnrnpublic class WordObjrnrnrn public WordObj()rn rn rnrn private static WordObj instance;rnrn private Dispatch doc = null;rnrn private Dispatch activeWindow = null;rnrn private Dispatch docSelection = null;rnrn private Dispatch wrdDocs = null;rnrn private String fileName;rnrn private ActiveXComponent wrdCom;rnrn /**rn * 获取Word操作静态实例对象rn * rn * @return 报表汇总业务操作rn */rn public final static synchronized WordObj getInstance()rn rn if (instance == null)rn instance = new WordObj();rn return instance;rnrn rnrn /**rn * 初始化Word对象rn * rn * @return 是否初始化成功rn */rn public boolean initWordObj()rn rn boolean retFlag = false;rn ComThread.InitSTA();// 初始化com的线程,非常重要!!使用结束后要调用 realease方法rn wrdCom = new ActiveXComponent("Word.Application");rn tryrn rn // 返回wrdCom.Documents的Dispatchrn wrdDocs = wrdCom.getProperty("Documents").toDispatch();rn wrdCom.setProperty("Visible", new Variant(true));rnrn retFlag = true;rn rn catch (Exception e)rn rn retFlag = false;rn e.printStackTrace();rn rn return retFlag;rn rnrn /**rn * 创建一个新的word文档rn * rn */rnrn public void createNewDocument()rn rn doc = Dispatch.call(wrdDocs, "Add").toDispatch();rn docSelection = Dispatch.get(wrdCom, "Selection").toDispatch();rnrn rnrn /**rn * 取得活动窗体对象rn *rn */rn public void getActiveWindow()rn rn // 取得活动窗体对象rn activeWindow = wrdCom.getProperty("ActiveWindow").toDispatch();rnrn rnrn /**rn * 打开一个已存在的文档rn * rn * @param docPathrn */rnrn public void openDocument(String docPath)rn rn if (this.doc != null)rn rn this.closeDocument();rn rn doc = Dispatch.call(wrdDocs, "Open", docPath).toDispatch();rn docSelection = Dispatch.get(wrdCom, "Selection").toDispatch();rn rnrn /**rn * 关闭当前word文档rn * rn */rn public void closeDocument()rn rn if (doc != null)rn rn Dispatch.call(doc, "Save");rn Dispatch.call(doc, "Close", new Variant(0));rn doc = null;rn rn rnrn /**rn * 文档设置水印rn * rn * @param waterMarkStr 水印字符串rn */rn public void setWaterMark(String waterMarkStr)rn rn // 取得活动窗格对象rn Dispatch activePan = Dispatch.get(activeWindow, "ActivePane")rn .toDispatch();rn // 取得视窗对象rn Dispatch view = Dispatch.get(activePan, "View").toDispatch();rn //输入页眉内容rn Dispatch.put(view, "SeekView", new Variant(9));rn Dispatch headfooter = Dispatch.get(docSelection, "HeaderFooter")rn .toDispatch();rn //取得图形对象rn Dispatch shapes = Dispatch.get(headfooter, "Shapes").toDispatch();rn //给文档全部加上水印rn Dispatch selection = Dispatch.call(shapes, "AddTextEffect",rn new Variant(9), waterMarkStr, "宋体", new Variant(1),rn new Variant(false), new Variant(false), new Variant(0),rn new Variant(0)).toDispatch();rn Dispatch.call(selection, "Select");rn //设置水印参数rn Dispatch shapeRange = Dispatch.get(docSelection, "ShapeRange")rn .toDispatch();rn Dispatch.put(shapeRange, "Name", "PowerPlusWaterMarkObject1");rn Dispatch textEffect = Dispatch.get(shapeRange, "TextEffect").toDispatch();rn Dispatch.put(textEffect, "NormalizedHeight", new Boolean(false));rn Dispatch line = Dispatch.get(shapeRange, "Line").toDispatch();rn Dispatch.put(line, "Visible", new Boolean(false));rn Dispatch fill = Dispatch.get(shapeRange, "Fill").toDispatch();rn Dispatch.put(fill, "Visible", new Boolean(true));rn //设置水印透明度rn Dispatch.put(fill, "Transparency", new Variant(0.5));rn Dispatch foreColor = Dispatch.get(fill, "ForeColor").toDispatch();rn //设置水印颜色rn Dispatch.put(foreColor, "RGB", new Variant(16711680));rn Dispatch.call(fill, "Solid");rn //设置水印旋转rn Dispatch.put(shapeRange, "Rotation", new Variant(315));rn Dispatch.put(shapeRange, "LockAspectRatio", new Boolean(true));rn Dispatch.put(shapeRange, "Height", new Variant(117.0709));rn Dispatch.put(shapeRange, "Width", new Variant(468.2835));rn Dispatch.put(shapeRange, "Left", new Variant(-999995));rn Dispatch.put(shapeRange, "Top", new Variant(-999995));rn Dispatch wrapFormat = Dispatch.get(shapeRange, "WrapFormat").toDispatch();rn //是否允许交叠rn Dispatch.put(wrapFormat, "AllowOverlap", new Variant(true));rn Dispatch.put(wrapFormat, "Side", new Variant(3));rn Dispatch.put(wrapFormat, "Type", new Variant(3));rn Dispatch.put(shapeRange, "RelativeHorizontalPosition", new Variant(0));rn Dispatch.put(shapeRange, "RelativeVerticalPosition", new Variant(0));rn Dispatch.put(view, "SeekView", new Variant(0));rn rnrn rnrn /**rn * 关闭Word资源rn * rn * rn */rn public void closeWordObj()rn rnrn // 关闭word文件rn wrdCom.invoke("Quit", new Variant[] );rn // 释放com线程。根据jacob的帮助文档,com的线程回收不由java的垃圾回收器处理rn ComThread.Release();rn rnrn /**rn * 得到文件名rn * rn * @return .rn */rn public String getFileName()rn rn return fileName;rn rnrn /**rn * 设置文件名rn * rn * @param fileName .rn */rn public void setFileName(String fileName)rn rn this.fileName = fileName;rn rnrn /**rn * 测试功能rn * rn */rn public static void main(String[] argv)rn rn WordObj d = WordObj.getInstance();rn tryrn rn if (d.initWordObj())rn rn d.createNewDocument();rn d.getActiveWindow();rn d.setWaterMark("HEllo");rn // d.closeWordObj();rn rn elsern System.out.println("初始化Word读写对象失败!");rn rn catch (Exception e)rn rn d.closeWordObj();rn rn rnrnrnrn这个任务的完成要感谢下面链接提供的帮助:rnhttp://blog.csdn.net/yangyinbo/archive/2008/11/25/3373576.aspxrnhttp://www.bzwb.net/jishu4.asprnhttp://bbs.51js.com/archiver/tid-48399.htmlrn如果有什么不足之处,请大家多提宝贵意见rnrn
java使用 freemarker 模板生成word文件
public class 类的名字{ private Configuration configuration = null; public 类的构造方法() { configuration = new Configuration(); configuration.setDefaultEncoding("UTF-8"); } // 要填入
Java使用iText生成word文件的解决方案
NULL 博文链接:https://jianweicao.iteye.com/blog/1599994
使用jacob合并word单元格
利用jacob的replace方法动态填充dot里面的表格,既而生成一个doc,这个表格有序号,名称,比例若干列rn我要实现的是:如果有相同的序号(比如有两行数据,序号都是1),需要把着两个序号合并单元格,序号不变rn我现在可以做到两行,如果有更多的行的序号相等我不知该如何处理,表格的行数固定要么是5行,要么是10行rn特求教rn
JACOB Java操作word 优秀
java操作word 超简单实用:第一步: 引入包jacob.jar 第二步:参考工具类MsWordTool.java 含概基本WORD 所有操作方法 【特别难点】解决实例: 1)word书签内容替换后,书签会丢失问题 2)word定点批量插入图片功能 3)word批量更域功能(有引用书签的域会按最新值更新并计算) 4)word中原字体格式插入或替换成新文字;或设置新的文字格式 实现例子见工具类的main方法
使用Jacob输出word文档
使用Jacob输出word文档   1.下载:http://sourceforge.net/projects/jacob-project/ 下载 jacob-1.15-M3.zip,下方已提供附件下载。 2.在项目应用中引入jar文件jacob.jar,并复制 jacob-1.15-M3-x86.dll 到windows\System32目录下。 3.建立好word模板文档,在文档中需要用...
使用C#生成word文件
需要引入DocumentFormat.OpenXml.dll和WindowsBase.dll 类库和测试工程可以从这获取:https://download.csdn.net/download/jiyanglin/10303215 也可以从官网下载安装: https://msdn.microsoft.com/en-us/library/office/cc850833.aspx   测试代码...
关于jacob插件打开word文件的路径问题
程序代码如下:rnpublic void mhtToWord(String mhtFile, String wordFile) rn ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动wordrn try rn app.setProperty("Visible", new Variant(false));rn Dispatch wordDoc = app.getProperty("Documents").toDispatch();rn wordDoc = Dispatch.invoke(wordDoc, "Add", Dispatch.Method,rn new Object[0], new int[1]).toDispatch();rn Dispatch.invoke(app.getProperty("Selection").toDispatch(),rn "InsertFile", Dispatch.Method, new Object[] mhtFile, "",rn new Variant(false), new Variant(false),rn new Variant(false) , new int[3]);rn Dispatch.invoke(wordDoc, "SaveAs", Dispatch.Method, new Object[] rn wordFile, new Variant(1) , new int[1]);rn Dispatch.call(wordDoc, "Close", new Variant(false));rn catch (Exception e)rn e.printStackTrace();rn finally rn app.invoke("Quit", new Variant[] );rn ComThread.Release();rn rnmhtFile传进来的值为:"D:/20120227191436.html".rn出现的异常为:rncom.jacob.com.ComFailException: Invoke of: InsertFilernSource: Microsoft WordrnDescription: 文档名或其路径无效。 (D:/20120227191436.html)rnrnat com.jacob.com.Dispatch.invokev(Native Method)rnat com.jacob.com.Dispatch.invokev(Dispatch.java:625)rnat com.jacob.com.Dispatch.invoke(Dispatch.java:498)rnat org.util.WordManager.mhtToWord(WordManager.java:103)rnrnrn真的不太懂为什么这里的路径或者文件名无效... 求指教
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数