itext soucis integration de document
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:
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);
;
}
}
} |