首页 > 编程语言 >Jasper模板CLoodop打印记录

Jasper模板CLoodop打印记录

时间:2023-09-18 21:46:19浏览次数:44  
标签:文件 打印 fonts 目录 字体 Jasper CLoodop 模板

一、填充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

标签:文件,打印,fonts,目录,字体,Jasper,CLoodop,模板
From: https://www.cnblogs.com/elapsed/p/17713017.html

相关文章

  • RestTemplate【Spring 提供的用于访问Rest 服务的模板类】
    RestTemplate基本介绍RestTemplate是Spring提供的用于访问Rest服务的模板类RestTemplate提供了多种便捷访问远程Http服务的方法老韩说明:小伙伴可以这样理解,通过RestTemplate,我们可以发出http请求(支持Restful风格),去调用Controller提供的API接口,就像我们使......
  • EasyCode自定义模板
    一、前言最近做了几个傻瓜式的CRUD模块,光调整EasyCode生成的代码格式就调整了半天,毫无意义,但又必不可少。于是,网上找了关于EasyCode自定义模板的文章,尝试自定义模板,从根本上解决代码格式调整的痛点。EasyCode是IDEA开发的一个代码生成插件,主要通过自定义模板(基......
  • 最近完成了一个用xsl作为模板的可配置主界面
    遇到了很多问题呀,以前学了点xsl,是这个名称空间:<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">可是.net不支持这个,只支持xslt,名称空间为:<xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">必须改成xslt,但是xslt和xsl不一......
  • 模板函数的函数参数为函数或函数对象的传参
    模板函数有模板参数和函数参数,重载调用操作符的类及函数指针作为模板参数,其函数参数及函数参数的传参,测试代码如下:#include<iostream>usingnamespacestd;//keystrings1("Hello");strings2("World");//重载了调用操作符的类其对象称为函数对象classcmp{pub......
  • 【模板】哈夫曼树
    postedon2021-08-0220:03:57|under学术|source网上对哈夫曼树的讲解太少了清一色指针整个OIer能看的吧虽然还是很恶心下面是哈夫曼树的模板,解决的是经典问题:压缩字符串#include<queue>#include<string>#include<iostream>usingnamespacestd;template<int......
  • 模板方法模式
    在接口中定义算法步骤,子类实现算法步骤。拉起容器时既可以通过docker,也可以通过containerd。packagemainimport"fmt"typecontainerHandlestruct{ ccontainerHandler}typecontainerHandlerinterface{ create()error start()error}func(hcontainerHandl......
  • 【设计模式】模板方法模式Template Method:实现同一模板框架下的扩展
    (目录)模板方法模式的原理和代码实现都比较简单,也被广泛应用,但是因为使用继承机制,副作用往往盖过了主要作用,所以在使用时尤其要小心谨慎。原理模板方法模式原始定义是:在操作中定义算法的框架,将一些步骤推迟到子类中。模板方法让子类在不改变算法结构的情况下重新定义算法的某......
  • 博客页面模板
    简单的博客页面模板,并将背景颜色设置为白色:<!DOCTYPEhtml><html><head><style>body{background-color:white;margin:20px;font-family:Arial,sans-serif;}h1{color:#333;}p{color:#555;......
  • Vue-模板语法
    一、模板语法 插值语法最后都渲染成了字符串html:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jque......
  • 深入剖析模板引擎:理解原理、应用场景和常见类型
    模板引擎是一种广泛应用于Web开发的工具,能够将动态数据与静态模板进行结合,生成最终的页面内容。本篇博客将详细介绍模板引擎的原理、常见应用场景以及多种类型的模板引擎。引言模板引擎是现代Web开发中不可或缺的一部分,它的作用是将静态的模板文件与动态的数据进行结合,生成最终呈......