Je peux pas instancier une Image de type com.itextpdf.text.Image

yassine -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
j'ai la methode getInstance souslignee ..netbeans me donne "cannot find symbole" or mon itext.jar est bien installé dans la librairie;

private void pdfActionPerformed(java.awt.event.ActionEvent evt) throws BadElementException, IOException {
// TODO
try {

OutputStream file = new FileOutputStream(new File("decision.pdf"));

Document document = new Document();
PdfWriter.getInstance(document, file);

document.open();
Image img=new Image.getInstance("a.jpg");
document.add(img);
document.add(new Paragraph("jdhfhdjhjfdjhfhdjhfjhdjfhjdhjfhjdh"));

document.close();

} catch (FileNotFoundException | DocumentException e) {
}
}

aidez moi s'il vous plait c'est trés urgent, Merci d'avance.

4 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Regarde la documentation c'est fait pour ça !

    https://api.itextpdf.com/itext/com/itextpdf/text/Image.html

    Extrait :

    Direct Known Subclasses:
              ImgCCITT, ImgJBIG2, ImgRaw, ImgTemplate, ImgWMF, Jpeg, Jpeg2000

    public abstract class Image

    Comme le disait choubaka, "Image est une classe abstraite... elle ne peut donc pas être instanciée", il faut donc utiliser une de ses classes filles, Jpeg par exemple.

    On va donc voir la documentation de la classe Jpeg :
    https://api.itextpdf.com/itext/com/itextpdf/text/Jpeg.html

    Et là on trouve tout ce qu'il faut pour construire notre image...

    URL url = new File("C:/img.jpg").toURI().toURL();
    Image img = new Jpeg(url);

    Il faut que tu apprennes à utiliser la documentation, parce que tu ne peux pas deviner toutes les classes et méthodes qui existent. La recherche Google que j'ai faite pour te trouver ces informations, la prochaine fois c'est toi qui la fera...

    PS. la documentation de Java : https://docs.oracle.com/javase/7/docs/api/
    1
  2. choubaka Messages postés 5535 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    Bonjour

    Image est une classe abstraite... elle ne peut donc pas être instanciée..

    Essaye avec ImageIcon

    https://docs.oracle.com/javase/7/docs/api/javax/swing/ImageIcon.html

    c'est un exemple..

    Chouba, Bibapeloula / Mon métier est tellement secret que je ne sais même pas ce que je fais.
    0
  3. yassine
     
    Merci,

    mais je veux instancier Image (com.itextpdf.text.Image) pour introduire une image a un pdf ...
    0
  4. yassine
     
    Merci,

    je vais essayer ça, normalement dans tout les exemples que j'ai vu, on fait comme ça :

    Image img= Image.getInstance("image.jpg");
    document.add(img);

    et ça marche pour eux D:
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      C'est possible en effet, j'ai compté 18 méthodes "getInstance" dans la documentation, il doit bien y en avoir une ou deux qui servent à quelque chose...
      0