iText - Pb d'image dans un Paragraph
Bonjour,
Mon problème est le suivant : dans une cellule d'un tableau, je souhaite mettre une image avec du texte juste après.
Un truc du genre :
Citation:
bla bla bla
<img> bli bli bli
Confiant, j'écris la petite classe de test suivante, et là, mazette, l'image ne daigne même pas se donner la peine d'apparaître.
Tous les exemples trouvés sur la toile collent les images directement dans le document, ce qui ne correspond pas vraiment à mon cas.
Quelqu'un aurait-il une idée ?
Merci d'avance,
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
|
try {
// initialisation
Font title = new Font(Font.HELVETICA, 18f, Font.BOLD, Color.BLACK) ;
Font text = new Font(Font.HELVETICA, 18f, Font.NORMAL, Color.BLACK) ;
Image img = Image.getInstance("D:/workspace/majopcvm/Maj Opcvm - client/images/16x16/moins.png") ;
// ouverture du document
Document document = new Document( PageSize.A4 );
@SuppressWarnings("unused")
PdfWriter writer = PdfWriter.getInstance( document, new FileOutputStream( "[...]/test.pdf" ) );
document.setMargins(42, 42, 42, 42) ;
document.open();
// 2 petites phrases
Phrase phrase1 = new Phrase("Ceci est mon titre"+System.getProperty("line.separator"), title) ;
Phrase phrase2 = new Phrase("Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. Ceci est mon texte. ", text) ;
// le paragraphe
Paragraph paragraph = new Paragraph() ;
paragraph.setAlignment(Element.ALIGN_JUSTIFIED) ;
// mise en place
paragraph.add(phrase1) ;
img.setAlignment(Image.TEXTWRAP) ;
paragraph.add(img) ;
paragraph.add(phrase2) ;
// on colle le tout dans un tableau
PdfPTable table = new PdfPTable(new float[]{1}) ;
PdfPCell cell = new PdfPCell() ;
cell.addElement(paragraph);
table.addCell(cell) ;
document.add(table) ;
// The end.
document.close();
} catch(Exception e) { e.printStackTrace() ; } |