📄 idautomationservlet.java
字号:
//*****************************************************************
//
// JAVA Source for com.idautomation.maxicode; 4.10
//
// Copyright, IDAutomation.com, Inc. 2000-2004.
// All rights reserved.
//
// http://www.IDAutomation.com/java/
//
// NOTICE:
// You may incorporate our Source Code in your application
// only if you own a valid Java Developer License
// from IDAutomation.com, Inc. and the copyright notices
// are not removed from the source code.
//
//*****************************************************************
package com.idautomation.barcode.maxicode;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.awt.Graphics2D.*;
import java.awt.*;
import com.idautomation.barcode.encoder.GifEncoder;
public class IDAutomationServlet extends HttpServlet
{
public static void main(String[] a) {
}
/**
* Handle the HTTP POST method by sending an e-mail
*
*
*/
public void init() throws ServletException {
}
// read paramters from request and create barcode
public MaxiCode getBarcode (HttpServletRequest request) {
MaxiCode cb=new MaxiCode();
//cb.setMode(2);
//cb.setZipCode("11111");
//cb.setServiceClass("222");
//cb.setCountry("333");
//cb.setData("NO DATA ENTERED");
if (request==null) {
cb.setMode(4);
cb.setData("NO DATA ENTERED");
return cb;
}
// READ DATA
String dataStr=request.getParameter("DATA");
if (dataStr!=null) cb.setData(dataStr);
String mode=request.getParameter("MODE");
if (mode!=null) {
if (mode.compareTo("2")==0) cb.setMode(2);
if (mode.compareTo("3")==0) cb.setMode(3);
if (mode.compareTo("4")==0) cb.setMode(4);
if (mode.compareTo("5")==0) cb.setMode(5);
if (mode.compareTo("6")==0) cb.setMode(6);
}
// ROTATION
String rot=request.getParameter("ROTATION");
cb.setRotation(0);
if (rot!=null) {
if (rot.compareTo("90")==0) cb.setRotation(90);
if (rot.compareTo("180")==0) cb.setRotation(180);
if (rot.compareTo("270")==0) cb.setRotation(270);
}
// RESOLUTION
String res=request.getParameter("RESOLUTION");
if (res!=null) {
int resInt=0;
try {
resInt=Integer.parseInt(res);
} catch (Exception e) {};
if ((resInt>=72) && (resInt<=600)) cb.setResolution(resInt);
}
// READ PRIMARY MESSAGE DATA
String PC=request.getParameter("POSTALCODE");
if (PC!=null) cb.setZipCode(PC);
String Service=request.getParameter("SERVICE");
if (Service!=null) cb.setServiceClass(Service);
String country=request.getParameter("COUNTRY");
if (country!=null) cb.setCountry(country);
// STRUCTURED APPEND DATA
String symbols=request.getParameter("NUMBER");
if (symbols!=null) {
if (symbols.compareTo("2")==0) cb.setNumberOfCodes(2);
if (symbols.compareTo("3")==0) cb.setNumberOfCodes(3);
if (symbols.compareTo("4")==0) cb.setNumberOfCodes(4);
if (symbols.compareTo("5")==0) cb.setNumberOfCodes(5);
if (symbols.compareTo("6")==0) cb.setNumberOfCodes(6);
if (symbols.compareTo("7")==0) cb.setNumberOfCodes(7);
if (symbols.compareTo("8")==0) cb.setNumberOfCodes(8);
}
String symbol=request.getParameter("POSITION");
if (symbol!=null) {
if (symbol.compareTo("2")==0) cb.setPositionOfCode(2);
if (symbol.compareTo("3")==0) cb.setPositionOfCode(3);
if (symbol.compareTo("4")==0) cb.setPositionOfCode(4);
if (symbol.compareTo("5")==0) cb.setPositionOfCode(5);
if (symbol.compareTo("6")==0) cb.setPositionOfCode(6);
if (symbol.compareTo("7")==0) cb.setPositionOfCode(7);
if (symbol.compareTo("8")==0) cb.setPositionOfCode(8);
}
return cb;
}
// Handle a request
// 1. create barcode
// 2. draw barcode in a Buffered Image
// 3. encode image as GIF or JPEG and send it to the browser
public void doGet (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out;
ServletOutputStream outb;
//default encoding type
String encode="jpeg";
if (request!=null)
{
if (request.getParameter("FORMAT")!=null) encode=request.getParameter("FORMAT").toLowerCase();
if (encode.compareTo("gif")!=0) encode="jpeg";
}
response.setContentType("image/"+encode);
outb=response.getOutputStream();
// avoid caching in browser
response.setHeader ("Pragma", "no-cache");
response.setHeader ("Cache-Control", "no-cache");
response.setDateHeader ("Expires",0);
// get BarCode
MaxiCode cb=getBarcode(request);
try { // Create buffer
java.awt.image.BufferedImage BarImage=new java.awt.image.BufferedImage(cb.getPreferredSize().width,cb.getPreferredSize().height,java.awt.image.BufferedImage.TYPE_INT_RGB);
java.awt.Graphics2D BarGraphics=BarImage.createGraphics();
cb.setSize(cb.getPreferredSize());
cb.paint(BarGraphics);
if (encode.compareToIgnoreCase("gif")==0)
{
// encode buffered image to a gif
GifEncoder encoder = new GifEncoder(BarImage ,outb);
encoder.encode();
}
else
{
// create JPEG image
com.sun.image.codec.jpeg.JPEGImageEncoder encoder = com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(outb );
//increase the JPEG quality to 100%
com.sun.image.codec.jpeg.JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam( BarImage);
param.setQuality(1.0F,true);
encoder.setJPEGEncodeParam(param);
encoder.encode( BarImage,param );
}
} catch (Exception e) { e.printStackTrace();}
//outb.close();
}
public void doPost (HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try {
doGet(request,response);
} catch (Exception e) { e.printStackTrace();}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -