Jasper模板CLoodop打印记录

发布时间 2023-09-18 21:39:00作者: 无名可起0_0

一、填充json文件数据源

1. 新建json文件,并将字段补充完整,示例如下:

{
	hosp_name:"医院",
	rows:[{
		name:"姓名",
		age:12,
	}]
}

2. 新建json数据源,如下:

image
image

3. 新建Jasper文件

image

4. 设置数据源,并导入数据源字段至Fields

image
image

5. 通过拖拽Paramter或Field至模板,进行模板设计

二、模板各个模块特点

Title(标题):只在整个报表的第一页的最上端显示。只在第一页显示,其他页面均不显示。
Page Header(页头):在整个报表中每一页都会显示。在第一页中,出现的位置在 Title Band的下面。在除了第一页的其他页面中Page Header 的内容均在页面的最上端显示。
Page Footer(页脚):在整个报表中每一页都会显示。显示在页面的最下端。一般用来显示页码。
Detail 1(详细):报表内容,每一页都会显示。
Column Header(列头):Detail中打印的是一张表的话,这Column Header就是表中列的列头。
Column Footer(列脚):Detail中打印的是一张表的话,这Column Footer就是表中列的列脚。
Summary(统计):表格的合计段,出现在整个报表的最后一页中,在Detail 1 Band后面。主要是用来做报表的合计显示。

三、数据换行问题

通过设置组件的 Streetch With Overflow 和 Stretch Type 可以让组件整行拉伸

image
image

四、不分页连续打印

通过设置japser文件属性 Ignore Pageination 设置不分页,打印时即可打印到一页中

image

五、模板纸张大小设置

Edit Page Format 可为japser文件设置纸张大小

image

六、模板字体问题

1. TIBCO jaspersoft设置字体

使用 TIBCO jaspersoft软件进行模板设计时,可以为各个组件设置显示的字体,通常大部分字体可以使用,如果有不能使用的字体,也可以通过下载字体文件,并为TIBCO jaspersoft进行设置,先选中项目,然后进行如下操作:

image

image

image

image

image

2. 后台工程设置字体

2.1、创建字体配置文件

在SpringBoot工程中的【src/main/resource】目录下,新建一个【jasperreports_extension.properties】配置文件,这个配置文件是JasperReport的扩展配置文件,在该文件中添加字体相关的配置信息。

#字体扩展注册工厂类
net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
# 自定义的默认字体文件
net.sf.jasperreports.extension.simple.font.families.default=fonts/fonts.xml

2.2、创建fonts.xml字体文件

在当前项目的工作空间下(可以在IDEA中指定工作目录路径),创建【fonts】目录,并且新建一个【fonts.xml】字体配置文件,在该文件中指定使用到的一些字体文件路径以及字体名称,如下所示:

<fontFamilies>
    <!--
        可以配置多个字体
        name 属性:指定字体名称,这里的字体名称在 JasperReport 模板文件中使用的要一致,才能够匹配上
    -->
    <fontFamily name="MSYaHei">
        <!-- 正常字体路径 -->
        <normal><![CDATA[fonts/MSYaHei/MSYaHei.ttf]]></normal>
        <!-- 加粗字体路径 -->
        <bold><![CDATA[fonts/MSYaHei/MSYaHei_bold.ttf]]></bold>
        <!-- 斜体字体路径 -->
        <italic><![CDATA[fonts/MSYaHei/MSYaHei.ttf]]></italic>
        <!-- 加粗斜体字体路径 -->
        <bolditalic><![CDATA[fonts/MSYaHei/MSYaHei.ttf]]></bolditalic>
        <pdfEmbedded><![CDATA[true]]></pdfEmbedded>
        <pdfEncoding>Identity-H</pdfEncoding>
        <exportFonts/>
    </fontFamily>
</fontFamilies>

在fonts目录下创建对应字体的保存目录,就拿上面的为案例,指定了一个微软雅黑的字体,并且路径是在【fonts/MSYaHei】目录下。那就把我们下载的微软雅黑字体文件,放入这个目录下面,如下图所示:

image

图中【working-dir】目录是我IDEA中指定的工作目录,可以自己指定:

image

字体文件可以百度几个字体下载网站,例如:https://www.cnziti.cn/。

七、Loodop打印高度自适应

LODOP.SET_PRINT_PAGESIZE(3,1385,45,"");//这里3表示纵向打印且纸高“按内容的高度”;1385表示纸宽138.5mm;45表示页底空白4.5mm