前言
以下方法大多数是博主从网上查阅资料参考很多大神的方法之后,然后结合博主的理解,将大神们的方法整理实现的,还有不少方法忘记参考的哪位大佬的了,所以目前仅是将想起来的大神提供出来,如有侵权请联系博主删除。未经博主同意,暂不给转载哈。
以下出现的公司名称原本是博主的公司,现在已注销了,如有侵权请联系博主删除。
参考大佬们的代码:(部分) JAVA利用Graphics2D生成电子签章 修改Jar包中的内容(替换、删除文件)+ aspose-words签名解除 + 配置maven引入
一、生成电子公章工具类
电子公章效果如图: ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020092718311219.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTU3NjkwMw==,size_16,color_FFFFFF,t_70#pic_center)
工具类如下:(直接拷贝可用,已根据博主需要做了一下细微调整)
package com.siboo.util;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Transparency;
import java.awt.font.FontRenderContext;
import java.awt.geom.AffineTransform;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import com.newtec.myqdp.server.utils.StringUtils;
public class Graphics2DUtil {
private static final int WIDTH = 450;//图片宽度
private static final int HEIGHT = 450;//图片高度
/**
*
* @Title: splitImage
* @Description: 分割图片
* @param image 图片BufferedImage流
* @param rows 分割行
* @param cols 分割列
* @return BufferedImage[] 返回分割后的图片流
*/
public static BufferedImage[] splitImage(BufferedImage image, int rows, int cols) {
// 分割成4*4(16)个小图
int chunks = rows * cols;
// 计算每个小图的宽度和高度
int chunkWidth = image.getWidth() / cols + 3;// 向右移动3
int chunkHeight = image.getHeight() / rows;
int count = 0;
BufferedImage[] imgs = new BufferedImage[chunks];
for (int x = 0; x |