获取pdf中固定位置图片的二维码,然后解析

news2025/1/11 15:09:30

1、需要引入下面的pom坐标如下




​2.完整代码如下
import com.github.binarywang.utils.qrcode.BufferedImageLuminanceSource;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.Result;
import com.google.zxing.common.HybridBinarizer;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import java.awt.image.BufferedImage;
import java.util.HashMap;

 

/**
* 获取pdf中固定位置图片的二维码,然后解析
*/
public class GetCoordinatesOfImage {

    public static void main(String[] args) throws Exception {
        PdfDocument doc = new PdfDocument("D://chukoupingzheng.pdf");
        PdfPageBase page = doc.getPages().get(0);
        BufferedImage[] bufferedImages = page.extractImages();

       //获取最后一张图片
        BufferedImage outImage = bufferedImages[bufferedImages.length - 1];
        MultiFormatReader formatReader = new MultiFormatReader();
        BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(outImage)));
        // 定义二维码的参数
        HashMap hints = new HashMap();
        //设置编码字符集
        hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
        //处理读取结果
        Result result = formatReader.decode(binaryBitmap, hints);

        System.out.println("解析结果:" + result.toString());
        System.out.println("二维码格式类型:" + result.getBarcodeFormat());
        System.out.println("result:" + result.toString().replace("*",""));

    }
}

 3.运行结果如下

 4.示例pdf部分,标注图片索引

测试代码解析的是最后一张二维码图片,可根据位置自行调整

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/75206.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

itop3568开发板在Linux系统中使用NPU

下载rknpu2并拷贝虚拟机Ubuntu,如下图所示,RKNPU2提供了访问rk3568 芯片 NPU 的高级接口。 下载地址为“iTOP-3568 开发板\02_【iTOP-RK3568 开发板】开发资料\11_NPU 使用配套资料\01_rknpu2 工具” 对于 RK3568 来说,Linux 平台 RKNN SDK 库…

[Spring5.3.2] Servlet[springmvc]的Servlet.init()引发异常, 解析类文件失败

Spring / Spring MVC遇到问题 找了一本spring相关的教材,书上的代码拿过来就能运行,自己写就总报HTTP 500错误,反复检查没有任何一处写错,同一个错误卡了我三天,非常郁闷,今天终于解决了.特此记录. 问题表现: 图中提到的问题: 例外情况 javax.servlet.ServletException: Ser…

编码规约学习要点

工程结构应用分层 日志规约 编程规约 > 其它 【强制】日期格式化时,传入 pattern 中表示年份统一使用小写的 y。 说明:日期格式化时,yyyy 表示当天所在的年,而大写的 YYYY 代表是 week in which year(JDK7 之后引…

第二证券|热门板块再次爆发,早盘主力抢筹超10亿元!

抗原检测、房地产概念股团体冲高,板块热度居高不下。 抗原检测概念股团体上涨 12月9日早盘,新冠抗原检测概念股团体上涨,概念指数涨4.74%,明德生物涨停,九安医疗、万孚生物、热景生物涨幅居前,分别上涨8.4…

【Window环境下使用MSYS2搭建CMake + MinGW环境】

目录标题安装CMakecmake 测试MSYS2下载MSYS2安装MSYS2修改软件下载源MSYS2下安装MinGW配置MinGW配置到环境变量hello world测试安装CMake Cmake下载地址:https://cmake.org/download/,下一个windows压缩包就好了,因为我比较喜欢自己来配置,免得不知道安…

嵌入式软件开发知识点总结-uboot文件系统

【推荐阅读】 浅析linux 系统进程冻结(freezing of task) 30分钟了解linux操作系统内核总结 深入linux内核架构--进程&线程 需要多久才能看完linux内核源码? 概述Linux内核驱动之GPIO子系统API接口 Uboot 什么是bootloader? …

Linux操作系统~进程崩溃的原理是什么?信号的产生方式有哪些?

目录 1.信号的概念 2.signal函数的使用 kill -l 自定义信号处理函数signal函数 3.进程异常/崩溃的原理 (1).进程为什么会崩溃? (2).如何知道进程崩溃/异常的原因 (3).core dump的作用—…

C++类设计和实现的十大最佳实践

C代码提供了足够的灵活性,因此对于大部分工程师来说都很难把握。本文介绍了写好C代码需要遵循的10个最佳实践,并在最后提供了一个工具可以帮助我们分析C代码的健壮度。原文:10 Best practices to design and implement a C class 1. 尽可能尝…

Word处理控件Aspose.Words功能演示:使用 C# 将 Word 文档转换为 HTML

在各种情况下,您需要在 Web 或桌面应用程序中显示 Word 文档的内容。在这种情况下,合适的选项之一是将 Word 文档转换为HTML。为了在 .NET 应用程序中实现这一点,本文介绍了如何使用 C# 将 Word DOCX或DOC文件转换为 HTML。此外,您…

搅拌釜反应器全自动真空压力(正负压)控制解决方案

摘要:针对双层玻璃反应釜中存在的无法进行真空压力自动和准确控制等问题,本文提出了完整和成熟的解决方案,即采用卫生级电动调节阀和高精度双通道PID控制器,结合不同量程的真空计,与反应器、真空泵和正压气源构成闭环控…

ARP协议与ARP欺骗

一、ARP协议(地址解析协议) 所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。 将一个已知的IP地址解析为MAC…

169. 基于Django-RESTFramework的节流的使用

1.节流概述 节流又称限流,限制访问。 就是一个用户多次发送一个请求(页面或者链接)的时候,单位时间允许访问次数限制,超过限制就会出现访问受限,提示譬如:离下一场访问还有多久之类等的字样。 …

基于SSM的学生考勤管理系统的设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

【学习笔记】顺序容器的表格方式总结 C++

目录顺序容器及其特点顺序容器操作向顺序容器添加元素insertemplace参考更新中… 顺序容器及其特点 名字访问元素插入,删除元素vector(可变大小数组)支持快速随机访问在尾部之外的位置插入或删除元素可能很慢deque(双端队列&…

SpringBoot实战:整合MapStruct实现数据类型转化

MapStruct 是一个代码生成器,它基于约定优于配置方法极大地简化了 Java bean 类型之间映射的实现。自动生成的映射转换代码只使用简单的方法调用,因此速度快、类型安全而且易于理解阅读;本篇就是实现 SpringBoot 整合 MapStruct 实现数据类型…

[附源码]JAVA毕业设计小区物业管理系统演示录像2020(系统+LW)

[附源码]JAVA毕业设计小区物业管理系统演示录像2020(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09…

ffmpeg库安装及入门指南(Windows篇)- 2022年底钜献

最近项目需要,使用了 ffmpeg 做摄像头视频采集和串流。这几天有点时间,打算把相关的一些知识记录分享一下。 在撰写本文时,我又在另外一台电脑上把 ffmpeg 重新安装了一遍,所以绝对真实靠谱!如果你觉得文章写得还不错…

代码效果测试

ROBUST TEXT DETECTION IN NATURAL IMAGES WITH EDGE ENHANCED MAXIMALLY STABLE EXTREMAL REGIONS 代码地址:https://github.com/akab/TextDetection 基本步骤: 1)将原图转为灰度图; 2)使用OpenCV的canny函数进行边…

HTML -- 常用标签及示例总结

文章目录HTML常用标签1 标签语义1.1 标签属性2 标题标签 h1 - h63 段落和换行标签3.1 段落标签3.2 换行标签4 文本格式化标签5 div和span6 图像标签7 超链接标签7.1 链接的语法格式7.2 链接分类8 表格标签8.1 表格的主要作用8.2 表格的基本语法8.3 表头单元格标签8.4 表格属性8…

C语言随机数的产生(rand、srand、time函数细节讲解)

✨C语言随机数的产生随机数生成代码&#xff1a;rand函数&#xff1a;srand函数&#xff1a;time函数&#xff1a;time函数补充:time_t类型讨论time_t指针传入的讨论&#xff1a;随机数生成代码&#xff1a; 先上代码&#xff0c;再详细解释&#xff1a; #include<stdio.h…