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 :

Affichage bloc donnees PDF


Sujet :

Documents Java

  1. ###raw>post.musername###
    Membre du Club
    Affichage bloc donnees PDF
    Bonjour, je developpe avec java et la librairie itext et je voudrais afficher des données sous cette forme voir pièce jointe : Format paysage avec 4 blocs par page

    Mon code est celui -ci :

    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
    78
    79
    80
    81
    82
    83
     
     
    import com.itextpdf.text.BaseColor;
    import com.itextpdf.text.Document;
    import com.itextpdf.text.DocumentException;
    import com.itextpdf.text.Element;
    import com.itextpdf.text.Font;
    import com.itextpdf.text.Font.FontFamily;
    import com.itextpdf.text.Image;
    import com.itextpdf.text.PageSize;
    import com.itextpdf.text.Paragraph;
    import com.itextpdf.text.Phrase;
    import com.itextpdf.text.pdf.ColumnText;
    import com.itextpdf.text.pdf.PdfContentByte;
    import com.itextpdf.text.pdf.PdfPTable;
    import com.itextpdf.text.pdf.PdfPageEventHelper;
    import com.itextpdf.text.pdf.PdfTemplate;
    import com.itextpdf.text.pdf.PdfWriter;
    import com.itextpdf.text.Rectangle;
    import com.itextpdf.text.Utilities;
    import com.itextpdf.text.pdf.PdfPCell;
     
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
     
    public class GeneratePDF {
     
    	public static final String path2 = "C:\\mondossier\\Desktop\\test\\Lighthouse.jpg";;
     
     
     
        public static final String DEST = "C:\\Users\\monDosssierPerso\\Desktop\\Generate\\PDF\\test.pdf";
     
        public static void main(String[] args) throws IOException, DocumentException {
            File file = new File(DEST);
            file.getParentFile().mkdirs();
            new GeneratePDF().createBloc4Donnee(DEST);
        }
     
    	public void createBloc4Donnee(String dest) throws IOException, DocumentException {
            Document document = new Document();
            PdfWriter.getInstance(document, new FileOutputStream(dest));
            document.open();
     
    		Image image = Image.getInstance(path2);
    		image.scalePercent(5);
     
     
    		Chunk chunk1 = new Chunk("My value to display  : ");
    		Chunk chunk2 = new Chunk("XXX", commentFont);
     
    		Phrase commentPhrase = new Phrase(2);
    		commentPhrase.add(chunk1);
    		commentPhrase.add(chunk2);
     
     
    		Chunk chunk3 = new Chunk("My package to display  : ");
    		Chunk chunk4 = new Chunk("1", commentFont);
     
    		Phrase packageNumber = new Phrase(2);
    		packageNumber.add(chunk3);
    		packageNumber.add(chunk4);
     
    		PdfPTable table = new PdfPTable(2);
    		table.setWidths(new int[]{5, 5});
            table.setSpacingBefore(5);
            table.setWidthPercentage(85);
            table.getDefaultCell().setColspan(1);
            table.addCell(commentPhrase);
            table.addCell(image);
            table.getDefaultCell().setColspan(2);
            table.addCell(new Paragraph(""));
            table.addCell(new Paragraph(packageNumber));
     
     
            document.add(table);
            document.close();
        }
     
     
     
    }


    Mon soucis et que je n'arrive pas à supprimer dans un pdfTable la bordure du milieu. Quelqu'un a une piste de code, au niveau de la librairie itext5, je n'ai pas trouvé un exemple qui m'apporte une solution : https://developers.itextpdf.com/exam...angle-examples
      0  0

  2. #2
    Modérateur

    Salut,

    Si tu parles de l'espace entre les rectangles, je pense qu'il est dû au padding des cellules. Il faut que tu le mettes à 0, avec table.getDefaultCell().setPadding(0f);
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre du Club
    Saut Joel,

    non ce n'est pas seulement dû au padding, regarde avec le code que j'ai mis dans le premier , j'ai un pdf pareil.Voir capture du test.png

    Je n'arrive pas à afficher déjà un bloc avec ce affichage . Mon image est très gros et je ne veux pas afficher le border .

    Qu'est ce que je dois modifier sur mon code.

  4. #4
    Modérateur

    Il y a également des méthodes sur PdfPCell pour modifier l'épaisseur de la bordure (setBorderWidth(0f)). Il y aussi disableBorderSide pour désactiver une bordure (à appliquer sur chaque côté).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre du Club
    En tout cas ça bien marché , nikel pour les deux methodes.