?? idautomationservlet.java
字號:
//*****************************************************************
//
// JAVA Source for com.idautomation.pdf417; 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.pdf417;
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
{
private boolean debug=false;
public void init() throws ServletException { }
// MODIFY THIS FUNCTION TO CREATE THE PDF417 USING THE request PARAMETERS
private PDF417 getChart (HttpServletRequest request)
{
PDF417 cb=new PDF417();
if (request!=null)
{
if (request.getParameter("X")!=null) cb.X=new Double(request.getParameter("X")).doubleValue();
if (request.getParameter("XYR")!=null) cb.XtoYRatio=new Integer(request.getParameter("XYR")).intValue();
if (request.getParameter("COL")!=null) cb.PDFColumns=new Integer(request.getParameter("COL")).intValue();
if (request.getParameter("ECL")!=null) cb.PDFECLevel=new Integer(request.getParameter("ECL")).intValue();
if (request.getParameter("XYR")!=null) cb.XtoYRatio=new Integer(request.getParameter("XYR")).intValue();
if (request.getParameter("LEFT_MARGIN")!=null) cb.leftMarginCM=new Double(request.getParameter("LEFT_MARGIN")).doubleValue();
if (request.getParameter("TOP_MARGIN")!=null) cb.topMarginCM=new Double(request.getParameter("TOP_MARGIN")).doubleValue();
if (request.getParameter("PT")!=null) cb.processTilde=(request.getParameter("PT").compareTo("Y")==0);
if (request.getParameter("TRN")!=null) cb.truncated=(request.getParameter("TRN").compareTo("Y")==0);
String st = null;
if (request.getParameter("MODE")!=null)
{
st = (request.getParameter("MODE"));
if (st.compareTo("BINARY")==0) cb.PDFMode=0;
if (st.compareTo("TEXT")==0) cb.PDFMode=1;
}
if (request.getParameter("ROTATE")!=null) cb.rotate=new Integer(request.getParameter("ROTATE")).intValue();
if (request.getParameter("BARCODE")!=null) cb.code=request.getParameter("BARCODE");
}
else
{
cb.code="No Data";
}
return cb;
}
// Handle a request
// 1. create PDF417
// 2. draw PDF417 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;
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);
try
{ // Create buffer
//the default height and width if not specified.
int w=200;
int h=80;
// get PDF417
PDF417 cb=getChart(request);
if ((request!=null) && (request.getParameter("WIDTH")!=null) && (request.getParameter("HEIGHT")!=null))
{
w=new Integer(request.getParameter("WIDTH")).intValue();
h=new Integer(request.getParameter("HEIGHT")).intValue();
}
else
{
//a temp image must be created to find the preferred size
cb.autoSize=true;
cb.setSize(170,90);
java.awt.image.BufferedImage imageTemp = new java.awt.image.BufferedImage( cb.getSize().width,cb.getSize().height,java.awt.image.BufferedImage.TYPE_BYTE_INDEXED );
java.awt.Graphics imgTempGraphics = imageTemp.createGraphics();
cb.paint(imgTempGraphics);
cb.invalidate();
w=cb.getSize().width;
h=cb.getSize().height;
imgTempGraphics.dispose();
}
java.awt.image.BufferedImage BarImage=new java.awt.image.BufferedImage(w,h,java.awt.image.BufferedImage.TYPE_INT_RGB);
java.awt.Graphics2D BarGraphics=BarImage.createGraphics();
if (debug) System.out.println("Size: "+w+" "+h);
cb.setSize(w,h);
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();}
}
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 + -