itext导出word文件
import java.awt.Color;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Cell;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.rtf.RtfWriter2;
public class GenWordSample
{
private static final String TARGET_FILE_NAME = "d:\\testWord.doc";
public static void main(String[] args)
{
//创建word文档,并设置纸张大小
Document document = new Document(PageSize.A4);
try
{
RtfWriter2.getInstance(document, new FileOutputStream(TARGET_FILE_NAME));
document.open();
//document.setPageSize(new Rectangle(20,30,40,50));
//设置合同头
String contractTitle = "关于申请授权签署2010年度第三批科技类合同事项的请示";
Font newFont = new Font(Font.NORMAL,22,Font.NORMAL, new Color(0,0,0));
Paragraph p = new Paragraph(contractTitle, newFont);
p.setAlignment(Table.ALIGN_CENTER);
p.setIndentationLeft(60);
p.setIndentationRight(60);
p.setSpacingBefore(20);
//中文字体三种选择
//1.设置中文字体 应该需要(iText-Asian.jar)
BaseFont cnFont = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H" ,BaseFont.NOT_EMBEDDED);
//2.使用Window系统字体(TrueType)
//BaseFont cnFont = BaseFont.createFont("c:\\windows\\Fonts\\STFANGSO.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//3.使用资源字体(classpath)
//BaseFont cnFont = BaseFont.createFont("font/STFANGSO.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font contentFont = new Font(cnFont,16, Font.NORMAL, new Color(0,0,0));
String content = "顾行长:";
Paragraph p1 = new Paragraph(content, contentFont);
p1.setIndentationLeft(60);
p1.setIndentationRight(60);
p1.setSpacingBefore(30);//段前插入空白
p1.setLeading(30);
String longPara = "为了保证我行科技服务的延续和设备采购的合法合规,信息科技部整理了近期拟签署的服务和采购合同协议21项,累计资金3,315,984.00元(合同所对应的签报、财审会意见清单见附件)。特申请授权信息科技部副总经理石玉军签署下述清单范围内的合同,及相关用印申请。";
Paragraph p2 = new Paragraph(longPara, contentFont);
p2.setFirstLineIndent(40);//首行缩进
p2.setAlignment(Paragraph.ALIGN_JUSTIFIED);//对齐方式
p2.setLeading(30);//行间距
p2.setIndentationLeft(60);//左边距,右边距
p2.setIndentationRight(60);
Paragraph p3 = new Paragraph("妥否,请批示。", contentFont);
p3.setIndentationLeft(60);
p3.setIndentationRight(60);
p3.setLeading(30);
p3.setFirstLineIndent(40);
Paragraph p4 = new Paragraph("信息科技部", contentFont);
p4.setIndentationLeft(260);
p4.setIndentationRight(60);
p4.setLeading(30);
p4.setFirstLineIndent(40);
Paragraph p5 = new Paragraph("2010年7月7日", contentFont);
p5.setIndentationLeft(250);
p5.setIndentationRight(60);
p5.setLeading(30);
p5.setFirstLineIndent(40);
document.add(p);
document.add(p1);
document.add(p2);
document.add(p3);
document.add(p4);
document.add(p5);
//创建三列的表格
Table table = new Table(4);
table.setBorderWidth(1);
table.setBorderColor(Color.BLACK);
table.setPadding(3);
table.setSpacing(0);
table.setWidth(80);
Font cellFont = new Font(Font.NORMAL,10);
table.addCell(new Paragraph("合同(协议)名称", cellFont));
Cell cell = new Cell(new Paragraph("国工商银行股份有限公司北京市分行林大校园卡IBM服务器采购合同", cellFont));
cell.setColspan(3);
cell.setHorizontalAlignment(Cell.ALIGN_CENTER);
cell.setVerticalAlignment(Cell.ALIGN_MIDDLE);
table.addCell(cell);
table.addCell(new Paragraph("合同(协议)编号", cellFont));
cell = new Cell(new Paragraph("2010-北京/科技/采购合同-林大、音乐学院校园卡项目-HP", cellFont));
cell.setColspan(3);
table.addCell(cell);
cell = new Cell(new Paragraph("分行签报", cellFont));
cell.setHorizontalAlignment(Cell.ALIGN_CENTER);
cell.setVerticalAlignment(Cell.ALIGN_MIDDLE);
table.addCell(cell);
table.addCell(new Paragraph("行领导批示:拟同意,请顾行长阅示。付捷 2010-06-18 12:59同意上财审会审议。" +
"顾建纲 2010-06-21 13:21/候巍 2010-6-18亚运村支行电子设备审批单", cellFont));
table.addCell(new Paragraph("签报文号", cellFont));
table.addCell(new Paragraph("工银京司二签[2010]114号亚运村支行电子设备审批单", cellFont));
document.add(table);
document.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (DocumentException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
防google自动补齐
防google自动补齐,异步调用数据
$(document).ready(function(){
//表示当前高亮的节点
highlightindex = -1;
var timeoutId;
var wordInput = $("#word");
var wordInputOffset = wordInput.offset();
$("#auto").hide().css("border","1px black solid").css("position","absolute").css("background-color","white")
.css("top",wordInputOffset.top+wordInput.height() + 13 +"px")
.css("left",wordInputOffset.left).width(wordInput.width() + 5);
//控件1自动补全
wordInput.keyup(function(event){
//处理文本框的键盘事件
var myEvent = event||window.event;
var keyCode = myEvent.keyCode;
//对输入字符的判断
if((keyCode >= 65 && keyCode<=90) || (keyCode >= 48 && keyCode <= 57)||(keyCode>=96 && keyCode<=105) || keyCode ==46 || keyCode == 8 || keyCode == 32){
var wordText = $("#word").val();
var autoNode = $("#auto");
if(wordText!=""){
//把文本框的字符传到服务器端
//清除上次未完成的延时
clearTimeout(timeoutId);
timeoutId = setTimeout(function(){
$.post("/wght/wght/bargain/searchIndex.do?word="+wordText,function(data){
//将dom对象data转换为jquery数据
var jqueryObj = $(data);
//找到所有word节点
var wordNodes = jqueryObj.find("word");
autoNode.html("");
//遍历word,将起放入对话框中
wordNodes.each(function(i){
//取单词内容,
var wordNode = $(this).text();
//新建div节点,将单词内容放到节点里,将节点放置页面
if(wordNode != null){
$("<div>").css("font-size","13px").css("height","18px").css("padding-top","1px").html(wordNode).appendTo(autoNode);
}
var completesVal=$("#auto").children("div");
var newDivNode =$("<div>").attr("id",i);
//新增鼠标进入事件,高亮显示
completesVal.mouseover(function(){
if(highlightindex != -1){
$("#auto").children("div").eq(highlightindex).css("background-color","white");
}
highlightindex = $(this).attr("id");
$(this).css("background-color","yellow");
});
//新增鼠标移出事件,取消高亮
completesVal.mouseout(function(){
$(this).css("background-color","white");
});
//鼠标单击事件,补全其内容
completesVal.click(function(){
var comText = $(this).text();
$("#auto").hide();
highlightindex=-1;
$("#word").val(comText);
});
});
//如果有数据,显示之
if(wordNodes.length > 0){
autoNode.show();
}else {
autoNode.hide();
highlightindex=-1;
}
},"xml");
},500);
}else{
autoNode.hide();
highlightindex=-1;
}
}else if(keyCode == 38 || keyCode==40){
//如果输入的是向上38向下40按键
if(keyCode == 38){
//up
var autoNodes = $("#auto").children("div");
if(highlightindex !=-1)
{
autoNodes.eq(highlightindex).css("background-color","white");
highlightindex--;
}else{
highlightindex = autoNodes.length -1;
}
if(highlightindex == -1){
//如果修改索引值以后index变成-1,则将索引中指向最后一个元素
highlightindex = autoNodes.length -1;
}
//让现在被高亮的内容变成黄色
autoNodes.eq(highlightindex).css("background-color","yellow");
}if(keyCode == 40){
//down
var autoNodes =$("#auto").children("div");
if(highlightindex !=-1)
{
autoNodes.eq(highlightindex).css("background-color","white");
}
highlightindex++;
if(highlightindex == -1){
//如果修改索引值以后index变成-1,则将索引中指向最后一个元素
highlightindex = 0;
}
//让现在被高亮的内容变成黄色
autoNodes.eq(highlightindex).css("background-color","yellow");
}
}else if(keyCode == 13){
if(highlightindex !=-1)
{
var comText =$("#auto").hide().children("div").eq(highlightindex).text();
highlightindex=-1;
$("#word").val(comText);//将文本框内容改成选中项
//$("form:first").submit(); //提交form。若没有这句话,按下回车后,仅仅只改变了文本框里的内容,但是由于form本身就监控了回车按键默认为submit,提交的是文本框改变之前的内容,解决这个问题最简单的方式就是在文本框内容改变以后强制提交form的内容,此时,提交的内容就是选中项。
}else{
$("#auto").hide();
//让文本框失去焦点
$("#word").get(0).blur();
}
}
});
})