什么是骑缝章(什么是骑缝章怎么盖)

在我们的工作中,缝制印章是一种常见的印章方式,如合同、人事档案、技术文件等重要信息业务文件。其主要作用是防范风险,避免文件在不知情的情况下被添加、删除或修改。在

在我们的工作中,缝制印章是一种常见的印章方式,如合同、人事档案、技术文件等重要信息业务文件。其主要作用是防范风险,避免文件在不知情的情况下被添加、删除或修改。在这篇论文中,Java代码将被用来给PDF文档添加一个骑马钉。

首先,我们来看看添加的效果图:

Java 给PDF文档添加骑缝章

如何用Java代码给PDF文档添加骑马钉?

创建测试环境:

IntelliJ IDEA 2019JDK 1.8Free Spire.PDF for Java (免费)

向IDEA添加依赖包:

1.方式:通过E-iceblue中文官网下载免费的Spire.PDF for Java产品包,手动导入Spire。lib文件夹下的Pdf.jar解压后放入IDEA。

2:在IDEA中创建Maven仓库,然后参考pom.xml文件下的以下代码。

<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>3.9.0</version> </dependency></dependencies>

运行代码:

import com.spire.pdf.*;import com.spire.pdf.graphics.*;import javax.imageio.ImageIO;import java.awt.*;import java.awt.geom.Point2D;import java.awt.image.BufferedImage;import java.io.*;public class AddSeamSeals { public static void main(String[] args) throws IOException { //加载示例文档 PdfDocument doc = new PdfDocument(); doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf"); PdfUnitConvertor convert = new PdfUnitConvertor(); PdfPageBase pageBase = null; //获取分割后的印章图片 BufferedImage[] images = GetImage(doc.getPages().getCount()); float x = 0; float y = 0; //将图片画到PDF页面上的指定位置 for (int i = 0; i < doc.getPages().getCount(); i++) { BufferedImage image= images[ i ]; pageBase = doc.getPages().get(i); x = (float)(pageBase.getSize().getWidth()) - convert.convertUnits(image.getWidth(), PdfGraphicsUnit.Pixel, PdfGraphicsUnit.Point); y = (float) pageBase.getSize().getHeight()/ 2; pageBase.getCanvas().drawImage(PdfImage.fromImage(image), new Point2D.Float(x, y)); } //保存PDF doc.saveToFile("output/AddSeamSeals.pdf"); } //定义GetImage方法,根据PDF页数分割印章图片 static BufferedImage[] GetImage(int num) throws IOException { String originalImg = "C:\\Users\\Test1\\Desktop\\Stamp.png"; BufferedImage image = ImageIO.read(new File(originalImg)); int rows = 1; int cols = num; int chunks = rows * cols; int chunkWidth = image.getWidth() / cols; int chunkHeight = image.getHeight() / rows; int count = 0; BufferedImage[] imgs = new BufferedImage[ chunks ]; for (int x = 0; x < rows; x++) { for (int y = 0; y < cols; y++) { imgs[ count ] = new BufferedImage(chunkWidth, chunkHeight, image.getType()); Graphics2D gr = imgs[ count++ ].createGraphics(); gr.drawImage(image, 0, 0, chunkWidth, chunkHeight, chunkWidth * y, chunkHeight * x, chunkWidth * y + chunkWidth, chunkHeight * x + chunkHeight, Color.WHITE,null); gr.dispose(); } } return imgs; }}

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/48150.html

发表回复

登录后才能评论