Водяные знаки обычно используются для указания владельца или для предотвращения несанкционированного использования документов. С другой стороны, они также используются для отображения статуса документа, такого как рукопись, черновик и т. д. В этой статье вы узнаете, как программно добавить текстовый или графический водяной знак на слайды PowerPoint с помощью Java.
- Java API для добавления водяных знаков в слайды PowerPoint
- Добавить текстовый водяной знак на слайды PowerPoint
- Добавить водяной знак изображения на слайды PowerPoint
Java API для добавления водяных знаков в слайды PowerPoint
Для добавления водяных знаков на слайды PowerPoint мы будем использовать Aspose.Slides for Java. Это API-интерфейс управления презентациями, который позволяет создавать документы презентации и управлять ими из приложений Java. Вы можете либо скачать API, либо установить его, используя следующие конфигурации Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
Добавить текстовый водяной знак на слайды PowerPoint в Java
Ниже приведены шаги по добавлению текстового водяного знака на слайды PowerPoint с помощью Java.
- Сначала загрузите презентацию PowerPoint с помощью класса Presentation.
- Получить ссылку на образец слайдов в объекте IMasterSlide.
- Рассчитайте положение водяного знака в соответствии с размерами презентации.
- Добавьте новую автофигуру в коллекцию Shapes слайда и получите ссылку на нее в объекте IAutoShape.
- Добавьте текстовый фрейм к фигуре и задайте его текст с помощью метода IAutoShape.addTextFrame(string).
- Установите размер шрифта, цвет и угол поворота водяного знака.
- Заблокируйте водяной знак, чтобы избежать удаления или модификации.
- Наконец, сохраните обновленный файл PowerPoint, используя метод Presentation.save(string, SaveFormat).
В следующем примере кода показано, как добавить текстовый водяной знак на слайды PowerPoint.
// Открытая презентация
Presentation pres = new Presentation("presentation.pptx");
try {
// Мастер доступа
IMasterSlide master = pres.getMasters().get_Item(0);
Point2D.Float center = new Point2D.Float((float) pres.getSlideSize().getSize().getWidth() / 2,
(float) pres.getSlideSize().getSize().getHeight() / 2);
float width = 300;
float height = 300;
float x = (float) center.getX() - width / 2;
float y = (float) center.getY() - height / 2;
// Добавить фигуру
IAutoShape watermarkShape = master.getShapes().addAutoShape(ShapeType.Rectangle, x, y, width, height);
// Установить тип заполнения
watermarkShape.getFillFormat().setFillType(FillType.NoFill);
watermarkShape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);
// Установить угол поворота
watermarkShape.setRotation(-45);
// Установить текст
ITextFrame watermarkTextFrame = watermarkShape.addTextFrame("Watermark");
// Установить шрифт и цвет
IPortion watermarkPortion = watermarkTextFrame.getParagraphs().get_Item(0).getPortions().get_Item(0);
watermarkPortion.getPortionFormat().setFontHeight(52);
int alpha = 150, red = 200, green = 200, blue = 200;
watermarkPortion.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
watermarkPortion.getPortionFormat().getFillFormat().getSolidFillColor()
.setColor(new Color(red, green, blue, alpha));
// Заблокировать фигуры от изменения
watermarkShape.getAutoShapeLock().setSelectLocked(true);
watermarkShape.getAutoShapeLock().setSizeLocked(true);
watermarkShape.getAutoShapeLock().setTextLocked(true);
watermarkShape.getAutoShapeLock().setPositionLocked(true);
watermarkShape.getAutoShapeLock().setGroupingLocked(true);
// Сохранить презентацию
pres.save("watermarked-presentation.pptx", SaveFormat.Pptx);
} finally {
if (pres != null)
pres.dispose();
}
Выход
Ниже приведен скриншот слайда PowerPoint после добавления водяного знака.
Добавить водяной знак изображения на слайды PowerPoint в Java
Ниже приведены шаги по добавлению водяного знака изображения на слайды PowerPoint в Java.
- Сначала загрузите презентацию PowerPoint с помощью класса Presentation.
- Получить ссылку на образец слайдов в объекте IMasterSlide.
- Рассчитайте положение водяного знака в соответствии с размерами презентации.
- Добавьте новую автофигуру в коллекцию Shapes слайда и получите ссылку на нее в объекте IAutoShape.
- Добавьте изображение в презентацию и получите ссылку на него в объекте IPPImage.
- Установите тип заливки IAutoShape на FillType.Picture.
- Установите изображение водяного знака с помощью метода IAutoShape.getFillFormat().getPictureFillFormat().getPicture().setImage(IPPImage).
- Заблокируйте водяной знак, чтобы избежать удаления или модификации.
- Наконец, сохраните обновленный файл PowerPoint, используя метод Presentation.save(string, SaveFormat).
В следующем примере кода показано, как добавить водяной знак изображения на слайды PowerPoint.
// Открытая презентация
Presentation pres = new Presentation("presentation.pptx");
try {
// Доступ к мастеру слайдов
IMasterSlide master = pres.getMasters().get_Item(0);
Point2D.Float center = new Point2D.Float((float) pres.getSlideSize().getSize().getWidth() / 2,
(float) pres.getSlideSize().getSize().getHeight() / 2);
float width = 300;
float height = 300;
float x = (float) center.getX() - width / 2;
float y = (float) center.getY() - height / 2;
// Добавить фигуру
IAutoShape watermarkShape = master.getShapes().addAutoShape(ShapeType.Rectangle, x, y, width, height);
IPPImage image = pres.getImages().addImage(Files.readAllBytes(Paths.get("watermark.png")));
// Установить тип заполнения
watermarkShape.getFillFormat().setFillType(FillType.Picture);
watermarkShape.getFillFormat().getPictureFillFormat().getPicture().setImage(image);
watermarkShape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Stretch);
watermarkShape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);
// Заблокировать фигуры от изменения
watermarkShape.getAutoShapeLock().setSelectLocked(true);
watermarkShape.getAutoShapeLock().setSizeLocked(true);
watermarkShape.getAutoShapeLock().setTextLocked(true);
watermarkShape.getAutoShapeLock().setPositionLocked(true);
watermarkShape.getAutoShapeLock().setGroupingLocked(true);
// Сохранить презентацию
pres.save("watermarked-presentation-image.pptx", SaveFormat.Pptx);
} finally {
if (pres != null)
pres.dispose();
}
Ниже приведен скриншот презентации после добавления водяного знака изображения.
Получите бесплатную лицензию API
Вы можете использовать Aspose.Slides for Java без ограничений на пробную версию, запросив временную лицензию.
Попробуйте онлайн
Попробуйте следующий онлайн-инструмент для создания водяных знаков, разработанный с использованием Aspose.Slides.
Вывод
В этой статье вы узнали, как добавить водяной знак на слайды PowerPoint с помощью Java. В пошаговом руководстве и примерах кода показано, как добавлять текстовые и графические водяные знаки в презентации PowerPoint. Кроме того, вы можете ознакомиться с документацией, чтобы изучить другие функции API. Кроме того, вы можете сообщить нам о своих вопросах через наш форум.