Java(骑缝章)

在我们的工作中,骑缝章是经常运用到的一种盖印鉴的方式,如合同、人事档案、技术文件等比较重要的资料信息商业文档。其主要作用是为了防范风险,避免文件出现增减、修改时而不得知。本文将使用Java代码来实现给PDF文档添加骑缝章。

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

Java 给PDF文档添加骑缝章

如何使用Java代码来给PDF文档添加骑缝章?

创建测试环境:

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

添加依赖包到IDEA:

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

方式2:在IDEA中创建Maven仓库,然后在pom.xml文件下引用以下代码。


        
            com.e-iceblue
            http://repo.e-iceblue.cn/repository/maven-public/
        
    

    
        e-iceblue
        spire.pdf.free
        3.9.0
    

运行代码:

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;
    }
}

原创文章,作者:SRMGVT,如若转载,请注明出处:https://www.beidanyezhu.com/a/7247.html

(0)
SRMGVT的头像SRMGVT
上一篇 2024-12-17
下一篇 2024-12-17

相关推荐

  • Java(eclipse怎么设置中文)

    ​一、Eclipse开发工具 在实际项目开发过程中,由于使用记事本编写代码速度慢,且容易排错,所以程序员很少用它来编写代码。为了提高程序的开发效率,大部分软件开发人员都使用集成开发…

  • Java(苹果怎么安装外来软件)

    3 月 16 日,甲骨文正式发布 Java 16。甲骨文表示,现在为所有开发人员和企业提供 Java 16。 据悉,按照甲骨文重要补丁更新(CPU)时间表,甲骨文 JDK 16 将…

  • Java(example怎么读)

    并发历史的演进及深入理解 在计算机早期,程序运行只能从上到下去执行,计算机的所有资源都为这个程序服务,不管你需不需要都得给我候着,这个时候就会存在一个系统资源利用不充分的情况,在这…

  • Java(example怎么读)

    并发历史的演进及深入理解 在计算机早期,程序运行只能从上到下去执行,计算机的所有资源都为这个程序服务,不管你需不需要都得给我候着,这个时候就会存在一个系统资源利用不充分的情况,在这…

  • 标书到底该怎么盖章(骑缝章怎么盖)

    在招标投标活动中,由于投标文件盖章或签字不符合要求而被废标的情况经常发生,甚至有时还会因此造成招标失败。有些招标人要求投标人在投标文件的多个指定位置盖章或签字,或者同时盖章和签字,…

    2025-04-09
  • Java有必要转Go语言吗

    可以根据情况来看是否有必要转Go语言,如果对Go语言感兴趣,并且条件允许推荐转Go语言,Go语言是一种静态强类型、编译型语言,不仅语法比Java简洁,而且性能比Java更好,编译速…

  • Java和go语言哪个更好?

    Go语言是谷歌2009年发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。…

    2025-01-01
  • Golang和Java的对比

    1、上市时间 曾几何时,Java被誉为最简单最容易编译的语言。但移动Java,Golang在这里是它的超级干净的语法和紧凑的形式。企业应用程序正在以闪电般的速度发展,从而帮助企业缩…

  • 1960年董健吾蒙冤入狱(支票骑缝章)

    图丨董健吾旧照 前言 毛主席曾经说过,我们党内有两个奇人,一个做过和尚,一个当过牧师。这里的“和尚”自然就是指许世友,而“牧师”就是我党的秘密党员董健吾。毛主席之所以说董健吾是“奇…

    2024-12-17
  • Java(什么叫骑缝章)

    在我们的工作中,骑缝章是经常运用到的一种盖印鉴的方式,如合同、人事档案、技术文件等比较重要的资料信息商业文档。其主要作用是为了防范风险,避免文件出现增减、修改时而不得知。本文将使用…

    2024-12-17
分享本页
返回顶部