Java使用Spire.Pdf实现PDF添加图片水印

2023-11-05

通过本文你将学到:

  • Spire.Pdf是什么?
  • 如何在项目中引入Spire.Pdf依赖?
  • 项目中基于Spire.Pdf实现PDF添加图片水印?

一、Spire.Pdf是什么?

1.Spire.Pdf是成都冰蓝科技有限公司开发的一款简单易用、功能强大的Pdf文档编辑工具,有免费版本和收费版本,以下演示基于免费版本

2.相比较于市面上的其他类似工具,其最大的优点是:基于完全Java代码实现,不需要安装任何dll文件或其他证书文件,可完美利用Java跨平台特性运行于Linux环境

3.下面我们一起来领略如何简单的使用它

二、如何在项目中引入Spire.Pdf依赖?

1.下载地址:https://www.e-iceblue.cn/Downloads/Free-Spire-PDF-JAVA.html

2.官方搭建有官方Maven仓库:http://repo.e-iceblue.com/nexus/content/groups/public/

3.需要说明的是,不建议使用官方仓库,其一速度很慢,其二现在每个公司都有搭建自己的Maven私服,再使用其他公司的仓库需要公网支持也不是很方便,建议将jar包下载下来并上传到自己公司的私服里去

<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>free.spire.pdf</artifactId>
    <version>2.6.3</version>
</dependency>

三、项目中基于Spire.Pdf封装工具类实现PDF添加图片水印

直接上示例代码

package com.demo.utils;

import com.spire.pdf.PdfDocument;

import java.awt.geom.Rectangle2D;

public class ImgWatermarkUtilForPdf {

    public static void addWatermark(String inFile, String outFile, String imgFile) {
        //创建PdfDocument对象
        PdfDocument pdf = new PdfDocument();

        //加载示例文档
        pdf.loadFromFile(inFile);

        for (int i = 0; i < pdf.getPages().getCount(); i++) {
            //设置背景图片
            pdf.getPages().get(i).setBackgroundImage(imgFile);

            //设置背景区域
            Rectangle2D.Float rect = new Rectangle2D.Float();
            rect.setRect(135, 340, 340, 200);
            pdf.getPages().get(i).setBackgroundRegion(rect);
        }
        //保存文档
        pdf.saveToFile(outFile);
        pdf.close();
    }
}

代码中的图片水印大小和位置可自行设置调整

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java使用Spire.Pdf实现PDF添加图片水印 的相关文章

随机推荐

  • 【华为OD机试】跳房子1【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 跳房子 也叫跳飞机 是一种世界性的儿童游戏 游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格 跳房子的过程中 可以向前跳 也可以向后跳 假设房子的总格数是c
  • 无线地磁传感器更适合路边停车系统

    随着停车难问题日益严重 在有限的固定停车场外 路边停车就成为当下很常见的一种停车方式 早起国外采用电感线圈来作为车位的传感器 国内比较少见 而我国直接跨过了电感线圈 直接采用了无线地磁传感器作为车位的传感器 那么无线地磁传感器优势在哪 地磁
  • 程序员经常聚集的国内开发者社区总览表

    转载 http www iteye com topic 1135562 云盘 http yunpan 360 cn 不管是编程菜鸟还是程序员大牛 都需要有自己的交流圈和学习平台 根据我自己的经验总结分享一些开发者论坛 社区啊 有大牛聚集的地
  • Nginx完美解决前后端分离端口号不同导致的跨域问题

    笔者在做前后端分离系统时 出现了很多坑 比如前后端的url域名相同 但是端口号不同 例如前端页面为 http 127 0 0 1 后端api根路径为 http 127 0 0 1 8888 这样就导致跨域问题 前端设置的request he
  • 雷达辐射源调制信号仿真(代码)

    雷达辐射源调制信号仿真 说明 通过Matlab进行单载频 CW 线性调频 LFM 非线性调频 NLFM 二相编码 BPSK 四相编码 QPSK 二频编码 BFSK 四频编码 QFSK 七种雷达脉内调制信号的方仿真 环境 Matlab 直通
  • 【Web前端学习笔记】第一章 HTML常用标签

    Web前端学习笔记 第一章 HTML常用标签 文章目录 Web前端学习笔记 前言 一 HTML是什么 二 常见标签 1 文本标签 2 列表标签 3 图片标签img 4 超链接a 5 表格标签table 6 表单form 7 分区标签 总结
  • 开源软件收集

    http www 7 zip org 7 Zip 4 16 Beta 文件压缩工具 可与Windows资源管理器集成http a note sourceforge net A Note 4 2 1 可在Windows桌面放置便笺 并可提供闹
  • 大模型训练时,使用bitsandbytes报错的解决方法

    前言 在对大语言模型 LLaMa Chat GLM等 进行微调时 考虑到减少显存占用 会使用如下方式加载模型 from transformers import AutoModel model AutoModel from pretraine
  • 2021-07-31

    2周目总结 7 19 7 25 无事 打牌 7 26 8 1 河南加油 无事打牌 我似乎忘了什么 哦 还有作业没弄 作业qaq 正在补习ing
  • T027基于51单片机的智能窗帘窗户控制系统proteus仿真原理图PCB

    功能 0 本系统采用单片机STC89C52作为系统的主控芯片 1 系统采用LCD1602液晶实时显示当前时间 窗帘状态 光照强度 2 系统具有四个功能按键 支持手动按键 定时 遥控三种模式控制窗帘 3 系统采用一个轻触按键模拟限位开关 步进
  • 树的基本概念

    什么是树 一棵树是一些节点的集合 这个集合可以是空集 若非空 则一棵树由一个称作根 root 的节点r以及0个或n个非空的树T1 T2 Tn组成 我们把T1 T2 Tn称为根 root 的子树 这些子树中每一棵的根都被来自根r的一条边 ed
  • 基于sonar 的C#静态代码扫描使用总结

    1 原理简介 C 语言接入Sonar代码静态扫描相较于Java Python来说 相对麻烦一些 Sonar检测C 代码时需要预先编译 而且C 代码必须用MSbuid进行编译 如果需要使用SonarQube对C 进行代码质量分析 则需要Son
  • [Git & Jetbrains] - Jetbrains系列软件Git使用知识点(一)

    前言 基础使用技巧 正文 右下角白框处可查看项目所有分支 在分支前的星 代表提交将哪些分支更新 若要将远程分支下载到本地 选择远程分支 再点击Checkout 此处还有merge等操作选项 左下角的Git选项的第一个功能是查看当前项目改动
  • Kubectl logs 命令

    1 查看创建的状态 状态为Pending 准备中 Running状态 已经创建成功 kubectl get pods n test gt 2 查看POD详细信息 kubectl get pods o wide n test gt 3 创建p
  • angular 学习之组件component

    组件新建 ng g c name 如是想在哪个目录里建 就直接CD进入那目录里执行就可以了 系统自动生成文件 name componet less name compoent html name component spec ts name
  • 关于EXCLE 下拉框多选的设置

    关于EXCLE 下拉框多选的设置 本文转载于 https www cnblogs com boosasliulin p 5970120 html 本文转载于 https blog csdn net qq 33269520 article d
  • linux wayland体验速度,Wayland安装(转)

    Wayland 是一個極精簡的 display server 它是由 Kristian H gsberg 在工作之餘所進行的實驗性計畫 與 X server 不同 Wayland client 要負責所有的繪圖動作 server 只處理最後
  • 用openlayers在加载离线瓦片(里面附带下载瓦片的软件,请往下看)

    首先先来看看效果 这个是谷歌卫星图 然后我们说说怎么实现的吧 div style width 100 height 800px div
  • Vue + Spring Boot 项目实战项目简介

    参考https learner blog csdn net article details 88925013 githubhttps github com Antabot White Jotter
  • Java使用Spire.Pdf实现PDF添加图片水印

    通过本文你将学到 Spire Pdf是什么 如何在项目中引入Spire Pdf依赖 项目中基于Spire Pdf实现PDF添加图片水印 一 Spire Pdf是什么 1 Spire Pdf是成都冰蓝科技有限公司开发的一款简单易用 功能强大的