当前位置: 首页 > news >正文

响应网站先做电脑端网站更换空间后排名消失 首页被k

响应网站先做电脑端,网站更换空间后排名消失 首页被k,唐山网站建设技术支持,网站建设的主要情况说明目录 说明功能说明maven依赖示例代码语言包下载总结 说明 记录一个完整的 Java 示例,展示如何使用 PDFBox Tess4J 从 PDF 中提取图片,并通过 OCR 识别图片中的文字,当前仅仅支持基础功能。 功能说明 读取一个 PDF 文件将每一页渲染成图片…

目录

  • 说明
  • 功能说明
  • maven依赖
  • 示例代码
  • 语言包下载
  • 总结

说明

记录一个完整的 Java 示例,展示如何使用 PDFBox + Tess4J 从 PDF 中提取图片,并通过 OCR 识别图片中的文字,当前仅仅支持基础功能。

功能说明

  • 读取一个 PDF 文件
  • 将每一页渲染成图片(高分辨率)
  • 使用 Tess4J 对每一页图片进行 OCR
  • 打印识别结果

maven依赖

<!-- PDFBox -->
<dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.30</version>
</dependency><!-- Tess4J -->
<dependency><groupId>net.sourceforge.tess4j</groupId><artifactId>tess4j</artifactId><version>5.11.0</version>
</dependency>

示例代码

import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;public class PdfOcrExample {public static void main(String[] args) {String pdfPath = "your.pdf"; // 你的PDF路径String tessDataPath = "tessdata"; // OCR语言包路径try {// 加载 PDF 文档PDDocument document = PDDocument.load(new File(pdfPath));PDFRenderer pdfRenderer = new PDFRenderer(document);int pageCount = document.getNumberOfPages();// 初始化 Tesseract OCRTesseract tesseract = new Tesseract();tesseract.setDatapath(tessDataPath); // tessdata 文件夹路径tesseract.setLanguage("chi_sim");    // 语言设置(chi_sim 为简体中文)for (int page = 0; page < pageCount; ++page) {// 渲染每一页为高分辨率图像(300 DPI)BufferedImage image = pdfRenderer.renderImageWithDPI(page, 300);// 可选:保存为中间图片文件File imageFile = new File("page_" + page + ".png");ImageIO.write(image, "png", imageFile);// OCR 识别String text = tesseract.doOCR(imageFile);// 打印结果System.out.println("===== 第 " + (page + 1) + " 页识别结果 =====");System.out.println(text);}document.close();} catch (IOException | TesseractException e) {e.printStackTrace();}}
}

说明

  • renderImageWithDPI(…, 300) 建议使用 300 DPI 提高识别精度。
  • chi_sim 为简体中文语言包(chi_sim.traineddata),必须放在 tessdata 目录下。
  • PDF 页数多或内容复杂时,可以加进度显示或分页保存

打印效果:
在这里插入图片描述

语言包下载

https://github.com/tesseract-ocr/tessdata
下载所需 .traineddata 文件(如 chi_sim.traineddata),放到 tessdata/ 目录下

总结

这种java提取方式只是能用,无法完整识别pdf中表格数据将进行结构化抓取,只能作为实验性功能。

如果要更加准确性提取pdf文件中数据需要借助OCR的大模型。
参考: https://github.com/Yuliang-Liu/MonkeyOCR
在线: http://vlrlabmonkey.xyz:7685/

http://www.dtcms.com/a/422746.html

相关文章:

  • 怎么做跳转网站首页化妆品网站制作
  • 数据结构 排序(3)---交换排序
  • 告别内网困局:cpolar破解Websocket远程访问难题
  • LeetCode热题--207. 课程表--中等
  • 算法奇妙屋(四)-归并分治
  • 【嵌入式硬件实例】-晶体管放大器
  • ArcGIS数据迁移问题汇总(postgresql)
  • SQLyog:一款功能强大、简单易用的MySQL管理工具
  • Boost 搜索引擎
  • 紧跟大数据技术趋势:食物口味分析系统Spark SQL+HDFS最新架构实现
  • c2c网站的建设做企业网站有哪些好处
  • 从AI角度深入解析和论述哲学的终极答案‘语言即世界‘
  • 网站开发实训报告织梦手机网站建设
  • python做网站开发免费公司企业建站代理
  • 科技信息差(9.29)
  • ES如何基于Linux配置开机自启动
  • DeepSeek Java 单例模式详解
  • 单例模式入门
  • PMON failed to acquire latch 的报错及sqlplus / as sysdba 无法连接
  • Vibe Coding - MCP Feedback Enhanced(交互反馈 MCP)
  • Elasticsearch 搭建(亲测)
  • Java 设计模式在 Spring 框架中的实践:工厂模式与单例模式
  • 手机网站被禁止访问怎么打开网页软件应用大全
  • SQL注入与防御:从攻击原理到预编译防御
  • 【MySQL】Oracle与MySQL,跨库数据转储
  • 营销型网站建设的步骤附近公司
  • 【Java】网络编程(5)
  • 实现VLAN间通信
  • OSPF 和 IS-IS的路由过滤对比
  • Eclipse 透视图(Perspective)