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

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

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

相关推荐

  • 新中式风格(什么叫新中式装修风格)

    现在新中式风格已经被越来越多的人接受。今天我们要分享的就是一套127㎡的新中式风格装修,整体很有质感,高级感满满。 设计简介: 装修风格:新中式风格 实际面积:127平米 空间格局…

  • 211大学揭开真相(为什么叫985大学和211大学)

    知道大学生毕业率有多高吗?绝大多数大学交出的答案都是:90%以上。知道这些答案的靠谱程度有多高吗?要多低有多低。2022年年初,一所“冒天下之大不韪”的211高校,把高校就业率的盖…

  • Java(eclipse怎么设置中文)

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

  • 英语中什么叫同位语(laura怎么读)

    点击关注“零食英语”,获取最实用的英语学习知识。 一、什么叫同位语 当两个指同一人或事物的句子成分放在同等位置时,若其中一个句子成分是用于说明或解释另一个句子成分的,那么用于起说明…

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

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

  • Java(example怎么读)

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

  • Java(example怎么读)

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

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

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

    2025-04-09
  • 什么叫股票除权除息(除权是什么意思)

    首先要弄明白除权除息的意思,除权除息后股价都会相对应下调,但除权除息后对于股东来说都是中性的,并未影响持股情况! ​ 什么叫除息? 除息意思就是:上市公司将盈余以现金分配给股东(现…

  • 什么是绿色食品(什么叫绿色食品)

    前几天和几个朋友到一家装潢很有特色店吃饭,点菜的时候发现素菜比荤菜还贵,就随口问服务员为什么这里青菜怎么这个贵,服务员说:我们这里与大型农场合作,蔬菜都是绿色食品,是无公害的,完全…

    2025-01-12
分享本页
返回顶部