在前文中,我介绍过如何给PDF文档增加文本和图片水印。本文将具体解说如何增加、删除PPT文本和图片水印。

此次代码示例所用到的工具是Free Spire.Presentation for Java。Free Spire.Presentation for Java 是一个业余的PowerPoint API,它容许开发人员在Java应用程序中创立、读取、写入、转换和保留PowerPoint文档。同时,作为一款独立的Java组件,其运行环境无需装置Microsoft PowerPoint。

操作步骤:

通过官网下载获取Jar包,解压后将lib文件夹下的Spire.Presentation.jar手动导入Java程序。

另外,也可通过maven仓库装置产品及导入相干依赖包。具体装置详情参见此教程。

代码示例

示例1 增加图片水印

import com.spire.presentation.*;

import com.spire.presentation.drawing.*;

import javax.imageio.ImageIO;

import java.io.File;

public class AddImageWatermark {

public static void main(String[] args) throws Exception {

//加载示例文档

Presentation presentation = new Presentation();

presentation.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pptx");

//获取水印图片

File file =new File("C:\\Users\\Test1\\Desktop\\logo.png");

IImageData image = presentation.getImages().append(ImageIO.read(file));

//获取幻灯片背景属性,设置图片填充

presentation.getSlides().get(0).getSlideBackground().setType(BackgroundType.CUSTOM);

presentation.getSlides().get(0).getSlideBackground().getFill().setFillType(FillFormatType.PICTURE);

presentation.getSlides().get(0).getSlideBackground().getFill().getPictureFill().setFillType(PictureFillType.STRETCH);

presentation.getSlides().get(0).getSlideBackground().getFill().getPictureFill().getPicture().setEmbedImage(image);

//保存文档

presentation.saveToFile("output/addImageWatermark.pptx", FileFormat.PPTX_2013);

}

}

增加成果:

示例2 增加文本水印

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 presentation = new Presentation();

presentation.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pptx");

//设置文本水印的宽和高

int width= 400;

int height= 300;

//定义一个长方形区域

Rectangle2D.Double rect = new Rectangle2D.Double((presentation.getSlideSize().getSize().getWidth() - width) / 2,

(presentation.getSlideSize().getSize().getHeight() - height) / 2, width, height);

//增加一个shape到定义区域

IAutoShape shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE, rect);

//设置shape款式

shape.getFill().setFillType(FillFormatType.NONE);

shape.getShapeStyle().getLineColor().setColor(Color.white);

shape.setRotation(-45);

shape.getLocking().setSelectionProtection(true);

shape.getLine().setFillType(FillFormatType.NONE);

//增加文本到shape

shape.getTextFrame().setText("外部应用");

PortionEx textRange = shape.getTextFrame().getTextRange();

//设置文本水印款式

textRange.getFill().setFillType(FillFormatType.SOLID);

textRange.getFill().getSolidColor().setColor(Color.pink);

textRange.setFontHeight(50);

//保存文档

presentation.saveToFile("output/addTextWatermark.pptx", FileFormat.PPTX_2010);

}

}

增加成果:

示例3 删除图片和文本水印

package Watermark;

import com.spire.presentation.*;

import com.spire.presentation.drawing.*;

public class DeleteWatermark {

public static void main(String[] args) throws Exception {

//加载示例文档

Presentation presentation = new Presentation();

presentation.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pptx");

//移除文本水印

for (int i = 0; i < presentation.getSlides().getCount(); i++)

{

for (int j = 0; j < presentation.getSlides().get(i).getShapes().getCount(); j++)

{

if (presentation.getSlides().get(i).getShapes().get(j) instanceof IAutoShape)

{

IAutoShape shape = (IAutoShape)presentation.getSlides().get(i).getShapes().get(j);

if (shape.getTextFrame().getText().contains("外部应用"))

{

presentation.getSlides().get(i).getShapes().remove(shape);

}

}

}

}

//移除图片水印

for (int i = 0; i < presentation.getSlides().getCount(); i++)

{

presentation.getSlides().get(i).getSlideBackground().getFill().setFillType(FillFormatType.NONE);

}

//保存文档

presentation.saveToFile("output/removeTextOrImageWatermark.pptx", FileFormat.PPTX_2013);

}

}

(本文完)

java图片去掉文字_关于java:Java-添加删除PPT文本和图片水印相关推荐

  1. java 字符串去掉特殊字符_如何从字符串中删除特殊字符?

    这取决于您定义为特殊字符的内容,但是请尝试replaceAll(...): String result = yourString.replaceAll("[-+.^:,]",&qu ...

  2. python 最准确的图片转文字软件_图片转文字软件哪个好?5款好用的图片转文字软件推荐...

    原标题:图片转文字软件哪个好?5款好用的图片转文字软件推荐 一些网友在整理资料的时候发现,所收获的资料都是图片,大部分的文字内容都在图片上,如果一个字一个字的打出来,需要花费非常多的时间,小编的建议是 ...

  3. java图片头像代码_如何用java实现类似于QQ的头像系统

    头像系统可以分为三个步骤:用户选择了一张图片作为头像,这个头像图片被上传到服务器端,服务器端保存该图片.下次用户登陆客户端时就从服务器端取回该图片. 所以只要解决3个问题:如何利用网络上传图片至服务器 ...

  4. java获取机器号_(转)JAVA获得机器码的实现

    http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码  收藏代码 /** *生成机 ...

  5. java绘制矩形 鼠标_如何用java在面板上用鼠标绘制出一个矩形

    展开全部 import java.awt.*; import java.awt.geom.*; import javax.swing.*; import java.awt.event.*; impor ...

  6. 新手学java 学哪方面_初学者学Java应从哪些方面学习?

    原标题:初学者学Java应从哪些方面学习? Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.那么,初学者学Java应从哪些方面学 ...

  7. java加载机制_详解Java类加载机制

    一:ClassLoader 从JVM结构图中可以看到,类加载器的作用是将Java类文件加载到Java虚拟机. HotSpot JVM结构,图片来自Java Garbage Collection Bas ...

  8. java ee是编程语言_什么是Java编程语言?

    java ee是编程语言 什么是Java? (What is Java?) Java is an Object-Oriented Programming Language. It was first ...

  9. java 读取ppt_Java 读取PPT文本和图片

    本篇文章将介绍通过Java程序来读取PPT幻灯片中的文本及图片的方法.读取图片时,可读取文档中的所有图片,也可以读取指定幻灯片当中的图片. 工具:Free Spire.Presentation for ...

最新文章

  1. 怎样提高WebService的性能
  2. nagios+sendmail配置
  3. Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory
  4. python 查找文件内容字符串位置_python 查找目录下 文件名中含有某字符串的文件...
  5. CTFshow 信息收集 web14
  6. window10 运行linux软件,现在你可以直接在Windows 10平台上运行带用户界面的Linux桌面软件...
  7. Window捕获消息机制及动态创建button-MFC
  8. ARC106——E - Medals
  9. win10安装dockerx docker的常见命令 可以子腾讯云上做做练习
  10. 计算机网络(二十三)-网络层-概述与数据交换方式
  11. 运算符优先级与结合性
  12. PDFtoDXF or other Vector Graphics (PDF转 Autocad 的DXF及其他格式矢量图形):pstoedit+Ghostscript...
  13. 精益管理研究院陈逸超 | 用精益思维创造数据价值金矿
  14. 中移动投身开放大潮重整数据业务
  15. SAP介绍:概念、核心、开发语言、优缺点与集成
  16. 【Matlab】变分法求控制器(无约束)
  17. EM30719 I2C读写问题
  18. 深入浅出 RxJS 核心原理(源码实现)
  19. AAAI 2020 | 清华大学牛人为BabelNet同义词集预测Sememe建立多语言知识库
  20. 被玩坏的IE浏览器——漏洞利用方法和技巧介绍

热门文章

  1. python图像识别之图片相似度计算
  2. ZuulFilter统一异常处理
  3. 手机python教程_python教程下载
  4. java controller注解原理_@Controller、@RestController注解区别详解
  5. 工行闪酷卡 网银圈存
  6. 3060显卡和2080s显卡总掉卡,打开显卡的持续模式 nvidia-smi -pm 1
  7. 国产蓝牙耳机品牌之好口碑,平价好用蓝牙耳机点评
  8. 从实习月薪3k到月薪18k测试工程师,我用了两年追上了曾经被给予厚望的自己~
  9. 洛谷1518__两头塔姆沃斯牛
  10. 在当前主机添加两块网卡,将两块网卡绑定实现网卡冗余操作。