1

Is there a convenient data matrix generator library for scala? I've heard of zxing for java, but I just can't find a solid example how to generate a data matrix image (into a ByteArrayOutputStream preferably)

Caballero
  • 11,546
  • 22
  • 103
  • 163
  • 1
    Does the zxing [DataMatrixWriter](https://github.com/zxing/zxing/blob/master/core/src/main/java/com/google/zxing/datamatrix/DataMatrixWriter.java) do what you need? If so, you can probably just call that from Scala. – DNA Mar 29 '14 at 13:09
  • @DNA Ended up using Barcode4J library instead, seems to work just fine. – Caballero Mar 31 '14 at 08:42

1 Answers1

0

Found a library with easy scala implementation. In my particular example below it will generate a Data Matrix image and return it as scala Array[Byte]

SBT

"net.sf.barcode4j" % "barcode4j" % "2.1"

Code

def generate(data: String) = {

    import java.io.ByteArrayOutputStream
    import java.awt.image.BufferedImage
    import java.awt.Dimension

    import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider        
    import org.krysalis.barcode4j.impl.datamatrix.DataMatrixBean

    val output = new ByteArrayOutputStream
    val canvas = new BitmapCanvasProvider(output, "image/png", 300, BufferedImage.TYPE_BYTE_BINARY, false, 0)
    val barcode = new DataMatrixBean
    barcode.generateBarcode(canvas, data)
    canvas.finish
    val result = output.toByteArray
    output.close

    result      

}
Caballero
  • 11,546
  • 22
  • 103
  • 163