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.
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.
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(); } } }
Est ce que quelqu'un a une idée ?
Merci d'avance pour vos commentaires.
Partager