最后,我发现了一种我认为更复杂的方法(我相信这可以做得更简单)
首先,我有一个包含条形码元素(带有barcode4j)的简单报告 - 在这里,根据这个有点相关的答案(我认为这实际上让我走上了正确的道路),我为元素添加了一个样式。我目前的风格和元素是这样的:
<style name="Barcode" mode="Opaque" forecolor="#000066" backcolor="#FFFFFF" fill="Solid" hAlign="Left" vAlign="Top" markup="styled" fontName="SansSerif" fontSize="11"/>
...
<componentElement>
<reportElement uuid="e70dd866-d0a9-4b34-8fb1-0f0b04c9dcf3" style="Barcode" x="453" y="0" width="78" height="38" isPrintInFirstWholeBand="true" isPrintWhenDetailOverflows="true"/>
<jr:Code128 xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<jr:codeExpression><![CDATA["123456789"]]></jr:codeExpression>
</jr:Code128>
</componentElement>
我确信可以删除几个样式的东西(但我认为从以前的经验标记样式很重要)。
其次,我有如下代码来生成使用 JasperReports 导出的 pdf 报告:
JasperReport jasperReport = JasperCompileManager.compileReport("report.jrxml");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(), new JREmptyDataSource());
JasperExportManager.exportReportToPdfFile(jasperPrint, "result.pdf");
第三,截图中我拥有的库如下(由于时间不够,添加图片):
希望这对其他人也有帮助 - 最欢迎优化、更正、改进(以使其更简洁和最佳)。
注意:JasperReports 库的使用版本对应于它们的 4.6.0 版本,Barcode 相关库也适用于 Barcode4j-2.0。
问候, 安德烈