Ajouter un filigrane au PDF

Lors de la conversion d’un fichier Excel en PDF, vous pouvez avoir besoin d’ajouter un filigrane au fichier PDF. Les exemples suivants montrent comment ajouter un filigrane textuel et graphique au PDF lors du rendu en PDF.

Ajouter un filigrane textuel au PDF

Vous pouvez facilement ajouter un filigrane texte au PDF en spécifiant le texte et la police correspondante. De plus, vous pouvez définir l’alignement, le décalage, la rotation, l’opacité, le premier plan/arrière-plan et l’échelle de la page dans RenderingWatermark.

//prepare a workbook with 3 pages.
Workbook wb = new Workbook();
wb.getWorksheets().get(0).getCells().get("A1").putValue("Page1");
int index = wb.getWorksheets().add();
wb.getWorksheets().get(index).getCells().get("A1").putValue("Page2");
index = wb.getWorksheets().add();
wb.getWorksheets().get(index).getCells().get("A1").putValue("Page3");
wb.getWorksheets().get(index).getPageSetup().setPaperSize(PaperSizeType.PAPER_A_3);
//create a font for watermark, and specify bold, italic, color.
RenderingFont font = new RenderingFont("Calibri", 68);
font.setItalic(true);
font.setBold(true);
font.setColor(Color.getBlue());
//create a watermark from text and the specified font.
RenderingWatermark watermark = new RenderingWatermark("Watermark", font);
//specify horizontal and vertical alignment
watermark.setHAlignment(TextAlignmentType.CENTER);
watermark.setVAlignment(TextAlignmentType.CENTER);
//specify rotation
watermark.setRotation(30);
//specify opacity
watermark.setOpacity(0.6f);
//specify the scale to page(e.g. 100, 50) in percent.
watermark.setScaleToPagePercent(50);
//spcify watermark for rendering to pdf.
PdfSaveOptions options = new PdfSaveOptions();
options.setWatermark(watermark);
wb.save("output_text_watermark.pdf", options);

Ajouter un filigrane graphique au PDF

Vous pouvez ajouter un filigrane image au PDF simplement en spécifiant les octets de l’image. De plus, vous pouvez définir l’alignement, le décalage, la rotation, l’opacité, le premier plan/arrière-plan et l’échelle de page dans RenderingWatermark.

//prepare a workbook with 3 pages.
Workbook wb = new Workbook();
wb.getWorksheets().get(0).getCells().get("A1").putValue("Page1");
int index = wb.getWorksheets().add();
wb.getWorksheets().get(index).getCells().get("A1").putValue("Page2");
index = wb.getWorksheets().add();
wb.getWorksheets().get(index).getCells().get("A1").putValue("Page3");
wb.getWorksheets().get(index).getPageSetup().setPaperSize(PaperSizeType.PAPER_A_3);
//create a watermark from image(you need to prepare image bytes).
RenderingWatermark watermark = new RenderingWatermark(imageBytes);
//specify offset to alignment.
watermark.setOffsetX(100);
watermark.setOffsetY(200);
//specify rotation
watermark.setRotation(30);
//specify watermark to background.
watermark.setBackground(true);
//specify opacity
watermark.setOpacity(0.6f);
//specify the scale to page(e.g. 100, 50) in percent.
watermark.setScaleToPagePercent(50);
//spcify watermark for rendering to pdf.
PdfSaveOptions options = new PdfSaveOptions();
options.setWatermark(watermark);
wb.save("oputput_image_watermark.pdf", options);