我一直在寻找哪些库来生成包含报告的条形码,使用JasperReports(版本4.6.0)和barcode4j,在简单的设置/场景中(只需报告设计,填写报告,导出为pdf)所以没什么特别的。 在一个有点绝望的尝试中,我刚刚添加(使用Eclipse java项目,在其构建路径中)iReport 4.6.0使用的所有库,并尝试生成带有条形码的pdf报告。结果是一个很好的pdf报告,但没有条形码。
我对使用JasperReports的Barcode4J库依赖项(因此不是烧烤)感兴趣。
答案 0 :(得分:8)
最后,我发现了一种更为复杂的方法(我相信这可以做得更简单)
首先,我有一个简单的报告,其中包含条形码元素(带有条码4j) - 在这里,根据这个somewhat related answer(实际上我认为这让我走上了正确的道路),我已经为元素添加了一个样式。我目前的风格和元素是这样的:
<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版本相对应,条形码相关库也适用于Barcode4j-2.0。
此致 安德烈
答案 1 :(得分:0)
我看到你正在加载iText库。为什么不使用它来创建条形码。查看本页底部的解决方案 - Convert iText Barcode Image from CCITT format to PNG