2013-08-22 3 views
2

iReport으로 PDF417 바코드를 생성하려고합니다. 문제는 바코드에 줄 문자열에 ä, ö 또는 ü 같은 "독일어 움라우트"가 들어 있다는 것입니다. 이 움라우트는 바코드로 인코딩 할 수 없습니다. JasperReports로 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> 

내 질문은 : 이런 이유를 아는 사람이나 내가 문제를 해결하기 위해 무엇을 할 수 있다면.

답변

0

나는 '['을 (를) 놓쳤다 고 생각합니다.

사용해보십시오 [을! CDATA [[äöüÄÖÜß 테스트 테스트]]]

여기

더 많은 정보 http://www.w3schools.com/xml/xml_cdata.asp

또 다른 옵션은 이미지와 바코드를 사용 할 수 있습니다 ("제외)

발전기처럼 표시 here

1

클래스 com.barcodelib.barcode.BarcodeJasperFactory를 재스퍼 담당자에게 가져 오기 orts 보고서 파일.

<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