Commit 20c3a322 by Tuomas Riihimäki

Moved BarcodeBean to utils and renamed to BarcodeUtils

1 parent 386610f4
package fi.insomnia.bortal.beans;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import javax.imageio.ImageIO;
import org.jbarcode.JBarcode;
import org.jbarcode.JBarcodeFactory;
import org.krysalis.barcode4j.BarcodeDimension;
import org.krysalis.barcode4j.BarcodeGenerator;
import org.krysalis.barcode4j.impl.code128.Code128Bean;
import org.krysalis.barcode4j.impl.code128.EAN128Bean;
import org.krysalis.barcode4j.impl.code39.Code39;
import org.krysalis.barcode4j.impl.code39.Code39Bean;
import org.krysalis.barcode4j.impl.datamatrix.DataMatrixBean;
import org.krysalis.barcode4j.impl.upcean.EAN13Bean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
import com.pdfjet.A4;
import com.pdfjet.Image;
import com.pdfjet.ImageType;
import com.pdfjet.PDF;
import com.pdfjet.Page;
public class BarcodeBean {
public static InputStream getBarcode(String message) throws IOException {
// BarcodeGenerator bean = new DataMatrixBean();
BarcodeGenerator bean = new Code128Bean();
ByteArrayOutputStream out = new ByteArrayOutputStream();
// System.out.println("created: " + (new Date().getTime() - start));
BitmapCanvasProvider canvas = new BitmapCanvasProvider(
out, "image/png", 150, BufferedImage.TYPE_BYTE_BINARY, false, 0);
canvas.establishDimensions(new BarcodeDimension(200, 15));
bean.generateBarcode(canvas, message);
canvas.finish();
ByteArrayInputStream istream = new ByteArrayInputStream(out.toByteArray());
return istream;
}
public static InputStream getBarcodeEAN(String message) throws IOException {
// BarcodeGenerator bean = new DataMatrixBean();
BarcodeGenerator bean = new EAN13Bean();
ByteArrayOutputStream out = new ByteArrayOutputStream();
// System.out.println("created: " + (new Date().getTime() - start));
BitmapCanvasProvider canvas = new BitmapCanvasProvider(
out, "image/png", 150, BufferedImage.TYPE_BYTE_BINARY, false, 0);
canvas.establishDimensions(new BarcodeDimension(200, 15));
bean.generateBarcode(canvas, message);
canvas.finish();
ByteArrayInputStream istream = new ByteArrayInputStream(out.toByteArray());
return istream;
}
public void barcode4j() throws FileNotFoundException, Exception {
long start = new Date().getTime();
File outFile = new File("/tmp/rairai2.pdf");
PDF pdf = new PDF(new FileOutputStream(outFile));
System.out.println("pre CreateCode: " + (new Date().getTime() - start));
BarcodeGenerator bean = new DataMatrixBean();
ByteArrayOutputStream out = new ByteArrayOutputStream();
System.out.println("created: " + (new Date().getTime() - start));
BitmapCanvasProvider canvas = new BitmapCanvasProvider(
out, "image/png", 150, BufferedImage.TYPE_BYTE_BINARY, false, 0);
bean.generateBarcode(canvas, "Foobar Rairai");
canvas.finish();
ByteArrayInputStream istream = new ByteArrayInputStream(out.toByteArray());
Image img = new Image(pdf, istream, ImageType.PNG);
Page page = new Page(pdf, A4.PORTRAIT);
img.drawOn(page);
System.out.println("post draw: " + (new Date().getTime() - start));
pdf.flush();
System.out.println("post flush: " + (new Date().getTime() - start));
}
public String asdasd() throws FileNotFoundException, Exception {
long start = new Date().getTime();
JBarcode code = JBarcodeFactory.getInstance().createCode128();
System.out.println("pre CreateCode: " + (new Date().getTime() - start));
BufferedImage barcode = code.createBarcode("Foobar Rairai");
System.out.println("created: " + (new Date().getTime() - start));
ImageIO.write(barcode, "JPEG", new File("/tmp/rairai.jpeg"));
System.out.println("To File: " + (new Date().getTime() - start));
File out = new File("/tmp/rairai2.pdf");
PDF pdf = new PDF(new FileOutputStream(out));
System.out.println("Pre stream: " + (new Date().getTime() - start));
ByteArrayOutputStream jpegstream = new ByteArrayOutputStream();
ImageIO.write(barcode, "JPEG", jpegstream);
System.out.println("post stream: " + (new Date().getTime() - start));
ByteArrayInputStream istream = new ByteArrayInputStream(jpegstream.toByteArray());
System.out.println("post istream: " + (new Date().getTime() - start));
Page page = new Page(pdf, A4.PORTRAIT);
Image img = new Image(pdf, istream, ImageType.JPEG);
img.drawOn(page);
System.out.println("post draw: " + (new Date().getTime() - start));
pdf.flush();
System.out.println("post flush: " + (new Date().getTime() - start));
return "";
}
public static void main(String[] args) {
BarcodeBean bb = new BarcodeBean();
try {
bb.barcode4j();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
......@@ -30,6 +30,7 @@ import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.GroupMembership;
import fi.insomnia.bortal.model.PlaceGroup;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.utilities.BarcodeUtils;
/**
* Session Bean implementation class PlaceGroupBean
......@@ -148,7 +149,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
// PNGImage(BarcodeBean.getBarcode(membership.getInviteToken()));
// logger.debug("Jpeg: " + jpeg.getWidth() + " h. " +
// jpeg.getHeight());
Image image = new Image(pdf, BarcodeBean.getBarcode(membership.getInviteToken()), ImageType.PNG);
Image image = new Image(pdf, BarcodeUtils.getBarcode(membership.getInviteToken()), ImageType.PNG);
image.scaleBy(0.8);
image.setPosition(50, y);
image.drawOn(page);
......
Manifest-Version: 1.0
Class-Path: commons-codec-1.6.jar
Class-Path: commons-codec-1.6.jar
barcode4j.jar
PDFjet.jar
package fi.insomnia.bortal.utilities;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.krysalis.barcode4j.BarcodeDimension;
import org.krysalis.barcode4j.BarcodeGenerator;
import org.krysalis.barcode4j.impl.code128.Code128Bean;
import org.krysalis.barcode4j.impl.upcean.EAN13Bean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
public class BarcodeUtils {
public static InputStream getBarcode(String message) throws IOException {
// BarcodeGenerator bean = new DataMatrixBean();
BarcodeGenerator bean = new Code128Bean();
ByteArrayOutputStream out = new ByteArrayOutputStream();
// System.out.println("created: " + (new Date().getTime() - start));
BitmapCanvasProvider canvas = new BitmapCanvasProvider(
out, "image/png", 150, BufferedImage.TYPE_BYTE_BINARY, false, 0);
canvas.establishDimensions(new BarcodeDimension(200, 15));
bean.generateBarcode(canvas, message);
canvas.finish();
ByteArrayInputStream istream = new ByteArrayInputStream(out.toByteArray());
return istream;
}
public static InputStream getBarcodeEAN(String message) throws IOException {
// BarcodeGenerator bean = new DataMatrixBean();
BarcodeGenerator bean = new EAN13Bean();
ByteArrayOutputStream out = new ByteArrayOutputStream();
// System.out.println("created: " + (new Date().getTime() - start));
BitmapCanvasProvider canvas = new BitmapCanvasProvider(
out, "image/png", 150, BufferedImage.TYPE_BYTE_BINARY, false, 0);
canvas.establishDimensions(new BarcodeDimension(200, 15));
bean.generateBarcode(canvas, message);
canvas.finish();
ByteArrayInputStream istream = new ByteArrayInputStream(out.toByteArray());
return istream;
}
// public void barcode4j() throws FileNotFoundException, Exception {
// long start = new Date().getTime();
//
// File outFile = new File("/tmp/rairai2.pdf");
// PDF pdf = new PDF(new FileOutputStream(outFile));
// System.out.println("pre CreateCode: " + (new Date().getTime() - start));
//
// BarcodeGenerator bean = new DataMatrixBean();
//
// ByteArrayOutputStream out = new ByteArrayOutputStream();
// System.out.println("created: " + (new Date().getTime() - start));
//
// BitmapCanvasProvider canvas = new BitmapCanvasProvider(
// out, "image/png", 150, BufferedImage.TYPE_BYTE_BINARY, false, 0);
//
// bean.generateBarcode(canvas, "Foobar Rairai");
// canvas.finish();
//
// ByteArrayInputStream istream = new
// ByteArrayInputStream(out.toByteArray());
//
// Image img = new Image(pdf, istream, ImageType.PNG);
// Page page = new Page(pdf, A4.PORTRAIT);
// img.drawOn(page);
// System.out.println("post draw: " + (new Date().getTime() - start));
//
// pdf.flush();
// System.out.println("post flush: " + (new Date().getTime() - start));
//
// }
// public String asdasd() throws FileNotFoundException, Exception {
// long start = new Date().getTime();
// JBarcode code = JBarcodeFactory.getInstance().createCode128();
// System.out.println("pre CreateCode: " + (new Date().getTime() - start));
//
// BufferedImage barcode = code.createBarcode("Foobar Rairai");
// System.out.println("created: " + (new Date().getTime() - start));
// ImageIO.write(barcode, "JPEG", new File("/tmp/rairai.jpeg"));
// System.out.println("To File: " + (new Date().getTime() - start));
//
// File out = new File("/tmp/rairai2.pdf");
// PDF pdf = new PDF(new FileOutputStream(out));
//
// System.out.println("Pre stream: " + (new Date().getTime() - start));
//
// ByteArrayOutputStream jpegstream = new ByteArrayOutputStream();
// ImageIO.write(barcode, "JPEG", jpegstream);
// System.out.println("post stream: " + (new Date().getTime() - start));
//
// ByteArrayInputStream istream = new
// ByteArrayInputStream(jpegstream.toByteArray());
// System.out.println("post istream: " + (new Date().getTime() - start));
//
// Page page = new Page(pdf, A4.PORTRAIT);
//
// Image img = new Image(pdf, istream, ImageType.JPEG);
// img.drawOn(page);
// System.out.println("post draw: " + (new Date().getTime() - start));
//
// pdf.flush();
// System.out.println("post flush: " + (new Date().getTime() - start));
//
// return "";
// }
//
// public static void main(String[] args) {
// BarcodeUtils bb = new BarcodeUtils();
// try {
// bb.barcode4j();
// } catch (FileNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
}
......@@ -10,6 +10,5 @@
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry combineaccessrules="false" kind="src" path="/lib-AuthModule-depends"/>
<classpathentry kind="src" path="/LanBortalBeans"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>
......@@ -17,16 +17,13 @@ import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.pdfjet.Image;
import com.pdfjet.ImageType;
import fi.insomnia.bortal.beans.BarcodeBean;
import fi.insomnia.bortal.beans.CardTemplateBeanLocal;
import fi.insomnia.bortal.beans.PermissionBeanLocal;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.PrintedCard;
import fi.insomnia.bortal.utilities.BarcodeUtils;
/**
* Servlet implementation class UploadServlet
......@@ -124,20 +121,19 @@ public class UserCardServlet extends GenericImageServlet {
// 890);
//
// g.drawString(owner.getId().toString(), 60, 948);
g.drawString(wholeName.toString(), 60, 865);
g.drawString(card.getTemplate().getName(), 60, 915);
String barcodeString = String.valueOf(user.getUser().getCreated().getTime().getTime());
barcodeString = barcodeString.substring(barcodeString.length()-12);
BufferedImage image = ImageIO.read(BarcodeBean.getBarcodeEAN(barcodeString));
g.drawImage(image, 0 , base.getHeight()-120, base.getWidth(), 120, null);
barcodeString = barcodeString.substring(barcodeString.length() - 12);
BufferedImage image = ImageIO.read(BarcodeUtils.getBarcodeEAN(barcodeString));
g.drawImage(image, 0, base.getHeight() - 120, base.getWidth(), 120, null);
g.dispose();
ByteArrayOutputStream ostr = new ByteArrayOutputStream();
ImageIO.write(outimage, "jpeg", ostr);
return ostr.toByteArray();
}
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!