Как добавить водяные знаки в файлы PowerPoint на Java

Водяной знак — это выцветшее фоновое изображение , которое отображается за текстом в документе. Водяной знак можно использовать для указания статуса документа (конфиденциальный, черновик и т. д.) или добавить тонкий логотип компании, чтобы усилить брендинг.
В PowerPoint нет встроенной функции водяного знака, как в MS Word, но вы все равно можете добавить фигуру с текстом или изображением, чтобы имитировать эффект водяного знака. В этой статье я собираюсь представить, как вставить текст или изображение водяных знаков в PowerPoint с помощью Spire.Presentation for Java.
- Добавить текстовый водяной знак в PowerPoint в Java
- Добавить изображение водяного знака в PowerPoint в Java
Установите библиотеку
Spire.Presentation for Java — это профессиональная Java-библиотека для чтения, создания и работы с файлами PowerPoint в Java-приложениях.
Если вы создаете проект Maven, вы можете легко импортировать jar в
приложение с помощью следующей конфигурации. Для проектов, не использующих
Maven, загрузите
jar-файл и добавьте его в
приложение в качестве зависимости. Следующий код добавляет прямоугольник с текстом в центр каждого слайда,
прямоугольник поворачивается на −45 градусов и становится полупрозрачным. Этот
прямоугольник работает как текстовый водяной знак в PowerPoint. import com.spire.presentation.*; import com.spire.presentation.drawing.FillFormatType; import java.awt.*; import java.awt.geom.Rectangle2D; public class AddTextWatermark { public static void main(String[] args) throws Exception { // Загрузить образец файла Presentation presentation = new Presentation(); presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pptx"); // Добавить текстовый водяной знак на каждый слайд for (int i = 0; i < presentation.getSlides().getCount(); i++) { addTextWatermark(presentation.getSlides().get(i), «Только для внутреннего использования»); } // Сохранить документ presentation.saveToFile("TextWatermark.pptx", FileFormat.PPTX_2013); } private static void addTextWatermark(ISlide slide, String text) throws Exception { // Определить прямоугольник int width = 300; int height = 30; Presentation presentation = slide.getPresentation(); Rectangle2D.Double rect = new Rectangle2D.Double((presentation.getSlideSize().getSize().getWidth() - width) / 2, (presentation.getSlideSize().getSize().getHeight() - height) / 2, width, height); // Создать фигуру на основе прямоугольника IAutoShape shape = slide.getShapes().appendShape(ShapeType.RECTANGLE, rect); // Установить стиль фигуры shape.getFill().setFillType(FillFormatType.NONE); shape.setRotation(-45); shape.getLocking().setSelectionProtection(true); shape.getLine().setFillType(FillFormatType.NONE); // Добавить текст в фигуру shape.getTextFrame().setText(text); PortionEx textRange = shape.getTextFrame().getTextRange(); // Установить стиль диапазона текста textRange.getFill().setFillType(FillFormatType.SOLID); textRange.getFill().getSolidColor().setColor(new Color(50, 50, 50, 65)); textRange.setFontHeight(30); // Отправить фигуру назад shape.setShapeArrange(ShapeAlignmentEnum.ShapeArrange.SendToBack); } } Следующий код добавляет
прямоугольник с изображением в центр каждого слайда, прямоугольник
поворачивается на −45 градусов и делается полупрозрачным. Этот прямоугольник
функционирует как водяной знак изображения в PowerPoint. import com.spire.presentation.*; import com.spire.presentation.drawing.FillFormatType; import com.spire.presentation.drawing.IImageData; import com.spire.presentation.drawing.PictureFillType; import javax.imageio.ImageIO; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.FileInputStream; public class AddmageWatermark { public static void main(String[] args) throws Exception { //Create a Presentation instance Presentation presentation = new Presentation(); //Load a sample PowerPoint file presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pptx"); //Add image watermark to each slide for (int i = 0; i < presentation.getSlides().getCount(); i++) { addImageWatermark(presentation.getSlides().get(i), «C:\\Users\\Administrator\\Desktop\\company-logo.png»); } //Save the document presentation.saveToFile("ImageWatermark.pptx", FileFormat.PPTX_2013); } private static void addImageWatermark(ISlide slide, String picUrl) throws Exception { //Load an image BufferedImage bufferedImage = ImageIO.read(new FileInputStream(picUrl)); IImageData imageData = slide.getPresentation().getImages().append(bufferedImage); //Define a rectangle int width = imageData.getWidth(); int height = imageData.getHeight(); Presentation presentation = slide.getPresentation(); Rectangle2D.Double rect = new Rectangle2D.Double((presentation.getSlideSize().getSize().getWidth() - width) / 2, (presentation.getSlideSize().getSize().getHeight() - height) / 2, width, height); //Create a shape based on the rectangle IAutoShape shape = slide.getShapes().appendShape(ShapeType.RECTANGLE, rect); //Fill the shape with picture shape.getLine().setFillType(FillFormatType.NONE); shape.getLocking().setSelectionProtection(true); shape.getFill().setFillType(FillFormatType.PICTURE); shape.getFill().getPictureFill().setFillType(PictureFillType.STRETCH); shape.getFill().getPictureFill().getPicture().setEmbedImage(imageData); //Send the shape to back shape.setShapeArrange(ShapeAlignmentEnum.ShapeArrange.SendToBack); } } Заключение В этой статье
рассказывается о том, как добавлять текстовые или графические водяные знаки в
PowerPoint с помощью Spire.Presentation for Java. Как продвинутая библиотека
PowerPoint, она поддерживает множество других функций, таких как: Печать документов
PowerPoint в Java
Добавить текстовый водяной знак в PowerPoint в Java
Добавить изображение водяного знака в PowerPoint в Java