iReport 使用手册(生成 PDF 表单)

前言

  本文主要用来记录怎么使用 ireport 和使用 ireport 过程中遇到的常见问题

要准备的 Jar 包

  • iTextAsian.jar – 字体包
  • jasperreports-5.6.0 – 调用 ireport

新建 iReport 文件

  简单说一下 ireport 怎么创建文件,后边我会把工具上传,前面主要还是熟悉一下大致的流程,首先是创建文件,这里我们就拿报表来作为示例。
  点击菜单栏 -- 文件 > new 会弹出来一个弹窗页面,如果常规的话我们选择第一个就可以了,但是我们如果是用来做报表之类的话就选择第二个,如下

在这里插入图片描述
  输入文件名称,然后选择存放路径,点击下一步,最后点击完成
在这里插入图片描述
  这个是创建完成的主界面,主界面分为三块区域,左边是文件的目录啥啥的,中间是用来绘制表单的,右边是一些用来绘制的组件,主要说一下中间的这块区域

Title:标题,例如 xxxx 文档
Page Header :页头,主要存放一些创建时间之类的
Column Header:数据列头部:主要用来放一些报表的列名(id,名称,年龄)
Detial:数据列,主要用来遍历的数据
Column Footer:数据列尾部,可以用来放一些说明啥的(我没用到)
Page Footer:页脚作用同上
Summary:看名字也知道是干啥的,主要是用来放合计,这个只在最后一页显示

在这里插入图片描述

绘制表单

  绘制表格主要用到组件,一个是边框,一个是静态文本,静态文本是不可以赋值的,一个是动态可赋值文本,绘制完成后可点击预览按钮查看绘制情况,当然我们下方都是使用的静态文本绘制
在这里插入图片描述

创建数据源

  点击这个小东西,然后选择 New ,默认选中第一个,Database JDBC connection ,点击 Next ,选择数据源类型,输入数据源连接,然后就是账号,密码,可以点击 Test 测试,测试通过后点击 Save 保存数据源
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

写入SQL(无查询条件版本)

  如下图,这个地方可以选择很多种类型,例如 SQL ,JSON 啥啥的,自己可以多探究一下,在这就不多说了
在这里插入图片描述

写入SQL(有查询条件版本)

  左侧第二列,选中点击右键,然后点击第一个,新建完成后,找到新建的这个字段右键重命名,命名成你要传过来的条件字段,打开编辑 SQL 的界面,然后把你刚刚定义的字段拖拽过去就 ok 了
在这里插入图片描述
在这里插入图片描述

执行预览

  最后附上一张预览图
在这里插入图片描述

Java 调用 iReport 生成 PDF 文件

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperRunManager;

import java.io.File;
import java.sql.Connection;
import java.sql.Driver;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

/**
 * @ClassName:iReportTest
 * @Description:TODO 测试 iReport 生成 PDF 
 * @Author LinLuoChen
 * @Date 2020/4/17/13:56
 * @Version V1.0
 **/
public class iReportTest {

    public static void main(String[] args) {
        try {
            Connection connection = getConnection();
            // 获取文件路径
            String url = "F:\\ireport\\xxxx.jasper";
            // 目标文件生成路径
            String target = "F:\\ireport\\xxxx.pdf";
            File file = new File(url);
            Map<String,Object> parameters = new HashMap<String,Object>();
            parameters.put("id", "xxxxxxx");
            // 执行 ireport 方法
            File f = new File(target);
            File pf = f.getParentFile();
            if(!pf.exists()){
                pf.mkdirs();
            }
            JasperRunManager.runReportToPdfFile(file.getPath(), target, parameters,connection);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    // 构建测试数据源
    public static Connection getConnection() throws Exception{
        String driverName = "xxxxx";  // 数据源类型
        String url = ""; // 数据源连接
        String user = ""; // 数据库账号
        String pass = ""; // 数据库密码
        Driver driver = (Driver) Class.forName(driverName).newInstance();
        Properties info = new Properties();
        info.put("user",user); // 获取账号密码
        info.put("password",pass); // 获取账号密码
        Connection conn = driver.connect(url,info);
        return conn;
    }

}

常见问题

  详细请查看:iReport 常见错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平凡的人类

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值