Java JasperReports Печать штрих-кода

Мне нужно распечатать этикетки со штрих-кодом, используя JasperReports составление отчетов. Я правильно спроектировал отчет Jasper и могу просмотреть его, используя iReport, Но когда я передаю параметр в отчет яшмы через приложение Java, отчет о штрих-коде никогда не генерируется.

следующий код используется

//Print barcode
try {
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    Connection conn = (Connection) 
            DriverManager.getConnection("jdbc:mysql:///miracleposdb", "root", "mysql");


    String reportSource = "../src/reports/barcode.jrxml"; /* Report Path*/
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("printid", lblbarcodeID.getText());

    JasperReport jasperReport = JasperCompileManager.compileReport(reportSource); /*Compiling  */

    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
            params, DB.MiraclePOS.connect());  /*Filling report*/
    JasperViewer.viewReport(jasperPrint, false);   /*For Print*/

} catch (Exception e) {
}

1 ответ

Если вы посмотрите на jrxml файл, раздел штрих-кода должен быть примерно таким:

В моем случае я использовал barcode4j

<componentElement>
    <reportElement x="353" y="42" width="200" height="50"/>
        <jr:Code39 xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components"    xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" textPosition="bottom">

            <jr:codeExpression>                 
                <![CDATA[$P{printid}]]>                     
            </jr:codeExpression>                
       </jr:Code39>
</componentElement>

Я использую средство просмотра отчетов Netbean для создания просмотра PDF, и это работает для меня.

НОТА:

Когда вы перетаскиваете штрих-код с помощью iReport, раздел barcord в jrxml должен иметь пустой CDATA:

<![CDATA[]]>

Если вы сгенерируете PDF в этом состоянии, то баркорд не будет отображаться, поскольку в нем нет значения.

Также не забудьте установить параметр с помощью iReport.

Надеюсь это поможет.

Другие вопросы по тегам