Agregar Marca de Agua al PDF
Al convertir un archivo de Excel a PDF, es posible que necesites agregar una marca de agua al archivo PDF. Los siguientes ejemplos muestran cómo agregar una marca de agua de texto e imagen al PDF durante la renderización a PDF.
Agregar marca de agua de texto al PDF
Puedes agregar fácilmente una marca de agua de texto al PDF especificando el texto y la fuente correspondiente. Además, puedes establecer la alineación, desplazamiento, rotación, opacidad, primer plano/fondo y escala a la página en 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); |
Agregar marca de agua de imagen al PDF
Puede agregar marca de agua de imagen a un pdf simplemente especificando bytes de imagen de una imagen. Además, puede establecer alineación, desplazamiento, rotación, opacidad, primer/plano de fondo y escala a página en 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); |