IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Documents Java Discussion :

itext pb d'insertion d'image


Sujet :

Documents Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut itext pb d'insertion d'image
    Bonjour
    J'ai une classe qui me génère 2 graphiques dans un BufferedImage[] et que je voudrais soit afficher en direct soit insérer dans un doc Pdf. Pour l'affichage direct no pb mais pour l'insertion dans le Pdf j'ai un NullPointerException qui me remonte (le buffImage[0] est vide ???) et je ne comprends pas pourquoi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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);
    	}
    Si quelqu'un a une petite idée
    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut
    Résolu
    J'avais été un rapide, il manquait l'essentiel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    		BufferedImage buffimage[] = DtoIndicateur.graph(session, stmt, req);
     
    //taille max 1050 x 650 en paysage ou 650 x 1050 en portrait
    		BufferedImage g2dImg = new BufferedImage(700,800,BufferedImage.TYPE_INT_RGB);
    		Graphics2D g2d = g2dImg.createGraphics();
     
    //addition des 2 graphiques
    		g2d.drawImage(buffimage[0], 0, 0, null);
    		g2d.drawImage(buffimage[1], 0, 401, null);
    		g2d.dispose();
     
    		java.awt.Image awtImage = g2dImg;
    		//awtImage = librairie.PDFLibrairie.graphBarre(0);
    		Image img = null; //com.lowagie.text

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR 9] Insertion d'image et poids des états
    Par cdu dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 19/02/2021, 11h46
  2. Formulaire et insertion d'image
    Par cadomalo dans le forum Access
    Réponses: 5
    Dernier message: 10/01/2006, 10h40
  3. Insertion d'image
    Par Bouboubou dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 8
    Dernier message: 11/12/2005, 22h44
  4. [JTable] Insertion d'images dans la première colonne
    Par cocolepelo dans le forum Composants
    Réponses: 2
    Dernier message: 29/11/2005, 15h17
  5. [CR8.5][Visual Adelia] Insertion d'images sur état
    Par adu dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 01/12/2004, 16h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo