PDF识别文字、关键字,获取对应坐标,用于插入电子签名

*java识别pdf中的关键字,获取关键字坐标 *

今天遇到个需求,需要在pdf中识别关键字的坐标位置并插入电子签名(png,jpg),在网上找了很多的案例,发现不同的pdf识别出来效果不一样,有的pdf识别是一个文字一个文字,有的是一段文字一段文字。最终发现,由于pdf来源不同(word转换、excel转换、图片转换)导致识别的效果有所差异。

于是自己整理了一份案例,效果还算完美

效果展示

在这里插入图片描述

废话不多说
使用依赖:itextpdf-5.5.13.jar
常见itextpdf各个版本【0积分免费下载】 下载地址

  1. 新建DTO实体,用于接收返回的坐标信息
public class MatchItem {
   
    /**
     * 页数
     */
    private Integer pageNum;

    /**
     * X轴坐标
     */
    private Float x;

    /**
     * Y轴坐标
     */
    private Float y;

    /**
     * 宽度
     */
    private Float pageWidth;

    /**
     * 高度
     */
    private Float pageHeight;

    /**
     * 匹配到的文案
     */
    private String content;

    public Integer getPageNum() {
   
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
   
        this.pageNum = pageNum;
    }

    public Float getX() {
   
        return x;
    }

    public void setX(Float x) {
   
        this.x = x;
    }

    public Float getY() {
   
        return y;
    }

    public void setY(Float y) {
   
        this.y = y;
    }

    public Float getPageWidth() {
   
        return pageWidth;
    }

    public void setPageWidth(Float pageWidth) {
   
        this.pageWidth = pageWidth;
    }

    public Float getPageHeight() {
   
        return pageHeight;
    }

    public void setPageHeight(Float pageHeight) {
   
        this.pageHeight = pageHeight;
    }

    public String getContent() {
   
        return content;
    }

    public void setContent(String content) {
   
        this.content = content;
    }

    @Override
    public String toString() {
   
        return "MatchItem [pageNum=" + pageNum + ", x=" + x + ", y=" + y
                + ", pageWidth=" + pageWidth + ", pageHeight=" + pageHeight
                + ", content=" + content + "]";
    }

}

2.新建工具类,用处识别文字坐标

public class AutoMatch {
   

    public static List<MatchItem> matchPage(String fileName, String keyword
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值