PDF-Jaspersoft

PDF-Jaspersoft创建项目包

包创建




PDF-Jaspersoft创建模板

模板创建

模板介绍1

模板介绍2

模板介绍3

模板4

构建

  • 构建完的模板需要放到项目中



PDF-使用中文注意事项

      jasper在使用中文时,需要选择对应的字体,并在java的项目中做对应的配置;使用的文字是根据[ 系统盘:windows/fount目录下的字体,并且是ttf格式的字体 ]

  • 项目的resources目录下

    • fonts.xml [配置文件]

      <?xml version="1.0" encoding="UTF-8"?>
      
      <fontFamilies>
          <fontFamily name="华文宋体">
              <normal>stsong/stsong.TTF</normal>
              <bold>stsong/stsong.TTF</bold>
              <italic>stsong/stsong.TTF</italic>
              <boldItalic>stsong/stsong.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>
      </fontFamilies>
      
    • 使用的字体 [模板要用到的字体,可以在网上下载或从字体文件拷贝到项目中]

    • jasper配置文件

      jasperreports_extension.properties

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



Java整合Jasper

  • 需要的jar包
<dependency>
	<groupId>net.sf.jasperreports</groupId>
	<artifactId>jasperreports</artifactId>
	<version>6.5.0</version>
</dependency>
<dependency>
	<groupId>org.olap4j</groupId>
	<artifactId>olap4j</artifactId>
	<version>1.2.0</version>
</dependency>
<dependency>
	<groupId>com.lowagie</groupId>
	<artifactId>itext</artifactId>
	<version>2.1.7</version>
</dependency>
  • 核心代码
 public void exportPdf() throws Exception {
        //1.读取.jasper模板文件
        InputStream inputStream = session.getServletContext().getResourceAsStream("/jasper/test04_javabean.jasper");

        //2.填充数据
        List<User> list = new ArrayList<>();
     	Map map = new HashMap();
        JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(list);
        JasperPrint print = JasperFillManager.fillReport(inputStream , map , dataSource);

        //3.导出PDF
        /**
         * 参数一:JasperPrint对象
         * 参数二:输出流(硬盘或浏览器)
         */
        JasperExportManager.exportReportToPdfStream(print,response.getOutputStream());
    }
posted on 2021-05-05 23:12  JavaCat7  阅读(171)  评论(0)    收藏  举报