Добавление водяного знака в PDF
При преобразовании файла Excel в PDF у вас могут возникнуть требования добавления водяного знака в файл PDF. В следующих примерах показано, как добавлять текстовый и изображения водяной знак в PDF при преобразовании в PDF.
Добавить текстовый водяной знак в PDF
Вы можете легко добавить текстовый водяной знак в PDF, указав текст и соответствующий шрифт. Кроме того, вы можете установить выравнивание, смещение, поворот, непрозрачность, передний/задний план и масштабирование на страницу в 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); |
Добавить изображение водяного знака в PDF
Вы можете добавить изображение водяного знака в PDF, просто указав байты изображения. Кроме того, вы можете установить выравнивание, смещение, поворот, непрозрачность, передний/задний план и масштабирование на страницу в 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); |