L'espressione immagine deve restituire qualsiasi sottoclasse di java.awt.Image
. Il modo più semplice per ottenere ciò è utilizzare la tua classe di supporto per generare l'immagine. È possibile creare un metodo statico che genera un codice a barre da un String
e chiamare tale metodo da IReport.
Nel caso di ZXing non conosco il metodo da utilizzare, ma posso dire quello che uso come ImageExpression utilizzando la libreria Barbecue.
net.sourceforge.barbecue.BarcodeImageHandler.getImage(
MyBarcodeGenerator.getFromString($F{field})
MyBarcodeGenerator
classe contiene il metodo getFromString(...)
che restituisce un net.sourceforge.barbecue.Barcode
nel mio caso un net.sourceforge.barbecue.linear.code39.Code39Barcode
Il Expression Class
viene ignorato.
--Edited:
per codificare un'immagine in ZXing si dovrebbe usare MatrixToImageWriter
Il seguente codice codificare un QRCode in un BufferedImage che può essere utilizzato nel campo Immagine Espressione:
MatrixToImageWriter.toBufferedImage(new QRCodeWriter().encode("BARCODE CONTENT", BarcodeFormat.QR_CODE, 400 /*Width*/, 400/*Height*/));
fonte
2011-10-17 15:10:29
http://groups.google.com/group/zxing/browse_thread/thread/e8fbcde52f9efd80 –
@AlexK: l'ho provato prima, ma non è chiaro – deepmax
Dovresti almeno dirci che tipo di codice a barre stai provando generare ... –