Java 设置PDF平铺图片背景(水印)
一、概述及环境准备
本文介绍使用免费版PDF库-Free Spire.PDF for Java加载图片来设置成PDF平铺图片背景的效果,也可以作为平铺图片水印来使用;编辑代码前,需要先导入jar文件,有两种方法可供选着导入:
1. 手动下载导入:可前往官网下载jar包,并解压,将lib文件夹下的Spire.Pdf.jar文件导入Java程序;
2. Maven仓库导入:通过创建Maven项目,在pom.xml文件中配置Maven仓库路径并指定Free Spire.PDF for Java的Maven依赖,如下:
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories> <dependencies>
<dependency>
<groupId> e-iceblue </groupId>
<artifactId>spire.pdf.free</artifactId>
<version>2.6.3</version>
</dependency>
</dependencies>
配置完成后,点击”Import Changes”即可导入Jar文件。(注:本文中使用的是IDEA,如果使用的是Eclipse,可参考导入方法)
Jar导入效果如下:
二、Java代码示例
import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfImage;
import com.spire.pdf.graphics.PdfTilingBrush; import java.awt.*;
import java.awt.geom.Dimension2D;
import java.awt.geom.Rectangle2D; public class AddBackground {
public static void main(String[] args) {
//创建PdfDocument对象,并加载PDF测试文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("test.pdf"); //遍历文档每一页,加载图片,并设置成平铺背景(水印)
for (int i = 0; i < pdf.getPages().getCount();i++)
{
PdfPageBase page = pdf.getPages().get(i); Dimension2D dimension2D = new Dimension();
dimension2D.setSize(page.getCanvas().getSize().getWidth()/4, page.getCanvas().getSize().getHeight()/3); PdfTilingBrush brush = new PdfTilingBrush(dimension2D);
brush.getGraphics().setTransparency(0.2f);
brush.getGraphics().translateTransform(brush.getSize().getWidth()/10,brush.getSize().getHeight()/10);
brush.getGraphics().rotateTransform(30); PdfImage image = PdfImage.fromImage("logo.png");
brush.getGraphics().drawImage(image,brush.getSize().getWidth()-image.getWidth()/2,(brush.getSize().getHeight())/2); Rectangle2D rectangle2D = new Rectangle2D.Float();
rectangle2D.setFrame(new Point(0,0),page.getCanvas().getClientSize()); page.getCanvas().drawRectangle(brush,rectangle2D);
} //保存文档
pdf.saveToFile("SetTiledBackground.pdf");
pdf.dispose();
}
}
平铺图片背景(水印)效果:
附: 平铺文本水印效果可参考这篇文章。
(完)
Java 设置PDF平铺图片背景(水印)的更多相关文章
- java实现图片和pdf添加铺满文字水印
依赖jar包 <!-- pdf start --> <dependency> <groupId>com.itextpdf</groupId> <a ...
- C# 处理PPT水印(三)—— 在PPT中添加多行(平铺)文本水印效果
在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即幻灯片中只有一个文本水印:也可以添加多行(平铺)文本水印效果,即幻灯片中以一定方式平铺排列多个文本水印效果.本文 ...
- [ATL/WTL]_[0基础]_[CBitmap复制图片-截取图片-平铺图片]
场景: 1.当你须要截取图片部分区域作为某个控件的背景. 2.须要平铺图片到一个大区域让他自己主动放大时. 3.或者须要合并图片时. 代码: CDC sdc; CDC ddc; sdc.CreateC ...
- 代码code设置9.png/9-patch 图片背景后,此view中的TextView等控件显示不正常
代码code设置9.png/9-patch 图片背景后,此view中的TextView等控件显示不正常 设置 padding=0
- Java 设置PDF文档背景——单色背景、图片背景
一般生成的PDF文档默认的文档底色为白色,我们可以通过一定方法来更改文档的背景色,以达到文档美化的作用. 以下内容提供了Java编程来设置PDF背景色的方法.包括2种设置方法: 设置纯色背景色 设置图 ...
- 如何用vue封装一个防用户删除的平铺页面的水印组件
需求 为了防止截图等安全问题,在web项目页面中生成一个平铺全屏的水印 要求水印内容为用户名,水印节点用户不能通过开发者工具等删除 效果 如上图 在body节点下插入水印DOM节点,水印节点覆盖在页面 ...
- Java 设置PDF文档背景色
一般生成的PDF文档默认的文档底色为白色,我们可以通过一定方法来更改文档的背景色,以达到文档美化以及保护双眼的作用. 以下内容提供了Java编程来设置PDF背景色的方法.包括: 设置纯色背景色 设置图 ...
- itext5和itext7操作pdf平铺和图层叠加(tiling, and N-upping)
区别 itext5 生成pdf版本:1.4(Acrobat5.x) itext7 生成pdf版本:1.7(Acrobat8.x) iText7生成的pdf文件大, itext7 Java库更加系统和完 ...
- Java 设置PDF跨页表格重复显示表头行
在创建表格时,如果表格内容出现跨页显示的时候,默认情况下该表格的表头不会在下一页显示,在阅读体验上不是很好.下面分享一个方法如何在表格跨页是显示表格的表头内容,这里只需要简单使用方法 grid.set ...
随机推荐
- Tortoise svn 基础知识
1 不跟踪文件.文件夹 1.1 文件.文件夹已经被svn跟踪 将本地文件.文件夹删除(windows删除文件的删除,快捷键是shift+delete),然后执行svn update 将服务器同步到 ...
- Docker 入门:镜像
主要内容: 什么是镜像 下载镜像 pull 设置下载加速源 查看镜像 上传镜像 push 什么是镜像(image) 镜像是一个文件系统,提供了容器运行时需要用到的文件和参数配置.相当于平时在使用某个软 ...
- 关于如何查看论文是否被SCI或者EI收录
最好的方法,在高校图书馆网站上进行查询. 另外还有就是去对应网站查询: SCI:https://apps.webofknowledge.com/UA_GeneralSearch_input.do?pr ...
- html5学习之路_002
html块 html块元素 块元素在显示时,通常会以新行开始 如:<h1>.<p>.<ul> html内联元素 内联元素头通常不会以新行开始 如:<b> ...
- String类的内存解析
package com.aff.equals; public class TestString { public static void main(String[] args) { String st ...
- 关于Dev-C++一种引用头文件<iostream>问题(暴力解决)
问题情况如下,因个人水平有限,不知道具体原因是啥,当引用头文件<iostream>时会出现如下问题,经排查,并不是头文件本身的问题,有可能是Dev哪一个文件被改动了,或者设置出了问题(前者 ...
- Java和NodeJS解析XML对比
Java解析XML 1.接收xml文件或者字符串,转为InputStream 2.使用DocumentBuilderFactory对象将InputStream转为document对象 Document ...
- harbor越权漏洞(CVE-2019-16097)
漏洞介绍 这个漏洞可以在注册发送post包时,加入has_admin_role:true就可以直接注册成为管理员,下图可以看看user的结构: 有很多属性,此处我们关注的是"HasAdmin ...
- Alpha冲刺——总结随笔
这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.项目预期计划: ...
- Window10:不能建立到远程计算机的连接,你可能需要更改此连接的网络设置。
一,右键我的电脑点击管理. 二,在系统工具中找到设备管理,在设备管理中找到网络适配器. 三,在网络适配器中找到WAN Miniport(IP) 四,找到WAN Miniport(IP)右键放心卸载,作 ...