java图片去掉文字_关于java:Java-添加删除PPT文本和图片水印
在前文中,我介绍过如何给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文本和图片水印相关推荐
- java 字符串去掉特殊字符_如何从字符串中删除特殊字符?
这取决于您定义为特殊字符的内容,但是请尝试replaceAll(...): String result = yourString.replaceAll("[-+.^:,]",&qu ...
- python 最准确的图片转文字软件_图片转文字软件哪个好?5款好用的图片转文字软件推荐...
原标题:图片转文字软件哪个好?5款好用的图片转文字软件推荐 一些网友在整理资料的时候发现,所收获的资料都是图片,大部分的文字内容都在图片上,如果一个字一个字的打出来,需要花费非常多的时间,小编的建议是 ...
- java图片头像代码_如何用java实现类似于QQ的头像系统
头像系统可以分为三个步骤:用户选择了一张图片作为头像,这个头像图片被上传到服务器端,服务器端保存该图片.下次用户登陆客户端时就从服务器端取回该图片. 所以只要解决3个问题:如何利用网络上传图片至服务器 ...
- java获取机器号_(转)JAVA获得机器码的实现
http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码 收藏代码 /** *生成机 ...
- java绘制矩形 鼠标_如何用java在面板上用鼠标绘制出一个矩形
展开全部 import java.awt.*; import java.awt.geom.*; import javax.swing.*; import java.awt.event.*; impor ...
- 新手学java 学哪方面_初学者学Java应从哪些方面学习?
原标题:初学者学Java应从哪些方面学习? Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.那么,初学者学Java应从哪些方面学 ...
- java加载机制_详解Java类加载机制
一:ClassLoader 从JVM结构图中可以看到,类加载器的作用是将Java类文件加载到Java虚拟机. HotSpot JVM结构,图片来自Java Garbage Collection Bas ...
- java ee是编程语言_什么是Java编程语言?
java ee是编程语言 什么是Java? (What is Java?) Java is an Object-Oriented Programming Language. It was first ...
- java 读取ppt_Java 读取PPT文本和图片
本篇文章将介绍通过Java程序来读取PPT幻灯片中的文本及图片的方法.读取图片时,可读取文档中的所有图片,也可以读取指定幻灯片当中的图片. 工具:Free Spire.Presentation for ...
最新文章
- 怎样提高WebService的性能
- nagios+sendmail配置
- Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory
- python 查找文件内容字符串位置_python 查找目录下 文件名中含有某字符串的文件...
- CTFshow 信息收集 web14
- window10 运行linux软件,现在你可以直接在Windows 10平台上运行带用户界面的Linux桌面软件...
- Window捕获消息机制及动态创建button-MFC
- ARC106——E - Medals
- win10安装dockerx docker的常见命令 可以子腾讯云上做做练习
- 计算机网络(二十三)-网络层-概述与数据交换方式
- 运算符优先级与结合性
- PDFtoDXF or other Vector Graphics (PDF转 Autocad 的DXF及其他格式矢量图形):pstoedit+Ghostscript...
- 精益管理研究院陈逸超 | 用精益思维创造数据价值金矿
- 中移动投身开放大潮重整数据业务
- SAP介绍:概念、核心、开发语言、优缺点与集成
- 【Matlab】变分法求控制器(无约束)
- EM30719 I2C读写问题
- 深入浅出 RxJS 核心原理(源码实现)
- AAAI 2020 | 清华大学牛人为BabelNet同义词集预测Sememe建立多语言知识库
- 被玩坏的IE浏览器——漏洞利用方法和技巧介绍
热门文章
- python图像识别之图片相似度计算
- ZuulFilter统一异常处理
- 手机python教程_python教程下载
- java controller注解原理_@Controller、@RestController注解区别详解
- 工行闪酷卡 网银圈存
- 3060显卡和2080s显卡总掉卡,打开显卡的持续模式 nvidia-smi -pm 1
- 国产蓝牙耳机品牌之好口碑,平价好用蓝牙耳机点评
- 从实习月薪3k到月薪18k测试工程师,我用了两年追上了曾经被给予厚望的自己~
- 洛谷1518__两头塔姆沃斯牛
- 在当前主机添加两块网卡,将两块网卡绑定实现网卡冗余操作。