Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/dwr/table/JasperreportsTableManager.java =================================================================== diff -u -r35511 -r35550 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/dwr/table/JasperreportsTableManager.java (.../JasperreportsTableManager.java) (revision 35511) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/dwr/table/JasperreportsTableManager.java (.../JasperreportsTableManager.java) (revision 35550) @@ -1,5 +1,6 @@ package com.forgon.disinfectsystem.jasperreports.dwr.table; +import java.io.ByteArrayOutputStream; import java.util.ArrayList; import java.util.List; @@ -28,7 +29,6 @@ import com.forgon.systemsetting.model.HttpOption; import com.forgon.systemsetting.service.HttpOptionManager; import com.forgon.tools.string.StringTools; -import com.forgon.tools.util.FileUtils; /** * @author WangYi @@ -79,22 +79,22 @@ String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort() + request.getContextPath(); JasperPrint jasperPrint = (JasperPrint)session.getAttribute("JasperPrint"); HtmlExporter exporter = new HtmlExporter(); + ByteArrayOutputStream htmlStream = new ByteArrayOutputStream(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); SimpleHtmlReportConfiguration reportExportConfiguration = new SimpleHtmlReportConfiguration(); reportExportConfiguration.setWhitePageBackground(Boolean.TRUE); reportExportConfiguration.setRemoveEmptySpaceBetweenRows(Boolean.TRUE); reportExportConfiguration.setIgnorePageMargins(Boolean.TRUE); exporter.setConfiguration(reportExportConfiguration); - String path = request.getContextPath()+"test.html"; - exporter.setExporterOutput(new SimpleHtmlExporterOutput(path)); + exporter.setExporterOutput(new SimpleHtmlExporterOutput(htmlStream)); int pageSize = jasperPrint.getPages().size(); List pageCodeArray = new ArrayList(); if (printAll) { //打印全部 for (int i = 0; i < pageSize; i++) {//遍历打印页 reportExportConfiguration.setPageIndex(i); try { exporter.exportReport(); - String printContent = FileUtils.readAllContentAsStringBuffer(path, "UTF-8").toString(); + String printContent = htmlStream.toString(); if(i == (pageSize-1)){//处理最后一页table无底线(因为表格数据不够,用图片代替时,图片将table的底线遮住了,现将图片去掉) String regex = "\"\""; printContent = StringTools.replaceLast(printContent, regex, ""); @@ -108,7 +108,7 @@ try { reportExportConfiguration.setPageIndex(pageIndex); exporter.exportReport(); - String printContent = FileUtils.readAllContentAsStringBuffer(path, "UTF-8").toString(); + String printContent = htmlStream.toString(); if(pageIndex == (pageSize-1)){ //处理最后一页table无底线(因为表格数据不够,用图片代替时,图片将table的底线遮住了,现将图片去掉) String regex = "\"\"";