提示:导出pdf文件,需要3个jar包iText-2.1.5.jar,iTextAsian.jar,iText-rtf-2.1.4.jar。

 public boolean outputPdfJhsy(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, new FileOutputStream(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;
}

Java导出pdf文件数据的更多相关文章

  1. 史上最全的springboot导出pdf文件

    最近项目有一个导出报表文件的需求,我脑中闪过第一念头就是导出pdf(产品经理没有硬性规定导出excel还是pdf文件),于是赶紧上网查看相关的资料,直到踩了无数的坑把功能做出来了才知道其实导出exce ...

  2. java生成pdf文件 --- Table

    Java利用itext实现导出PDF文件 所需要的jar包:com.lowagie.text_2.1.7.v201004222200.jar jar包下载地址:http://cn.jarfire.or ...

  3. JAVA导出pdf实例

    一.直接导出成PDF   Java代码 1. import java.io.FileNotFoundException; 2. import java.io.FileOutputStream; 3.  ...

  4. asp.net2.0导出pdf文件完美解决方案【转载】

    asp.net2.0导出pdf文件完美解决方案 作者:清清月儿 PDF简介:PDF(Portable Document Format)文件格式是Adobe公司开发的电子文件格式.这种文件格式与操作系统 ...

  5. java导出word文件

    java导出word文件 test5.ftl文件生存方法, 第一步:用word新建test5.doc,填写完整模板,将需导出数据用${}代替 第二步:将test5.doc另存为test5.xml 第三 ...

  6. java导出pdf功能记录

    这几天已在做处理导出pdf文件的功能,摸索了几天总算可以了.记录下这几天遇到的问题. 1.网上基本都是基于Itext5和Itext7来处理的.我最终是在Itext5上成功了,itext7应该是模板出问 ...

  7. 水晶报表导出pdf文件

    /// <summary> /// 导出pdf文件 /// </summary> /// <param name="mjsReport">报表文 ...

  8. .Net导出pdf文件,C#实现pdf导出

    最近碰见个需求需要实现导出pdf文件,上网查了下代码资料总结了以下代码.可以成功的实现导出pdf文件. 在编码前需要在网上下载个itextsharp.dll,此程序集是必备的.楼主下载的是5.0版本, ...

  9. Java学习-022-Properties 文件数据写入

    Properties 配置文件写入主要通过 Properties.setProperty 和 Properties.store 两个方法,此文以一个简单的 properties 文件写入源码做示例. ...

随机推荐

  1. hdu6315 /// 线段树区间更新

    题目大意: 给定n q 为序列的个数和操作的个数 给定n个数的序列b[]作为分母 初始全为0的序列a[]作为分子 两种操作 add l r 为a[]的l到r区间全部+1 query l r 为查询l到 ...

  2. 怎样在Cocos2d-x中使用Lua脚本

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u013321328/article/details/25699545 笔者使用的是Cocos2d-x ...

  3. 使用Kettle的命名参数动态执行作业

    关于如何根据传入的不同参数,达到动态运行作业的目的,这里不介绍.只提供一个思路,就是不同的调度进程调度同一个Kettle文件时,传入了不同的参数,从而得到不同的数据. 如下图所示: 1. 先设置参数名 ...

  4. 小白如何在Windows下使用Redis

    一.redis下载按装  Nuget 可以直接下载 redis 将下来的包拷贝到自已需要的目录如我放到桌面文件夹“近期需要\Redis应用\redis-64.3.0.503” 操作 cmd进入命令操作 ...

  5. [Err] 1701 - Cannot truncate a table referenced in a foreign key constraint

    1.SET FOREIGN_KEY_CHECKS=0; 2.DELETE FROM ACT_RE_DEPLOYMENT where 1=1; 或者 truncate table ACT_RE_DEPL ...

  6. 2019-9-11-.NET-Standard

    title author date CreateTime categories .NET Standard lindexi 2019-9-11 9:0:29 +0800 2019-9-11 9:0:2 ...

  7. vacuumdb - 收集垃圾并且分析一个PostgreSQL 数据库

    SYNOPSIS vacuumdb [ connection-option...] [ --full | -f ] [ --verbose | -v ] [ --analyze | -z ] [ -- ...

  8. WXML 数据绑定

  9. 几种数据类型的常用API

    数字 int() 字符串 #==========join===========在字符串前后插入字符 li = 'alexericrain' new_li = '_'.join(li) print(ne ...

  10. nextJS使用注意事项

    项目参考 nextJs-yicha 1. 采用方案 create-next-app.antd (1)安装 npx create-next-app --example with-ant-design m ...