资源简介
对企业合同word模版,可通过java 程序实现生成word文件,然后再通过word转成pdf实现。本实例的方案,可实现模版到word文件的转换。附件有代码和效果图。

代码片段和文件信息
package com;
import org.w3c.dom.*;
import java.io.*;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.util.HashMap;
import java.util.Iterator;
public class replaceWords {
private HashMap map = null;
public void toNewxml(String inputDocPath String outPutDocPathHashMap data) {
this.map=data;
System.out.println(“获取传入的替换的值。“ );
for (Iterator iter = this.map.keySet().iterator(); iter.hasNext();) {
object key = iter.next();
object val = this.map.get(key);
System.out.println(“ key:“+(String) key+“ value:[“+(String) val+“]“ );
}
File docFile = new File(inputDocPath);
Document doc = null;
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(docFile);
Element root = doc.getDocumentElement();
//遍历执行
stepThrough(root);
} catch (Exception e) {
System.out.print(“遍历替换时,执行出错。原因: “+ e.getMessage());
}
//word转xml文件
doc2xmlFile(doc outPutDocPath);
}
public static Document load(String filename) {
Document document = null;
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(new File(filename));
document.normalize();
} catch (Exception ex) {
ex.printStackTrace();
}
return document;
}
/*
* word转到xml
**/
public static boolean doc2xmlFile(Document document String filename) {
boolean flag = true;
try {
/** 将document中的内容写入文件中 */
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
/** 编码 */
// transformer.setOutputProperty(OutputKeys.ENCODING “GB2312“);
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(filename));
transformer.transform(source result);
} catch (Exception ex) {
flag = false;
ex.printStackTrace();
}
return flag;
}
/**
* 遍历执行
* */
private void stepThrough(Node start) {
if (start.getNodeName().equals(“#text“)) {
String str= start.getNodeValue();
int x=str.indexOf(“$“);
int y=str.indexOf(“@“);
if (x>=0 && y>=0 && x String field=“\\“+str.substring(xy)+“\\@“;
String key=str.substring(x+1y);
String val=selectMap(key);
String newStr=str.replaceAll(fieldval);//替换
start.setNodeValue(newStr);
System.out.println(“field=[“+field+“] key=[“+key+“] val=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4154 2018-02-04 11:30 java生成合同\replaceWords.java
文件 111438 2018-02-04 11:25 java生成合同\合同-原版.jpg
文件 81099 2018-02-04 11:13 java生成合同\合同.doc
文件 81112 2018-02-04 11:10 java生成合同\合同.xm
文件 188 2018-02-04 11:43 java生成合同\操作方法.txt
文件 108320 2018-02-04 11:25 java生成合同\最终合同.jpg
目录 0 2018-02-04 11:35 java生成合同
----------- --------- ---------- ----- ----
386311 7
- 上一篇:android备忘录实现
- 下一篇:java简单桌面考试系统可实现倒计时、暂停功能
相关资源
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
评论
共有 条评论