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

avec Java Discussion :

Insérer une image dans un PDF


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 85
    Points
    85
    Par défaut Insérer une image dans un PDF
    Bonjour,

    Voilà je ne suis pas un spécialiste en image et je dois en java insérer un logo sur un PDF contenant des données. En faisant quelques recherches j'ai trouvé comment insérer un fond dans un PDF.
    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
     
    public static void addBackOnPdf(String sourcePDFFileName, String dest, String template,
        String template2) {
        PdfReader sourcePDFReader = null;
        PdfStamper stamp = null;
        PdfContentByte back = null;
        Image templateImage = null;
        Image templateImage2 = null;
        String sourcetemp = null;
        int noOfPages = 0;
        int i = 1;
        sourcetemp = "facture.pdf";
     
        //Si la source et la dest sont egale on copy la source afin de ne pas l'alterer car on cree un new FileOutputStream 
        //puis apres le traitement on supprime la copie servant de modele 
        if (sourcePDFFileName.equals(dest)) {
          FileTools.copyFile(sourcePDFFileName, sourcetemp);
          sourcePDFFileName = sourcetemp;
        }
     
        //On commence a traiter
        try {
          sourcePDFReader = new PdfReader(sourcePDFFileName);
     
          stamp = new PdfStamper(sourcePDFReader, new FileOutputStream(dest));
          if (template != null) {
            templateImage = Image.getInstance(template);
            templateImage.setAbsolutePosition(0, 0);
            if (template2 != null) {
              templateImage2 = Image.getInstance(template2);
              templateImage2.setAbsolutePosition(0, 0);
            } else {
              templateImage2 = templateImage;
            }
          } else {
            if (template2 != null) {
              templateImage = Image.getInstance(template2);
              templateImage.setAbsolutePosition(0, 0);
              templateImage2 = Image.getInstance(template2);
              templateImage2.setAbsolutePosition(0, 0);
            }
          }
          noOfPages = sourcePDFReader.getNumberOfPages();
          back = stamp.getUnderContent(i);
          back.addImage(templateImage);
          while (i < noOfPages) {
            i++;
            back = stamp.getUnderContent(i);
            back.addImage(templateImage2);
          }
          stamp.close();
        } catch (Exception ex) {
          log.warning("Error when applying template image " + ex);
        } finally {
          if (sourcePDFReader != null) {
            sourcePDFReader.close();
          }
        }
      }
    Le problème c'est que mon image est grossit sur le PDF et donc le logo n'est pas net. J'ai essayé de modifier la résolution de 72ppp vers 300ppp mais l'image est comme zoomer sur le PDF.
    Est ce que quelqu'un a une idée ?
    Merci d'avance pour vos commentaires.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Utiliser une image de résolution supérieur ou égales a celle qui sera affichée dans le PDF peut être. (je parle pas de densité de pixel/pouces, je parle de résolution).
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 122
    Points : 327
    Points
    327
    Par défaut
    ou bien! releve les dimension de tes imges et remet les positions selon la taille de chaque image

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 85
    Points
    85
    Par défaut
    Merci pour vos conseils.
    J'ai essayé de modifier la taille mais cela ne change rien.

    Par contre wax78 je ne comprends pas trop comment augmenter la résolution de mon image. La résolution ne correspond pas à la densité ?

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

Discussions similaires

  1. [iText] Rajouter une image dans un pdf
    Par COCOLOLO dans le forum Documents
    Réponses: 2
    Dernier message: 06/04/2005, 17h01
  2. [MFC]Insérer une image dans un CListCtrl
    Par DestyNov@ dans le forum MFC
    Réponses: 8
    Dernier message: 04/03/2005, 14h36
  3. Comment insérer une image dans une cellule d'un TDrawGrid ?
    Par kanux dans le forum Composants VCL
    Réponses: 4
    Dernier message: 15/01/2005, 18h58
  4. [Crystal Reports 9] comment insérer une image dans Détails
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2003, 17h06

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