J'utilise la bibliothèque iText, et je suis en train d'ajouter un filigrane au bas de la page. Le filigrane est simple, il doit être centré et a une image sur la gauche et un texte sur la droite.Je ne sais pas comment créer un centré « image + texte » filigrane dans les fichiers PDF avec iText (Java)
À ce stade, j'ai l'image et le texte dans un format .png. Je peux calculer la position où je veux mettre l'image (centrée) en calculant la taille de la page et la taille de l'image, mais maintenant je veux inclure le texte comme texte (meilleure lisibilité, etc.).
Puis-je intégrer l'image et le texte dans certains composants, puis calculer la position que je fais maintenant? Une autre solution ou idée?
Voici mon code actuel:
try {
PdfReader reader = new PdfReader("example.pdf");
int numPages = reader.getNumberOfPages();
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("pdfWithWatermark.pdf"));
int i = 0;
Image watermark = Image.getInstance("watermark.png");
PdfContentByte addMark;
while (i < numPages) {
i++;
float x = reader.getPageSizeWithRotation(i).getWidth() - watermark.getWidth();
watermark.setAbsolutePosition(x/2, 15);
addMark = stamp.getUnderContent(i);
addMark.addImage(watermark);
}
stamp.close();
}
catch (Exception i1) {
logger.info("Exception adding watermark.");
i1.printStackTrace();
}
Merci à l'avance!
Je vais chercher une solution texte-.png (java.awt.Graphics.drawString()?) Et utilisez un API graphique pour mettre les 2 ensemble. – Wivani
Le fait est que je ne veux pas mettre le texte au format PNG, j'ai besoin de le mettre en "mode texte". – Noob