Java导出pdf文件数据
提示:导出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文件数据的更多相关文章
- 史上最全的springboot导出pdf文件
最近项目有一个导出报表文件的需求,我脑中闪过第一念头就是导出pdf(产品经理没有硬性规定导出excel还是pdf文件),于是赶紧上网查看相关的资料,直到踩了无数的坑把功能做出来了才知道其实导出exce ...
- java生成pdf文件 --- Table
Java利用itext实现导出PDF文件 所需要的jar包:com.lowagie.text_2.1.7.v201004222200.jar jar包下载地址:http://cn.jarfire.or ...
- JAVA导出pdf实例
一.直接导出成PDF Java代码 1. import java.io.FileNotFoundException; 2. import java.io.FileOutputStream; 3. ...
- asp.net2.0导出pdf文件完美解决方案【转载】
asp.net2.0导出pdf文件完美解决方案 作者:清清月儿 PDF简介:PDF(Portable Document Format)文件格式是Adobe公司开发的电子文件格式.这种文件格式与操作系统 ...
- java导出word文件
java导出word文件 test5.ftl文件生存方法, 第一步:用word新建test5.doc,填写完整模板,将需导出数据用${}代替 第二步:将test5.doc另存为test5.xml 第三 ...
- java导出pdf功能记录
这几天已在做处理导出pdf文件的功能,摸索了几天总算可以了.记录下这几天遇到的问题. 1.网上基本都是基于Itext5和Itext7来处理的.我最终是在Itext5上成功了,itext7应该是模板出问 ...
- 水晶报表导出pdf文件
/// <summary> /// 导出pdf文件 /// </summary> /// <param name="mjsReport">报表文 ...
- .Net导出pdf文件,C#实现pdf导出
最近碰见个需求需要实现导出pdf文件,上网查了下代码资料总结了以下代码.可以成功的实现导出pdf文件. 在编码前需要在网上下载个itextsharp.dll,此程序集是必备的.楼主下载的是5.0版本, ...
- Java学习-022-Properties 文件数据写入
Properties 配置文件写入主要通过 Properties.setProperty 和 Properties.store 两个方法,此文以一个简单的 properties 文件写入源码做示例. ...
随机推荐
- USACO2012 overplanting /// 矩阵切割 递归 oj21547
题目大意: 在农场的任何一个“轴向对齐”的长方形区域(即垂直和水平方向)种植草坪. 现种植了N(1≤ N ≤10)个不同的矩形区域,其中一些甚至可能重叠. Input Multiple test ca ...
- C语言指针和字符串
#include <stdio.h> int main() { /********************************************* * 内存: * 1.常量区 * ...
- 小白如何在Windows下使用Redis
一.redis下载按装 Nuget 可以直接下载 redis 将下来的包拷贝到自已需要的目录如我放到桌面文件夹“近期需要\Redis应用\redis-64.3.0.503” 操作 cmd进入命令操作 ...
- PC端写的API接口和手机端APP联合调试
一.遇到问题的情况:项目框架:asp.net MVC5 ,写的给手机端调用的API接口. 二.自己在本地 IIS上部署项目,在手机端的请求服务器上把地址和端口换上本地部署的,如图所示 三.用管理员的身 ...
- wkhtmltopdf linux下html转pdf
https://blog.csdn.net/wujunlei1595848/article/details/91129197 https://github.com/wkhtmltopdf/wkhtml ...
- boost asio tcp 多线程
common/pools.h // common/pools.h #pragma once #include <string> #include <boost/pool/pool.h ...
- openwrt redis
2071 make V=s 2072 cd build_dir/target-x86_64_uClibc-0.9.33.2/root-x86/ cd package/network/services/ ...
- 自行制作yum源仓库
背景 客户服务器为内网机器,centos7系统,且无法与外网连接.需要部署对应的LANMP环境及其它软件 解决思路 1.在阿里云服务器,利用阿里云的yum源仓库,下载对应软件及关联软件. 2.在客户机 ...
- leetcood学习笔记-66-加一
题目描述: 第一次提交: class Solution: def plusOne(self, digits): digits[-1]=digits[-1]+1 for i in range(len(d ...
- 1 visual studio code 配置C++开发环境 (windows 开发环境)
0 引言 最近帮GF(不幸变成ex了)配置C++开发环境,一开始想给她装个visual studio13完事,但是一想到自己安装以及使用时的诸多麻烦,就有点退却,觉得没有这个必要.正好了解到vscod ...