项目中实际需求:

1、多个不定行的表格。

2、嵌入可变图片

3、PDF导出为中文。

基本知识

1.     下载地址:https://community.jaspersoft.com/community-download

目前最新的为:TIB_js-studiocomm_6.11.0_windows_x86_64.exe,

实际使用的是TIB_js-studiocomm_6.9.0_windows_x86_64.exe

2.     网上的关于Jasperreports+jaspersoft studio学习教程,写的不错。

a)     JasperReports简单示例

b)     使用Parameters属性传入Map数据源填充报表

c)     解决打印pdf中文不显示问题

d)     JDBC向导作为数据源填充数据

e)     JavaBean作为数据源填充数据

f)      分组显示数据

g)     Table组件的使用

h)     子报表Subreport(父子报表互相传值)

i)      报表分页和大量数据内存处理

j)      多数据源的Chart图表

k)     JasperReportUtils

l)     JasperReport中踩过的坑

3.     项目在springMvc中使用,需要的Jar如下:

1) itext-2.1.7.jar

2)  itext-rtf-2.1.7.jar

3)  iTextAsian.jar

4)  jasperreports-6.9.0.jar

5)  jasperreports-chart-customizers-6.9.0.jar

6)  jasperreports-chart-themes-6.9.0.jar

7)  jasperreports-fonts-6.9.0.jar

8)  jasperreports-functions-6.9.0.jar

9)  jasperreports-metadata-6.9.0.jar

10)commons-digester-2.1.jar

11)commons-beanutils-1.8.3.jar

4.     关于PDF解决中文字体的。这篇文章比较靠谱。实际使用好使。https://blog.csdn.net/DR_LF/article/details/78989470

项目实战

1、报表模板设计

1)多个不定行的表格。使用两个Table来实现。具体实现方式参考上面的链接【Table组件的使用

需要注意的是为了保证第二个Table的位置,在第一个Table的最后行下边。需要使用多个Detail区域的方式。

2)嵌入可变图片,就比较简单了。直接给图片的expression传递image的路径就可以了,可以是本地路径,可以是url。

3)PDF导出为中文。稍微复杂一些。

jasperreports-fonts-6.9.0.jar已经集成了一些字体,但是这些字体对中文支持不够。所以需要修改jasperreports-fonts-6.9.0.jar,在net\sf\jasperreports\fonts\fonts.xml中增加了【宋体】的支持,并把SimSun.ttf放在相应的位置。

   <fontFamily name="宋体"><normal>net/sf/jasperreports/fonts/dejavu/SimSun.ttf</normal><bold>net/sf/jasperreports/fonts/dejavu/SimSun.ttf</bold><italic>net/sf/jasperreports/fonts/dejavu/SimSun.ttf</italic><boldItalic>net/sf/jasperreports/fonts/dejavu/SimSun.ttf</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'宋体', Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'宋体', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily>

在设计报表模板时,字体统一选择宋体。

修改后的Jar下载地址:https://download.csdn.net/download/qgbihc/12190031

最终的模板内容如下:test.jrxml

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.9.0.final using JasperReports Library version 6.9.0-cb8f9004be492ccc537180b49c026951f4220bf3  -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="05_contract" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="95f030bc-71a0-4115-a89c-2900bc82939b"><property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/><style name="Table_TH" mode="Opaque" backcolor="#F0F8FF"><box><pen lineWidth="0.5" lineColor="#000000"/><topPen lineWidth="0.5" lineColor="#000000"/><leftPen lineWidth="0.5" lineColor="#000000"/><bottomPen lineWidth="0.5" lineColor="#000000"/><rightPen lineWidth="0.5" lineColor="#000000"/></box></style><style name="Table_CH" mode="Opaque" backcolor="#BFE1FF"><box><pen lineWidth="0.5" lineColor="#000000"/><topPen lineWidth="0.5" lineColor="#000000"/><leftPen lineWidth="0.5" lineColor="#000000"/><bottomPen lineWidth="0.5" lineColor="#000000"/><rightPen lineWidth="0.5" lineColor="#000000"/></box></style><style name="Table_TD" mode="Opaque" backcolor="#FFFFFF"><box><pen lineWidth="0.5" lineColor="#000000"/><topPen lineWidth="0.5" lineColor="#000000"/><leftPen lineWidth="0.5" lineColor="#000000"/><bottomPen lineWidth="0.5" lineColor="#000000"/><rightPen lineWidth="0.5" lineColor="#000000"/></box></style><style name="Table 1_TH" mode="Opaque" backcolor="#F0F8FF"><box><pen lineWidth="0.5" lineColor="#000000"/><topPen lineWidth="0.5" lineColor="#000000"/><leftPen lineWidth="0.5" lineColor="#000000"/><bottomPen lineWidth="0.5" lineColor="#000000"/><rightPen lineWidth="0.5" lineColor="#000000"/></box></style><style name="Table 1_CH" mode="Opaque" backcolor="#BFE1FF"><box><pen lineWidth="0.5" lineColor="#000000"/><topPen lineWidth="0.5" lineColor="#000000"/><leftPen lineWidth="0.5" lineColor="#000000"/><bottomPen lineWidth="0.5" lineColor="#000000"/><rightPen lineWidth="0.5" lineColor="#000000"/></box></style><style name="Table 1_TD" mode="Opaque" backcolor="#FFFFFF"><box><pen lineWidth="0.5" lineColor="#000000"/><topPen lineWidth="0.5" lineColor="#000000"/><leftPen lineWidth="0.5" lineColor="#000000"/><bottomPen lineWidth="0.5" lineColor="#000000"/><rightPen lineWidth="0.5" lineColor="#000000"/></box></style><subDataset name="Dataset1" uuid="f8c4dc72-2119-4bd6-bb2e-ce54bb0b0501"><property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/><queryString><![CDATA[]]></queryString><field name="field1" class="java.lang.String"/><field name="field2" class="java.lang.String"/><field name="field3" class="java.lang.String"/><field name="field4" class="java.lang.String"/><field name="field5" class="java.lang.String"/></subDataset><queryString><![CDATA[]]></queryString><field name="tableData" class="java.util.List"/><field name="makeUser" class="java.lang.String"/><field name="docNo" class="java.lang.String"/><field name="totalFee" class="java.lang.String"/><field name="tableData2" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/><field name="imageUrl" class="java.lang.String"/><background><band splitType="Stretch"/></background><title><band height="65" splitType="Stretch"><property name="com.jaspersoft.studio.unit.height" value="px"/><staticText><reportElement x="180" y="16" width="200" height="30" uuid="1846fb93-6cc1-4cc5-a806-0880d0d38d39"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体" size="18" isBold="true"/></textElement><text><![CDATA[测试JasperReport]]></text></staticText></band></title><detail><band height="130" splitType="Stretch"><property name="com.jaspersoft.studio.unit.height" value="px"/><staticText><reportElement x="0" y="0" width="100" height="30" uuid="7e47f290-78ea-422b-9c50-b6efcfced2f6"/><box><topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/></box><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体" isItalic="true" isUnderline="true"/></textElement><text><![CDATA[定作人:]]></text></staticText><textField><reportElement x="100" y="0" width="175" height="30" uuid="53f31274-11ce-4f79-85a1-d2c8c8bd0c29"><property name="com.jaspersoft.studio.unit.width" value="px"/></reportElement><box><topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/></box><textElement textAlignment="Left" verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{makeUser}]]></textFieldExpression></textField><staticText><reportElement x="275" y="0" width="100" height="30" uuid="93548d1e-6d89-4da1-b186-551a878cfd9d"><property name="com.jaspersoft.studio.unit.x" value="px"/></reportElement><box><topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/></box><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[文档编号:]]></text></staticText><textField><reportElement x="375" y="0" width="175" height="30" uuid="8e3dacec-7c6b-4418-9562-ea79f7400ca5"><property name="com.jaspersoft.studio.unit.width" value="px"/></reportElement><box><topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/><rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/></box><textElement textAlignment="Left" verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{docNo}]]></textFieldExpression></textField><componentElement><reportElement stretchType="ContainerHeight" x="0" y="40" width="555" height="90" uuid="e7645099-9ad8-4ede-8e56-6c6177175dcc"><property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/><property name="com.jaspersoft.studio.table.style.table_header" value="Table_TH"/><property name="com.jaspersoft.studio.table.style.column_header" value="Table_CH"/><property name="com.jaspersoft.studio.table.style.detail" value="Table_TD"/></reportElement><jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" whenNoDataType="AllSectionsNoDetail"><datasetRun subDataset="Dataset1" uuid="c12aac31-9653-403b-b6fa-9de2956e72ac"><dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{tableData})]]></dataSourceExpression></datasetRun><jr:column width="189" uuid="961a370c-1c60-4163-9c1e-14bcade3fcfc"><property name="com.jaspersoft.studio.components.table.model.column.name" value="Column1"/><jr:columnHeader style="Table_CH" height="60" rowSpan="2"><staticText><reportElement x="0" y="0" width="189" height="60" uuid="42320b63-e9f5-4c4d-a5a8-518a7c4d8e07"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[项目名]]></text></staticText></jr:columnHeader><jr:detailCell style="Table_TD" height="30"><textField><reportElement x="0" y="0" width="189" height="30" uuid="1c414760-9968-4532-af1b-c375edbe026f"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{field1}]]></textFieldExpression></textField></jr:detailCell></jr:column><jr:column width="126" uuid="34859f15-8749-4752-968a-5a4d963395d8"><property name="com.jaspersoft.studio.components.table.model.column.name" value="Column2"/><jr:columnHeader style="Table_CH" height="60" rowSpan="2"><staticText><reportElement x="0" y="0" width="126" height="60" uuid="7acf1a02-e345-4a4c-8efe-548c83d5aa63"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[计量单位*]]></text></staticText></jr:columnHeader><jr:detailCell style="Table_TD" height="30"><textField><reportElement x="0" y="0" width="126" height="30" uuid="a7599607-0175-4fab-b001-c791aaed36c9"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{field2}]]></textFieldExpression></textField></jr:detailCell></jr:column><jr:column width="94" uuid="1acf7fb4-5f5c-4be5-9280-0e2f5168d3b1"><property name="com.jaspersoft.studio.components.table.model.column.name" value="Column3"/><jr:columnHeader style="Table_CH" height="60" rowSpan="2"><staticText><reportElement x="0" y="0" width="94" height="60" uuid="8193ada3-65fc-4b87-bc83-053e43825db5"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[数量或任务量]]></text></staticText></jr:columnHeader><jr:detailCell style="Table_TD" height="30"><textField><reportElement x="0" y="0" width="94" height="30" uuid="b41577f2-7478-4029-91db-36e15a3c7623"/><textElement textAlignment="Right" verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{field3}]]></textFieldExpression></textField></jr:detailCell></jr:column><jr:columnGroup width="146" uuid="fdf3d400-8fe4-40bc-9e36-3c2fcd7a18f8"><property name="com.jaspersoft.studio.components.table.model.column.name" value="Columns [2]"/><jr:columnHeader style="Table_CH" height="30" rowSpan="1"><staticText><reportElement x="0" y="0" width="146" height="30" uuid="77a8469f-94a6-4fa7-ae06-ad32f5dde1fb"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[价款或酬金]]></text></staticText></jr:columnHeader><jr:column width="73" uuid="a3c03042-b6ba-4d24-b145-c4fb3cdaf5f4"><property name="com.jaspersoft.studio.components.table.model.column.name" value="Column4"/><jr:columnHeader style="Table_CH" height="30" rowSpan="1"><staticText><reportElement x="0" y="0" width="73" height="30" uuid="b8aa3420-60fc-4943-a5d5-4c889a6bca2c"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[单价]]></text></staticText></jr:columnHeader><jr:detailCell style="Table_TD" height="30"><textField><reportElement x="0" y="0" width="73" height="30" uuid="12029967-c6af-4f16-aca5-c64c072e8184"/><textElement textAlignment="Right" verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{field4}]]></textFieldExpression></textField></jr:detailCell></jr:column><jr:column width="73" uuid="54c1c748-f2c5-4747-ab92-38a282d76603"><property name="com.jaspersoft.studio.components.table.model.column.name" value="Column5"/><jr:columnHeader style="Table_CH" height="30" rowSpan="1"><staticText><reportElement x="0" y="0" width="73" height="30" uuid="afa17a51-eb97-4b55-9bda-9adf75b907a9"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[总金额]]></text></staticText></jr:columnHeader><jr:detailCell style="Table_TD" height="30"><textField><reportElement x="0" y="0" width="73" height="30" uuid="021a7ec7-ed4a-48be-841b-e3d5e6422db2"/><textElement textAlignment="Right" verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{field5}]]></textFieldExpression></textField></jr:detailCell></jr:column></jr:columnGroup></jr:table></componentElement></band><band height="270"><componentElement><reportElement x="0" y="32" width="555" height="60" uuid="68b08e3a-fe5f-4069-a510-9511ab08120b"><property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/><property name="com.jaspersoft.studio.table.style.table_header" value="Table 1_TH"/><property name="com.jaspersoft.studio.table.style.column_header" value="Table 1_CH"/><property name="com.jaspersoft.studio.table.style.detail" value="Table 1_TD"/><property name="com.jaspersoft.studio.unit.width" value="px"/><property name="com.jaspersoft.studio.components.autoresize.proportional" value="true"/><property name="com.jaspersoft.studio.unit.x" value="px"/></reportElement><jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" whenNoDataType="AllSectionsNoDetail"><datasetRun subDataset="Dataset1" uuid="260fc936-1136-41bc-89da-d1bab0649a00"><dataSourceExpression><![CDATA[$F{tableData2}]]></dataSourceExpression></datasetRun><jr:column width="111" uuid="f38c5305-dbfc-4971-b9c0-66f462238cda"><jr:columnHeader style="Table 1_CH" height="30"><staticText><reportElement x="0" y="0" width="111" height="30" uuid="31842e37-86ae-4e48-b1d5-6ad42e256668"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[材料名称]]></text></staticText></jr:columnHeader><jr:detailCell style="Table 1_TD" height="30"><textField><reportElement x="0" y="0" width="111" height="30" uuid="d7f388c4-d759-47d4-8892-49660e0ddf19"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{field1}]]></textFieldExpression></textField></jr:detailCell></jr:column><jr:column width="111" uuid="033d0210-0f64-44b9-a649-e37469848229"><jr:columnHeader style="Table 1_CH" height="30"><staticText><reportElement x="0" y="0" width="111" height="30" uuid="a5964748-a743-4841-b944-5c8835bfa13d"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[商标]]></text></staticText></jr:columnHeader><jr:detailCell style="Table 1_TD" height="30"><textField><reportElement x="0" y="0" width="111" height="30" uuid="3fc760d3-158c-4c10-9f1c-ced7139ea541"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{field2}]]></textFieldExpression></textField></jr:detailCell></jr:column><jr:column width="111" uuid="50b10ddf-1739-4072-bafc-c24b1e54895f"><jr:columnHeader style="Table 1_CH" height="30"><staticText><reportElement x="0" y="0" width="111" height="30" uuid="b0a1e517-3d17-4eeb-9f95-f797dfc67b85"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[生产厂家]]></text></staticText></jr:columnHeader><jr:detailCell style="Table 1_TD" height="30"><textField><reportElement x="0" y="0" width="111" height="30" uuid="6e9bca9e-0883-4f2b-b05c-62291ad127cb"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{field3}]]></textFieldExpression></textField></jr:detailCell></jr:column><jr:column width="111" uuid="fd4c786d-5d63-4c98-aada-c63a0447c0bd"><jr:columnHeader style="Table 1_CH" height="30"><staticText><reportElement x="0" y="0" width="111" height="30" uuid="34054435-c587-4ca1-b730-f8f956420fd7"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[规格型号]]></text></staticText></jr:columnHeader><jr:detailCell style="Table 1_TD" height="30"><textField><reportElement x="0" y="0" width="111" height="30" uuid="1251001d-0ad4-4f18-abec-aa0c0d1908c3"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{field4}]]></textFieldExpression></textField></jr:detailCell></jr:column><jr:column width="111" uuid="4b895ac4-53a3-4d01-83b7-089f0c5194f7"><jr:columnHeader style="Table 1_CH" height="30"><staticText><reportElement x="0" y="0" width="111" height="30" uuid="f6915d74-fdec-4175-9a35-a6870899ebd4"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[计量单位]]></text></staticText></jr:columnHeader><jr:detailCell style="Table 1_TD" height="30"><textField><reportElement x="0" y="0" width="111" height="30" uuid="759e2918-98a5-46a4-b6d3-66eb5a27621a"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{field5}]]></textFieldExpression></textField></jr:detailCell></jr:column></jr:table></componentElement><textField evaluationTime="Band"><reportElement x="0" y="-1" width="555" height="30" uuid="165b5438-e528-44ff-8978-0b7c6593444e"><property name="com.jaspersoft.studio.unit.width" value="px"/><property name="com.jaspersoft.studio.unit.y" value="px"/></reportElement><box><leftPen lineWidth="0.5"/><bottomPen lineWidth="0.5"/><rightPen lineWidth="0.5"/></box><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA["合计人民币金额 (大写):"+$F{totalFee}]]></textFieldExpression></textField><image><reportElement positionType="FixRelativeToBottom" x="420" y="120" width="130" height="130" uuid="3abecb68-6168-4280-ad4f-a5ac7fa48fe0"><property name="com.jaspersoft.studio.unit.width" value="px"/></reportElement><imageExpression><![CDATA[$F{imageUrl}]]></imageExpression></image></band></detail><lastPageFooter><band height="21"/></lastPageFooter>
</jasperReport>

2、Java的调用

直接使用java的main方法测试,代码如下:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;import net.sf.jasperreports.engine.JRStyle;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.base.JRBaseStyle;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.export.ExporterInput;
import net.sf.jasperreports.export.OutputStreamExporterOutput;
import net.sf.jasperreports.export.SimpleExporterInput;
import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput;
import net.sf.jasperreports.view.JasperViewer;public class RptTest {public static void main(String[] args) {JasperDesign design;try {design = JRXmlLoader.load("C:\\template\\test.jrxml");HashMap<String, Object> paramsMap = new HashMap<String, Object>();// 加载模板JasperReport report = JasperCompileManager.compileReport(design);List<RptData> detailList = new ArrayList<RptData>();RptData mainData = new RptData();mainData.setMakeUser("admin");mainData.setDocNo("2019文字-00001");mainData.setTotalFee("伍佰圆整");mainData.setImageUrl("C:\\images\\coffee.jpg");detailList.add(mainData);List<Fields> list1 = new ArrayList<Fields>();for (int i = 1; i <= 5; i++) {Fields data = new Fields();data.setField1("项目" + i);data.setField2("台");data.setField3("" + i);data.setField4("100.00");data.setField5(String.valueOf(i * 100));list1.add(data);}mainData.setTableData(list1);List<Fields> list2 = new ArrayList<Fields>();for (int i = 1; i <= 5; i++) {Fields data = new Fields();data.setField1("材料" + i);data.setField2("商标" + i);data.setField3("生产厂家" + i);data.setField4("规格型号");data.setField5("个");list2.add(data);}mainData.setTableData2(new JRBeanCollectionDataSource(list2));JRBeanCollectionDataSource jbds = new JRBeanCollectionDataSource(detailList);// 填充数据JasperPrint print = JasperFillManager.fillReport(report, paramsMap, jbds);//             // 预览显示
//          JasperViewer.viewReport(print);JRPdfExporter exporter = new JRPdfExporter(); // 指定要导出的jrprit数据// 指定导出文件的文件名ExporterInput exporterInput = new SimpleExporterInput(print);exporter.setExporterInput(exporterInput);// 指定导出文件的文件名OutputStreamExporterOutput exporterOutput = new SimpleOutputStreamExporterOutput("C:\\pdf\\test.pdf");exporter.setExporterOutput(exporterOutput);// 实现报表的导出exporter.exportReport();} catch (Exception e) {e.printStackTrace();}}}

3、运行效果如下:

jasperReport - 多Table的PDF中文导出相关推荐

  1. 解决bootstrap table的export扩展模块利用tableExport导出pdf中文乱码问题

    缘由:没有积分了,怎么破?自己研究. 参考文章: https://blog.csdn.net/qq_34117170/article/details/72765646 https://www.cnbl ...

  2. php生成pdf中文断码_Rmarkdown导出中文PDF解决方案

    Rmarkdown非常适合R语言使用者导出格式漂亮的文档,但是输出中文PDF的过程中会遇到各种麻烦的问题,本文整理了我的经验供大家参考. 总的来说,通过Rmarkdown输出中文版pdf报告,要解决以 ...

  3. 解决pads logic导出pdf中文乱码问题

    最近在做<晶体管电路设计-上>配套PCB实验板(用于调试实验,更深入学习模电知识)想导出PDF,选择File->Create Pdf,导出的pdf中文是乱码,即使我把字符设置成宋体等 ...

  4. Html 中表格导出生成excel文件,解决中文导出失败问题。

    Html 中表格导出生成excel文件,解决中文导出失败问题. 网上有Github的jquery插件,但是表格中含有中文的时候,会导出失败,jquery.base64出现INVALID_CHARACT ...

  5. java导出PDF、iText5导出漂亮表格PDF、导出指定格式水印PDF

    我们在项目当中经常要导出pdf文档,pdf文档还要按一定的格式导出,以下介绍导出pdf文档功能: 1)支持A4纸大小导出 2)指定文字显示的位置 3)支持表格展示数据 4)添加水印 开源下载 java ...

  6. java pdf 中文_java-pdf-itext 生成pdf 文档(支持中文字体)

    java-pdf-itext 生成pdf 文档(支持中文字体) itext 版本:2.1.7 package com.demo.preview; import java.io.ByteArrayOut ...

  7. fastreport 转PDF 中文 乱码 ARIAL

    fastreport 转PDF中文乱码,百度绝大部分方法是:把字体设为宋体,设为中文字体等 这的确可以解决,但是为了解决这个问题,牺牲字体,牺牲美观,宋体实在是太丑了, 这个问题困扰了很久,今天终于找 ...

  8. Java如何实现Pdf的导出?

    Java如何实现Pdf的导出? 在某些场景中,我们需要从数据库或其他来源获取的数据信息,动态的导出Pdf文件,如准考证的打印等.这时我们需要借助第三方依赖包-itextpdf 来实现此需求. 一.制作 ...

  9. 导出文件_一招解决PDF文件导出图片

    将PDF文件保存为高清图片是经常需要进行的保存方式之一,因为PDF文件虽然安全性高,但是相比较图片而言,还是不易进行查看的,那么如何将PDF文件导出图片呢?以前也了解过很多方法,不过最好的当然不是截图 ...

  10. asp.net将内容导出到Excel,Table表格数据(html)导出EXCEL

    代码: 1 /// <summary> 2 /// HTML Table表格数据(html)导出EXCEL 3 /// </summary> 4 /// <param n ...

最新文章

  1. komodo edit linux,Komodo Edit是什么
  2. CG CTF MISC Remove Boyfriend
  3. egg风格 什么意思_小小的“egg”,有你想象不到的秘密……
  4. SQL中的long text
  5. Cypress 等待某个 HTTP put 请求得到 200 状态码后,再执行下一步的操作代码
  6. python调用电脑蓝牙_python-从蓝牙设备获取响应
  7. 消息队列的其他实现方式
  8. terminateActivity
  9. os.path的使用
  10. 移动开发 Jetpack Compose 组件布局
  11. 班级量化考核系统php代码,学生信息量化考核管理系统
  12. 笨方法学习python
  13. st7789屏幕使用方法
  14. shell日志分析脚本
  15. OPenCV4-颜色识别(二)三原色识别
  16. Android--热修复,补丁实战
  17. Magento银联支付模块|Magento1.9 Unionpay中国银联支付插件|支持PC、手机移动端支付|2016最新Unionpay5.0.0支付接口...
  18. java 生成纯色图片_java实现切图并且判断图片是不是纯色/彩色图片
  19. Hadoop-2.5.2集群安装配置详解
  20. 【域名检测】使用CNN实现DGA恶意域名检测(TensorFlow)【代码】

热门文章

  1. 高效管理 Android 前台服务
  2. 还花几个小时整理线缆你就OUT了,VR自由漫步来了
  3. CentOS安装自动补全安装包
  4. 对js原型简单的理解和图解
  5. Axis1.x WebService开发指南—目录索引
  6. VC++动态链接库(DLL)编程(六)――DLL***
  7. 3.微服务设计 --- 如何建模服务
  8. 8.高性能MySQL --- 优化服务器设置
  9. 42.验证和授权(2)
  10. 4. Layout overview