Bonjour,

Je souhaite a partir d'un PDF existant le re-numeroter.
La renumerotation fonctionne, mais le contenu de mon ancien PDF n'a pas ete ajouté, les pages du nouveau PDF sont vide, juste avec le No de page ?
Ou est mo erreur ? ,le getImportedPage, et le addTemplate me semble bon ??

Merci d'avance
Philippe
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
 
 
 
 
            try {
              //  PdfReader reader2 = new PdfReader("mergedFileLocation);
              PdfReader reader2 = new PdfReader("c:/zpoubelle/C5_V3.pdf");
 
 
                Document     document3 = new Document();
                PdfWriter    writer3   = PdfWriter.getInstance(document3, new FileOutputStream("c:/zpoubelle/s3.pdf"));
                HeaderFooter event     = new HeaderFooter();
 
                // l'endroit ou sera ecrit le numero de la page
                writer3.setBoxSize("art", new Rectangle(36, 54, 559, 788));
                writer3.setPageEvent(event);
 
                document3.open();
 
                PdfContentByte cb3 = writer3.getDirectContent();
 
                System.out.println("nb pages=" + reader2.getNumberOfPages());
 
                for (int z = 0; z < reader2.getNumberOfPages(); z++) {
                    PdfImportedPage page = writer.getImportedPage(reader2, z + 1);    // Copy  page of existing PDF into output PDF
 
                    System.out.println("lecture page" + z);
                    document3.newPage();
                    cb3.addTemplate(page, 0, 0);    
 
                }                                   // fin for
 
                System.out.println("fin for");
                document3.close();
                System.out.println("Done.");
            } catch (Exception e) {
                e.printStackTrace();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    class HeaderFooter extends PdfPageEventHelper
       {
        int pagenumber;
 
        public void onStartPage(PdfWriter writer, Document document) {
            pagenumber++;
        }
 
        public void onEndPage(PdfWriter writer3, Document document3) {
            Rectangle rect = writer3.getBoxSize("art");
 
 
            // en bas au milieu
            ColumnText.showTextAligned(writer3.getDirectContent(), Element.ALIGN_CENTER,
                                       new Phrase(String.format("page %d", pagenumber)),
                                       (rect.left() + rect.right()) / 2, rect.bottom() - 18, 0);
            ;
        }
       }
   }