我一直在寻找哪些库是必要的,以生成包含报告的条形码,使用JasperReports (版本4.6.0)和barcode4j,在一个简单的设置/场景(只是有一个报告设计,填写报告,导出到pdf),所以没什么花哨的。在一次不顾一切的尝试中,我(使用Eclipse java项目,在其构建路径中)添加了iReport 4.6.0使用的所有库,并尝试在中生成一个带有条形码的pdf报告。结果是一个很好的pdf报告,但没有条形码。
我对JasperReports的Barcode4J库依赖感兴趣(所以不是烧烤)。
发布于 2012-11-29 19:16:07
最后,我发现了一种更复杂的方法(我确信这可以更简单地完成)
首先是,我有一个简单的报表,它有一个条形码元素(使用barcode4j) --在这里,根据这个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");第三个,我的库如下图所示(由于时间不够,需要添加图片):

希望这也能帮助其他人-优化,更正,改进(使这更简洁和最优)是最受欢迎的。
注释:使用的条形码库版本与其4.6.0版本相对应,并且与JasperReports相关的库也适用于Barcode4j-2.0。
问候你,安德烈
发布于 2013-01-30 22:06:23
我看到您正在加载iText库。为什么不用它来创建你的条形码呢?请查看此页面底部的解决方案- Convert iText Barcode Image from CCITT format to PNG
https://stackoverflow.com/questions/13612910
复制相似问题