gpt4 book ai didi

java - Logo 图像仅显示在 Jasper Reports 的页眉第一页中

转载 作者:行者123 更新时间:2023-12-01 18:16:39 25 4
gpt4 key购买 nike

我有一个独特的情况,我在 Jasper 的页眉带上有一个 Logo ,并且我期望由于它位于页眉上,所以它应该打印在每一页上,但它只打印在第一页上。如果我从 ireport 设计器运行它,相同的 Jrxml 会在所有页面上生成 Logo ,但在我的 Java 应用程序上,它仅在第一页上生成 Logo 。我是不是做错了什么?

我的Java方法:

public void formatreport(String foracid, String reportDir, String fromdate, String todate, String currdate, int pid, String suffix) {
Connection conn = null;
try {
conn = db.prepareConn();
Map parameters = new HashMap();
ClassLoader classLoader = getClass().getClassLoader();
InputStream logourl = classLoader.getResourceAsStream("/com/sim/bulk/jrxml/logo.jpg");
parameters.put("account", foracid);
parameters.put("from_date", fromdate);
parameters.put("to_date", todate);
parameters.put("period_id", pid);
parameters.put("suffix", suffix);
parameters.put("logo", logourl);
log.debug("Bulk statement Parameters: account:" + foracid + "\nfrom_date:" + fromdate + "\nto_date:" + todate + "\nperiod_id:" + pid);
InputStream url = classLoader.getResourceAsStream("com/sim/bulk/jrxml/Bulkstatement.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(url);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conn);
reportDestination = reportDir + "/Statement_" + foracid + "_" + currdate + ".pdf";
JasperExportManager.exportReportToPdfFile(jasperPrint, reportDestination);
} catch (JRException asd) {

log.fatal(asd.getMessage());

} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException asd) {

System.out.println(asd.getMessage());

}
}
}

以及 jrxml 的摘录:

<pageHeader>
<band height="162" splitType="Stretch">
<image onErrorType="Blank" evaluationTime="Now">
<reportElement uuid="a49076f0-b945-4742-bb15-737b2a927da2" x="12" y="12" width="74" height="50"/>
<imageExpression><![CDATA[$P{logo}]]></imageExpression>
</image>
</band>
</pageHeader>

最佳答案

为图像设置 isUsingCache="true"。否则图像会多次尝试从输入流读取数据,这是行不通的。

或者您可以直接使用资源路径(“/com/sim/bulk/jrxml/logo.jpg”)作为图像表达,大多数情况下JasperReports能够从类加载器加载它。

关于java - Logo 图像仅显示在 Jasper Reports 的页眉第一页中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29124500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com