2

スタンドアロン Java アプリケーションで Barbecue Barcode generator を試してみたところ、画像に表示されているバーコード番号でバーコードを印刷できました。

ここに画像の説明を入力

しかし、Spring Web アプリケーションから同じメソッドを実行すると、生成されたバーコードに下の画像のようにバーコード番号が表示されません。画像を保存するために同じファイルパスを使用しており、ディレクトリへの完全な rw 権限を持っています。これについて手がかりはありますか、ありがとう

ここに画像の説明を入力

以下のコードスニペットを使用しています

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

1 に答える 1

0

バーコードのフォントを設定し、 Barcodeの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 のこのスレッドは、この問題をさらに明らかにすることができます。

于 2013-05-24T21:09:27.283 に答える