JasperReport

it2024-01-18  66

文章目录

编译模板导入字体jasperreports_extension.propertiesfonts.xml 生成导入模板文件传入参数写出文件

编译模板

导入字体

jasperreports_extension.properties

net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory #xml位置 net.sf.jasperreports.extension.simple.font.families.lobstertwo=fonts/fonts.xml

fonts.xml

<?xml version="1.0" encoding="UTF-8"?> <fontFamilies> <fontFamily name="jrxml里面的字体"> <!--字体文件位置,windows在C:\Windows\Fonts--> <normal>fonts/fonts.TTF</normal> <bold>fonts/fonts.TTF</bold> <italic>fonts/fonts.TTF</italic> <boldItalic>fonts/fonts.TTF</boldItalic> <pdfEncoding>Identity-H</pdfEncoding> <pdfEmbedded>true</pdfEmbedded> </fontFamily> </fontFamilies>

生成

导入模板文件

InputStream inputStream = test.class.getResourceAsStream("Blank_A4.jasper");

传入参数

//使用map传入参数,不使用数据源传入new JREmptyDataSource() Map<String, Object> map = new HashMap<>(); map.put("key","value"); //使用JRBeanCollectionDataSource List<Object> list = new ArrayList<>(); JRBeanCollectionDataSource jrBeanCollectionDataSource = new JRBeanCollectionDataSource(list); //传入和模板中设置一致的数据源可以自动查询数据 JasperPrint jasperPrint = JasperFillManager.fillReport(inputStream, map, dataSource.getConnection());

写出文件

File file = new File("file.pdf"); FileOutputStream fileOutputStream = new FileOutputStream(file); JasperExportManager.exportReportToPdfStream(jasperPrint,fileOutputStream);
最新回复(0)