우리는 항상 대신의 InputStream의 이미지를 전달 아래
InputStream imgInputStream = this.getClass().getResourceAsStream("header.png");
HashMap<String, Object> parameters = new HashMap<String, Object>();
parameters.put("dateFrom", datum1);
parameters.put("dateTo", datum2);
parameters.put("logo", imgInputStream);
strQuery = "Select calldate,src,dst,duration,disposition,cdrcost from cdrcost where date(calldate) between '" + datum1 + "' and '" + datum2 + "'";
rs = conexiondb.Consulta(strQuery);
JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(rs);
//JasperPrint jasperPrint = JasperFillManager.fillReport(reportStream, parameters);
JasperRunManager.runReportToPdfStream(reportStream, fos, parameters, resultSetDataSource);
그리고
보고서에서 이미지 조각이다. 먼저 이미지를로드하고 매개 변수 맵에서 설정 :
다음
BufferedImage image = ImageIO.read(getClass().getResource("/images/IMAGE.png"));
parameters.put("logo", image);
매개 변수는 다음과 같이 정의한다 :
<parameter name="logo" class="Object" isForPrompting="false">
<parameterDescription><![CDATA[The letterhead image]]></parameterDescription>
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
그리고 보고서에 배치하는 경우는 다음과 같습니다
<image>
<reportElement x="324" y="16" width="154" height="38"/>
<imageExpression><![CDATA[$P{logo}]]></imageExpression>
</image>
선생님 내가 같은했지만 그것은 – Amit
선생님 이미지와로드되지 생성되지 않은 이미지가 클래스 경로 및 PDF 보고서에서로드되지 일어나지 않았다 이 코드와 에러가 발생한다 "java.lang.IllegalArgumentException : input == null!" – Amit
''/images/IMAGE.png ''''를''header.png "'로 대체했다고 가정합니다. 병의 기본 패키지에 있다면''/header.png ''를 시도하십시오. –