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); |