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;
    }
时间: 2024-09-29 04:27:47

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

java生成pdf文件 --- Table

Java利用itext实现导出PDF文件 所需要的jar包:com.lowagie.text_2.1.7.v201004222200.jar jar包下载地址:http://cn.jarfire.org/com.lowagie.html 一.主要步骤 1.新建document对象 第一个参数是页面大小.接下来的参数分别是左.右.上和下页边距. Document document =new Document(PageSize.A4,50,50,30,20); 2.建立一个书写器(Writer)与d

利用iText导出pdf文件

一.导出pdf工具类:  package pdf; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import j

java导出pdf文档

java导出pdf文档,多是iText实现的,可以创建pdf文档,并向文档写入内容. 1 导入包:itext-2.0.6.jar       itext必须使用的包. iTextAsian.jar      向pdf写入中文必须的包. 2 代码: package com.exp.pdf; import java.awt.Color; import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowa

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

Properties 配置文件写入主要通过 Properties.setProperty 和 Properties.store 两个方法,此文以一个简单的 properties 文件写入源码做示例. 小二上码...若有不足之处,敬请大神指正,不胜感激! Properties 文件写入源码如下所示: 1 /** 2 * @function write data to text file by Properties 3 * 4 * @author Aaron.ffp 5 * @version V1.

纯前端导出pdf文件

纯前端js导出pdf,已经用于生产环境. 工具: 1.html2canvas,一种让html转换为图片的工具. 2.pdfmake或者jspdf ,一种生成.编辑pdf,并且导出pdf的工具. pdfmake:http://pdfmake.org 优点: 能够支持中文,具有部分自适应布局功能,需要vfs_fonts.js字体文件. 缺点:支持中文的vfs_fonts.js文件一般较大. 如果图片过大,不会自动分页. 生成vfs_fonts.js文件的方法如图,npm install pdfmak

Mac下使用JupyterNotebook导出pdf文件

通过Latex输出中文PDF 安装latex可以选择完整安装,和安装latex-base版本.完整安装仅安装包就有约2.7G,latex-base是一个基础包,安装包100M左右,安装需要400M不到的空间.我们目前仅需要通过latex输出PDF文档,所以不需要安装完整安装.使用latex-base就可以了.但是latex-base安装后,不能直接使用,还需要一些额外操作才能正常支持中文格式. Latex在 Mac OS中 叫MacTex. 安装BasicTex 从官网下载BaisicTex安装

java 导出pdf

package hb.controller; import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import jav

ReportViewer 不预览,直接导出 PDF文件

作为笔记记着,以免以后再到处找资料 1. 在不预览的情况下导出文件 先看一个方法说明,想知道ReportViewer支持导出哪些文件类型,在Render方法说明中就有描述 // // Summary: // Processes the report and renders it in the specified format using a stream // provided by a callback function. // // Parameters: // format: // The

JAVA生成PDF文件

生成PDF文件是主要应用的是ITEXT插件 1 import java.awt.Color; 2 import java.io.File; 3 import java.io.FileOutputStream; 4 import java.io.IOException; 5 import java.util.ArrayList; 6 import java.util.List; 7 8 import com.lowagie.text.Cell; 9 import com.lowagie.text.