java使用freemarker生成word文档可以动态生成目录结构么
首先,通过xml模板可以将基本上所有的格式都事先锁定,包括页码和分页,只要你事先预设好就能够通过freemarker实现生成,接下来就是我这个问题了,目录怎么解决,下面是解决思路:1:目录的内容可以根据之前其他的内容一样解决,通过XML模板预先设置好,2:目录的页码已经研究过是不能直接通过xml模板实现动态对应了(至少我没搞定0.0)3:由于不能够一步到位,我采取了在模板中预留了一页空白页,只留了抬头的目录两个字,然后通过查询目录二字进行目录的生成,这个功能也是我刚刚折腾出来的0.0目前还没测试能不能用模板生成目录后再更新目录0.0,不过想想可以直接生成目录应该就不用这么麻烦了,至于word生成后的修改0.0我觉得还是以后再说吧.....整体来说应该还算完美解决了,代码我就不在这贴出来了~虽然中间折腾了半天走了半天弯路~讲道理还是用的jacob来实现的。
。
使用freemarker生成的word文档,如何利用java代码将其转换为pdf格式...
展开全部 首先,通过xml模板可以将基本上所有的格式都事先锁定,包括页码和分页,只要你事先预设好就能够通过freemarker实现生成,接下来就是我这个问题了,目录怎么解决,下面是解决思路:1:目录的内容可以根据之前其他的内容一样解决,通过XML模板预先设置好,2:目录的页码已经研究过是不能直接通过xml模板实现动态对应了(至少我没搞定0.0)3:由于不能够一步到位,我采取了在模板中预留了一页空白页,只留了抬头的目录两个字,然后通过查询目录二字进行目录的生成,这个功能也是我刚刚折腾出来的0.0目前还没测试能不能用模板生成目录后再更新目录0.0,不过想想可以直接生成目录应该就不用这么麻烦了,至于word生成后的修改0.0我觉得还是以后再说吧..整体来说应该还算完美解决了,代码我就不在这贴出来了~虽然中间折腾了半天走了半天弯路~讲道理还是用的jacob来实现的。
。
...
java怎么创建word文档
Jacob解决Word文档的读写问题收藏Jacob是Java-COMBridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。
使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。
Jacob下载的地址为:.Variant;publicclassWordOperate{publicstaticvoidmain(Stringargs[]){ActiveXComponentwordApp=newActiveXComponent("Word.Application");//启动word//Setthevisiblepropertyasrequired.Dispatch.put(wordApp,"Visible",newVariant(true));////设置word可见Dispatchdocs=wordApp.getProperty("Documents").toDispatch();//StringinFile="d:\\test.doc";//Dispatchdoc=Dispatch.invoke(docs,"Open",Dispatch.Method,//newObject[]{inFile,newVariant(false),newVariant(false)},//参数3,false:可写,true:只读//newint[1]).toDispatch();//打开文档Dispatchdocument=Dispatch.call(docs,"Add").toDispatch();//createnewdocumentStringuserName=wordApp.getPropertyAsString("Username");//显示用户信息System.out.println("用户名:"+userName);//文档对齐,字体设置////////////////////////Dispatchselection=Dispatch.get(wordApp,"Selection").toDispatch();Dispatchalign=Dispatch.get(selection,"ParagraphFormat").toDispatch();//行列格式化需要的对象Dispatchfont=Dispatch.get(selection,"Font").toDispatch();//字型格式化需要的对象//标题处理////////////////////////Dispatch.put(align,"Alignment","1");//1:置中2:靠右3:靠左Dispatch.put(font,"Bold","1");//字型租体Dispatch.put(font,"Color","1,0,0,0");//字型颜色红色Dispatch.call(selection,"TypeText","Word文档处理");//写入标题内容Dispatch.call(selection,"TypeParagraph");//空一行段落Dispatch.put(align,"Alignment","3");//1:置中2:靠右3:靠左Dispatch.put(selection,"Text","");Dispatch.call(selection,"MoveDown");//光标标往下一行//表格处理////////////////////////Dispatchtables=Dispatch.get(document,"Tables").toDispatch();Dispatchrange=Dispatch.get(selection,"Range").toDispatch();Dispatchtable1=Dispatch.call(tables,"Add",range,newVariant(3),newVariant(2),newVariant(1)).toDispatch();//设置行数,列数,表格外框宽度//所有表格VarianttableAmount=Dispatch.get(tables,"count");System.out.println(tableAmount);//要填充的表格Dispatcht1=Dispatch.call(tables,"Item",newVariant(1)).toDispatch();Dispatcht1_row=Dispatch.get(t1,"rows").toDispatch();//所有行intt1_rowNum=Dispatch.get(t1_row,"count").getInt();Dispatch.call(Dispatch.get(t1,"columns").toDispatch(),"AutoFit");//自动调整intt1_colNum=Dispatch.get(Dispatch.get(t1,"columns").toDispatch(),"count").getInt();System.out.println(t1_rowNum+""+t1_colNum);for(inti=1;i
怎么用java实现word导出
1.创建带有格式的word文档,将该需要动态展示的数据使用变量符替换。
2. 将刚刚创建的word文档另存为xml格式。
3.编辑这个XMl文档去掉多余的xml标记,如图中蓝色部分 4.从Freemarker官网【下载】最新的开发包,将freemarker.jar拷贝到自己的开发项目中。
5.新建DocUtil类,实现根据Doc模板生成word文件的方法 6.用户根据自己的需要,调用使用getDataMap获取需要传递的变量,然后调用createDoc方法生成所需要的文档。
java怎么去除或隐藏word文档中的批注
为文件类的对象添加右键选单依次展开“HKEY_CLASSES_ROOT\\”分支,用鼠标右击其中的“Shell”主键,在弹出的选单中选择“新建/主键”命令,然后将“新键#1”重新命名为“打开Word 2000”。
再用鼠标右击“打开Word 2000”主键,依次选择“新建/主键”,并将它改名为“Command”。
选择“Command”主键,在右边窗口“名称”下的“默认”文字处双击鼠标左键,在“键值”下面输入Word2000的执行文件Winword.exe的完整路径,如“D:\\Program Files\\Microsoft Office\\Office\\Winword.exe”(注意引号不要输入),按“确定”按钮,再关闭注册表编辑器。
现在用鼠标双击桌面上“我的电脑”图标,双击任意一个驱动器图标,并从中选择一个文件(注意:现在暂时还不能选择文件夹),按下鼠标右键,可以看到在弹出的快捷选单中出现了“打开Word2000”选项,用鼠标单击它就可以运行Word 2000。
如果用鼠标右击桌面上任意一个应用程序的快捷方式图标,也可以在弹出的右键选单中找到“打开Word 2000”选项
转载请注明出处51数据库 » java word freemarker