1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
package edition;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.sql.Statement;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;
/**
*
* @author jojo
*
*/
public class DtoIndicateur {
//génération doc Pdf
public static ByteArrayOutputStream dtoGraphPdf(final HttpSession session,final Statement stmt, final HttpServletRequest req){
PdfPTable tbl = null;
PdfWriter writer = null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Document document = null;
BufferedImage buffimage[] = DtoIndicateur.graph(session, stmt, req);
java.awt.Image awtImage = buffimage[0];
//awtImage = librairie.PDFLibrairie.graphBarre(0);
Image img = null; //com.lowagie.text
try{
//NullPointerException ?????
try{img = Image.getInstance(awtImage, null, false);}catch(final IOException e){e.printStackTrace();}
//génération du document PDF
document = new Document(PageSize.A4, 10, 10, 45, 30); //Format A4
try{writer = PdfWriter.getInstance(document, baos);}catch(final Exception e_pdf){e_pdf.printStackTrace();}
//ouverture du doc
document.open();
PdfContentByte pcb = writer.getDirectContent();
//ajout graphique
img.setAbsolutePosition(10,20);
pcb.addImage(img);
document.close();
writer.close();
}catch(final DocumentException e){e.printStackTrace();}
return(baos);
}
//génération doc image
public static ByteArrayOutputStream graphStreamPng(final HttpSession session,final Statement stmt, final HttpServletRequest req) {
BufferedImage buffImage[] = DtoIndicateur.graph(session, stmt, req);
buffImage[0] = addImage(buffImage[0], buffImage[1]);
//création du stream de sortie
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try{ImageIO.write( buffImage[0],"png",baos );}catch(final IOException e){e.printStackTrace();}
return(baos);
} |
Partager