【问题标题】:Generate PDF417-Barcode with JasperReports使用 JasperReports 生成 PDF417-Barcode
【发布时间】:2013-08-22 07:50:56
【问题描述】:

我尝试使用 iReport 生成 PDF417 条形码。问题是我给条形码的字符串包含“德国变音符号”,如 ä、ö 或 ü。此变音符号无法通过条形码进行编码。

这是我的模板:

<?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="report1" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20"
              rightMargin="20" topMargin="20" bottomMargin="20">

    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band height="79" splitType="Stretch"/>
    </title>
    <pageHeader>
        <band height="35" splitType="Stretch"/>
    </pageHeader>
    <columnHeader>
        <band height="61" splitType="Stretch"/>
    </columnHeader>
    <detail>
        <band height="125" splitType="Stretch">
            <componentElement>
                <reportElement positionType="Float" mode="Opaque" x="432" y="189" width="148" height="75"/>
                <jr:PDF417 xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components"
                           xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd"
                           moduleWidth="38.0" textPosition="none" quietZone="2.0" verticalQuietZone="2.0" minColumns="7"
                           maxColumns="7" minRows="5" widthToHeightRatio="2.0" errorCorrectionLevel="4">
                    <jr:codeExpression><![CDATA["äöüÄÖÜß Test Test"]]></jr:codeExpression>
                </jr:PDF417>
            </componentElement>
        </band>
    </detail>
    <columnFooter>
        <band height="45" splitType="Stretch"/>
    </columnFooter>
    <pageFooter>
        <band height="54" splitType="Stretch"/>
    </pageFooter>
    <summary>
        <band height="42" splitType="Stretch"/>
    </summary>

我的问题是:如果有人知道为什么会发生这种情况或者我可以做些什么来解决这个问题。

【问题讨论】:

    标签: jasper-reports barcode jasperserver


    【解决方案1】:

    将 com.barcodelib.barcode.BarcodeJasperFactory 类导入到您的 Jasper Reports 报告文件中。

    <import value="com.barcodelib.barcode.BarcodeJasperFactory"/>
    

    将条形码图像插入报告中的正确位置。

    <image scaleImage="Clip" hAlign="Center"> 
    <reportElement x="50" y="110" width="515" height="120"/> 
    <graphicElement/> 
    <imageExpression class="net.sf.jasperreports.engine.JRRenderable">
     <![CDATA[new com.barcodelib.barcode.BarcodeJasperRenderer
                              (BarcodeJasperFactory.createLinear(13, "0470821632"))]]></imageExpression> 
    

    查看更多:how to use bar code in jasper reports in java

    【讨论】:

      【解决方案2】:

      我想你错过了一个'['。尝试使用

      [!CDATA[[äöüÄÖÜß 测试测试]]]

      (不带“)

      更多信息在这里http://www.w3schools.com/xml/xml_cdata.asp

      另一种选择是使用图像和条形码生成器,如显示here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-22
        • 1970-01-01
        • 1970-01-01
        • 2011-08-05
        • 2013-04-15
        • 2023-01-25
        • 2019-12-05
        相关资源
        最近更新 更多