1 23 package org.ofbiz.webapp.barcode; 24 25 import java.io.ByteArrayInputStream ; 26 27 import nu.xom.Node; 28 import nu.xom.Nodes; 29 import nu.xom.converters.DOMConverter; 30 31 import org.apache.avalon.framework.configuration.Configuration; 32 import org.apache.avalon.framework.configuration.ConfigurationException; 33 import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder; 34 import org.krysalis.barcode4j.BarcodeException; 35 import org.krysalis.barcode4j.BarcodeUtil; 36 import org.ofbiz.base.util.Debug; 37 import org.w3c.dom.DocumentFragment ; 38 39 45 public class BarcodeGenerator { 46 47 public static final String module = BarcodeGenerator.class.getName(); 48 49 private Configuration config; 50 private BarcodeUtil barcodeUtil; 52 53 public BarcodeGenerator(String barcodeFormat) { 54 DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder(); 55 try { 56 byte [] configData = barcodeFormat.getBytes(); 57 config = builder.build(new ByteArrayInputStream (configData)); 58 } 59 catch (Exception e) { 60 Debug.logError(e, "Couldn't create config for Barcode Generator", module); 61 } 62 63 65 barcodeUtil = BarcodeUtil.getInstance(); 66 } 67 68 public String generateSvgXml(String message) throws BarcodeException, ConfigurationException { 69 if (config != null) { 70 DocumentFragment fragment = barcodeUtil.generateSVGBarcode(config, message); 71 72 Nodes nodes = DOMConverter.convert(fragment); 73 74 StringBuffer buffer = new StringBuffer (); 75 for (int i = 0; i < nodes.size(); i++) { 76 Node node = nodes.get(i); 77 buffer.append(node.toXML()); 78 } 79 80 return buffer.toString(); 81 } else { 82 return ""; 83 } 84 } 85 } 86 | Popular Tags |