2013-04-18 1 views
0

독립 실행 형 Java 응용 프로그램에서 바베큐 바코드 생성기를 사용해 보았으며 이미지에 표시된 바코드 번호의 바코드를 인쇄 할 수있었습니다.바베큐 바코드 생성기가 웹 응용 프로그램에서 바코드 번호를 표시하지 않습니다

enter image description here

하지만 스프링 웹 애플리케이션에서 동일한 방법을 실행하면, 생성 된 바코드 아래 영상과 바코드 번호를 표시하지 않는다. 나는 동일한 파일 경로를 사용하여 이미지를 저장하고 디렉토리에 대한 전체 rw 권한을 가지고 있습니다. 내가 코드 아래 사용하고,이에 대한 어떤 단서를해야합니까 감사

enter image description here

barcode = BarcodeFactory.createCode128A(barcode_Id); 
File f = new File("/opt/rd/barcode/"+barcode_Id+".png"); 
BarcodeImageHandler.savePNG(barcode, f); 
+0

현재 동일한 문제가 발생합니다. 해결책을 찾았습니까? –

답변

0

내 바코드 글꼴을 설정하고 calculateSize을 덮어 Grails는이 문제를 해결했습니다() 메소드 바코드 에서 :

private Dimension calculateSize(){ 
    Dimension d = new Dimension(); 
    if(EnvironmentFactory.getEnvironment() instanceof HeadlessEnvironment) 
    try 
    { 

     if(font == null) 
     { 
      d = draw(new SizingOutput(font, getForeground(), getBackground()), 0, 0, barWidth, barHeight); 
     } else 
     { 
      java.awt.FontMetrics fontMetrics = getFontMetrics(font); 
      d = draw(new SizingOutput(font, fontMetrics, getForeground(), getBackground()), 0, 0, barWidth, barHeight); 
     } 
    } 
    catch(OutputException e) 
    { 
     e.printStackTrace(); 
    } 
    else 
    try 
    { 
     java.awt.FontMetrics fontMetrics = null; 
     if(font != null) 
     fontMetrics = getFontMetrics(font); 
     d = draw(new SizingOutput(font, fontMetrics, getForeground(), getBackground()), 0, 0, barWidth, barHeight); 
    } 
    catch(OutputException e) { } 
    return d; 
} 

sourceforge의 This thread은이 문제에 대해 더 많은 것을 밝힐 수 있습니다.