【发布时间】:2017-07-03 10:51:14
【问题描述】:
我正在尝试创建一个显示已处理呼叫列表的 jasper 报告(pdf 格式)。正在创建报告,但未显示标题。我已经尝试过改变风格,但似乎对这种情况没有任何作用。
我为此使用以下库
- jasper-compiler-jdt-5.5.15.jar
- jasperreports-6.2.0.jar
- jasperreports-fonts-6.0.0.jar
- itext-2.1.7.jar
- itextpdf-5.5.10.jar
以下是jrxml文件的一部分
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="StockReport" pageWidth="1200" pageHeight="600" columnWidth="50" leftMargin="35" rightMargin="35" topMargin="50" bottomMargin="40">
<parameter name="Title" class="java.lang.String"/>
<field name="id" class="java.lang.Long"/>
<field name="dateTime" class="java.util.Date"/>
--------------------------------------------------
<title>
<band height="50" splitType="Stretch">
<textField isBlankWhenNull="true">
<reportElement x="0" y="5" width="960" height="30"/>
<textElement textAlignment="Center">
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$P{Title}]]>
</textFieldExpression>
</textField>
</band>
</title>
<pageHeader>
<band height="20" splitType="Stretch">
<textField>
<reportElement mode="Opaque" x="55" y="5" width="1000" height="15" forecolor="#FFFFFF" backcolor="#8c8c8c"/>
<textElement textAlignment="Center">
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["Daily Reports"]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<columnHeader>
<band height="20" splitType="Stretch">
<staticText>
<reportElement mode="Opaque" x="55" y="4" width="30" height="15" forecolor="#FFFFFF" backcolor="#b30000"/>
<textElement textAlignment="Left">
<font isBold = "true"/>
</textElement>
<text>
<![CDATA["Record Id"]]>
</text>
</staticText>
<staticText>
<reportElement positionType="Float" mode="Opaque" x="85" y="4" width="100" height="15" forecolor="#FFFFFF" backcolor="#b30000"/>
<textElement>
<font isBold = "true"/>
</textElement>
<text>
<![CDATA["Date/Time"]]>
</text>
</staticText>
-------------------------------------------
</band>
</columnHeader>
<detail>
<band height="80" splitType="Stretch">
<textField>
<reportElement x="65" y="4" width="15" height="60"/>
<textElement textAlignment="Left"/>
<textFieldExpression class="java.lang.Long"><![CDATA[$F{id}]]>
</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float" x="95" y="4" width="90" height="60"/>
<textElement/>
<textFieldExpression class="java.util.Date"><![CDATA[$F{dateTime}]]></textFieldExpression>
</textField>
-----------------------------------------------------
这是我的 jrxml 文件。
它正在正确显示除列标题之外的所有数据。我无法理解问题所在。我也收到以下警告
WARN [net.sf.jasperreports.engine.export.PdfGlyphRenderer] -------- Unpatched iText found, cannot use glyph rendering
生成的 pdf 的屏幕截图(部分细节已被刮掉)
我们将不胜感激。
我没有使用 iReport 工具。目前,相同的使用仅限于我们的组。请提出其他解决方案。
提前致谢。
【问题讨论】:
-
您的问题不清楚。
The report is getting created but the heading are not being shown.- 这是什么意思?是空白还是显示????或者地区被跳过了?你是如何检查结果的(pdf、xls)?你在使用字体扩展吗? -
1) 尝试删除
reportFont行(样本中的第 3 行); 2) 尝试使用 jasperreports-fonts-6.0.0.jar 中的字体; 3) 尝试使用样式并在列标题.处使用样式 -
您的问题之一是您正在混合 iText 版本。
-
不,“itext”和“itextpdf”是完全一样的产品。可用的最新版本是 7.0.3,但这是一个完全重写且不向后兼容的版本。仍然与您的代码兼容的最新版本是今年 3 月发布的 5.5.11。 2.1.7(2009 年 7 月发布)是一个已弃用的版本,不再受 iText Software 公司的支持。披露:我在那里担任 QA 工程师,所以我有权威的论据。
-
显然 Jasper Reports 需要的是旧版本的 iText,而不是新版本。
标签: jasper-reports export-to-pdf