Be afraid, be very afraid...
<%@ page import = "java.awt.*" %>
<%@ page import = "javax.servlet.*" %>
<%@ page import = "javax.servlet.http.*" %>
<%@ page import = "javax.servlet.jsp.JspWriter" %>
<%@ page import = "javax.servlet.jsp.PageContext" %>
<%@ page import = "com.sun.image.codec.jpeg.*" %>
<%@ page import = "java.awt.Color" %>
<%@ page import = "java.awt.Graphics2D.*" %>
<%@ page import = "java.awt.Color" %>
<%@ page import = "br.com.util.Utilitarios" %>
<%@ page import = "java.io.*" %>
<%@ page buffer = "8kb" %>
<%
String via = Utilitarios.retiraNulos(request.getParameter("via"));
String numero = Utilitarios.retiraNulos(request.getParameter("numero"));
String validade = Utilitarios.retiraNulos(request.getParameter("validade"));
String nome = Utilitarios.retiraNulos(request.getParameter("nome"));
String local = Utilitarios.retiraNulos(request.getParameter("local"));
String data = Utilitarios.retiraNulos(request.getParameter("data"));
String cfc_num = Utilitarios.retiraNulos(request.getParameter("cfc_num"));
String cfc_nom = Utilitarios.retiraNulos(request.getParameter("cfc_nom"));
String id = Utilitarios.retiraNulos(request.getParameter("id"));
String cat = Utilitarios.retiraNulos(request.getParameter("cat"));
String cnh2 = Utilitarios.retiraNulos(request.getParameter("cnh2"));
String cnh4 = Utilitarios.retiraNulos(request.getParameter("cnh4"));
String nome2 = Utilitarios.retiraNulos(request.getParameter("nome2"));
String nome4 = Utilitarios.retiraNulos(request.getParameter("nome4"));
String obs = Utilitarios.retiraNulos(request.getParameter("obs"));
String alvo = request.getParameter("DIR");
alvo = alvo.substring(0,alvo.length()-5) + "\\relatorio\\ladvce.jpg";
int h = 232;
int w = 700;
java.awt.image.BufferedImage imagem;
java.awt.image.BufferedImage img;
response.setContentType("image/jpeg");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
ServletOutputStream sai = response.getOutputStream();
FileInputStream fundo = new FileInputStream(alvo);
JPEGImageDecoder dec = com.sun.image.codec.jpeg.JPEGCodec.createJPEGDecoder(fundo);
imagem = new java.awt.image.BufferedImage(w,h, java.awt.image.BufferedImage.TYPE_INT_RGB);
img = new java.awt.image.BufferedImage(w,h, java.awt.image.BufferedImage.TYPE_INT_RGB);
// Graphics g = imagem.createGraphics();
Graphics2D g = imagem.createGraphics();
// g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED);
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
// java.awt.image.BufferedImageOp op ;
// g.drawImage(dec.decodeAsBufferedImage(),op,0,0);
// g.setColor(Color.white);
// g.setPaint(Paint.BITMASK);
// g.fillRect(0,0,w,h);
// g.setClip(0,0,w,h);
// dec.decodeAsBufferedImage();
g.drawImage(dec.decodeAsBufferedImage(),null,0,0);
Font a = new Font("Futura",1,10);
Font b = new Font("Futura",1,7);
Font c = new Font("Times New Roman",1,14);
g.setFont(a);
FontMetrics fm = g.getFontMetrics(b);
FontMetrics fm2 = g.getFontMetrics(a);
g.setColor(Color.red.darker());
g.setFont(c);
g.drawString(numero.substring(2,11),224, 46);
g.setColor(Color.black);
g.setFont(a);
// g.drawString(,14,80);
g.drawString(validade,147,117);
g.drawString(nome,26,140);
g.drawString(local,26,163);
g.drawString(data,258,163);
// g.drawString(cfc_num,436,45);
/* g.setFont(b);
if (fm.getStringBounds(cfc_nom,g).getBounds().width + 556 >639){
String nom1 = new String();
String nom2 = new String();
nom1 = cfc_nom.substring(0,cfc_nom.lastIndexOf(" "));
nom2 = cfc_nom.substring(cfc_nom.lastIndexOf(" ")+1, cfc_nom.length());
g.drawString(nom1,556,39);
g.drawString(nom2,556,39 + fm.getStringBounds(nom1,g).getBounds().height);
} else {
g.drawString(cfc_nom,556,39);
}*/
g.setFont(a);
g.drawString(id,380,130);
g.drawString(cat,530,130);
g.setFont(b);
g.drawString("4R : " + cnh4, 596,126);
g.drawString("2R : " + cnh2, 596,124 + fm.getStringBounds(cnh2,g).getBounds().height);
g.drawString("4R : " + nome4, 380,148);
g.drawString("2R : " + nome2, 380,146 + fm.getStringBounds(nome2,g).getBounds().height);
g.drawString(obs,380,170);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(sai);
JPEGEncodeParam x = JPEGCodec.getDefaultJPEGEncodeParam(imagem);
x.setDensityUnit(JPEGEncodeParam.DENSITY_UNIT_DOTS_INCH);
x.setXDensity(150);
x.setYDensity(150);
x.setQuality((float) 1.0,true);
java.awt.RenderingHints hint = new java.awt.RenderingHints(java.awt.RenderingHints.KEY_DITHERING,java.awt.RenderingHints.VALUE_DITHER_DISABLE);
java.awt.image.RescaleOp rop = new java.awt.image.RescaleOp((float)1.2, 0, hint);
// java.awt.image.BufferedImageFilter filtro = new java.awt.image.BufferedImageFilter();
rop.filter(imagem,img);
encoder.setJPEGEncodeParam(x);
encoder.encode(imagem);
%>
Yes, I'm bored...
