提示:导出pdf文件,需要3个jar包iText-2.1.5.jar,iTextAsian.jar,iText-rtf-2.1.4.jar。
public booleanoutputPdfJhsy(EntityBean data) {try{
Global.getInstance().LogApp("导出pdf开始");
String pdfpath= File.get("LEAP/NSESTModule/WRModule/nsjhsyzm.pdf").getAbsolutePath(); //从eclipse文件夹中得到pdf模版路径
String imgpath= File.get("LEAP/NSESTModule/WRModule/image/weiji.gif").getAbsolutePath(); //右下角盖章图片
PdfReader reader= new PdfReader(pdfpath);//创建输出目录
String pdfSavePath = NameedPathUtil.getPath("default")+"nsestpdf/";
File.get(pdfSavePath).mkdir();
String filename= Global.getInstance().GetUUID()+".pdf";
pdfSavePath= pdfSavePath+filename;
PdfStamper stamp= new PdfStamper(reader, newFileOutputStream(pdfSavePath));//拿到第一页的上部内容部分
PdfContentByte over = stamp.getOverContent(1);//获取表单域(用Adobe Acrobat Pro工具)
AcroFields form =stamp.getAcroFields();SimpleDateFormat sdf2= new SimpleDateFormat("yyyy年MM月dd日");
EntityBean bean=data;try{
form.setField("busino", bean.getString("busino"));
form.setField("jsbm", bean.getString("jsbm"));
form.setField("wname",bean.getString("wname"));
form.setField("wsfz",bean.getString("wsfz"));
form.setField("mname",bean.getString("mname"));
form.setField("msfz",bean.getString("msfz"));
form.setField("whjd",bean.getString("whjd"));
form.setField("wxjzd",bean.getString("wxjzd"));
form.setField("hyzk",bean.getString("hyzk"));
form.setField("jsqk",bean.getString("jsqk"));
form.setField("zncount",bean.getString("zncount"));
form.setField("znqk",bean.getString("znqk"));
form.setField("slrq",sdf2.format( sdf.parse(bean.getString("slrq")) ) );
form.setField("wfjhsyzc",bean.getString("wfjhsyzc"));
form.setField("qtsm",bean.getString("qtsm"));
form.setField("wname2",bean.getString("wname2"));
form.setField("wsfz2",bean.getString("wsfz2"));
form.setField("zmlxname", bean.getString("zmlxname"));
form.setField("jbr",bean.getString("jbr"));
form.setField("lxdh",bean.getString("lxdh"));
form.setField("sprq",bean.getString("sprq"));
}catch(Exception e) {
Global.getInstance().LogApp("插入pdf表单域异常");
e.printStackTrace();
}
stamp.setFormFlattening(true); //这句不能少//创建一个image对象
Image image =Image.getInstance(imgpath);//设置image对象的输出位置pa.getAsNumber(pa.size()-1).floatValue() 是该页pdf坐标轴的y轴的最大值
image.setAbsolutePosition(398,170);
image.scalePercent(70);
over.addImage(image);
over.stroke();
stamp.close();Global.getInstance().LogApp("导出pdf结束");
}catch(FileNotFoundException e) {
Global.getInstance().LogApp("异常1");
e.printStackTrace();return false;
}catch(DocumentException e) {
Global.getInstance().LogApp("异常2");
e.printStackTrace();return false;
}catch(IOException e) {
Global.getInstance().LogApp("异常3");
e.printStackTrace();return false;
}finally{
}return true;
}