linux系统下的ocr软件,Ubuntu下的ocr文字识别(pdf、tif等)

2023-11-02

平时使用扫描件或者pdf查看文档,但是在ipad上当文字比较小的时候不能有效放大,过着每次阅读需要移动屏幕,十分不方便,为此想将pdf或者图片中的文字截取出来,可以有效处理,当然需要ocr技术了,现在我们就来考虑和解决这个问题。

1、技术准备:

os为 linux mint 13(基于Ubuntu 12.04的)

ocr软件:tesseract,执行文件为tesseract

gocr

pdf处理软件:pdftoxxx,比如pdftotext等

tiff处理如案件:比如tiff2pdf等等

2、安装软件

sudo apt-get install gocr

sudo apt-get install tesseract-ocr

sudo apt-get install libtiff-tools

对于tesseract需要设置语言包,可以在观望上下载具体中文语言包,比如简体的就是chi_sim,然后加入到一个环境变量中

mv chi_sim.traineddata /usr/local/share/tessdata

export TESSDATA_PREFIX=/usr/local/share/

3、tif文件转文字 tif-->text

直接使用tesseract即可,如下:

tesseract a.tif a.txt -l chi_sim

以上支持多页单文件tif

4、pdf文件转文字 pdf-->text

如果pdf本来就是文字格式的,那么很简单,直接转换即可

pdftotext a.pdf a.txt

如果pdf内部内容是图片,则无法通过以上方法去的内容,首相将pdf转换成为ppm,然后从ppm装换为文字:pdf-->多个ppm-->多个txt

pdf2ppm a.pdf a

产生a1.ppm,a2.ppm.....

然后通过tesseract转换

tesseract a1.tif a1.txt -l chi_sim0b1331709591d260c1c78e86d0c51c18.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux系统下的ocr软件,Ubuntu下的ocr文字识别(pdf、tif等) 的相关文章

  • 使用 CentOS 7 部署前端项目

    购买服务器 以腾讯云为例 如果是 25 岁以下 可以免学生认证 使用校园优惠套餐 购买地址 云 校园 本文以 CentOS 为例 购买后 会初始化 root 密码 就可以使用云服务器了 配置服务器 购买之后就可以使用 root 用户名和腾讯
  • MySQL备份笔记

    MySQL备份笔记 备份的分类维度 备份时数据库的状态 Hot Backup 热备 正常运行中直接备份 Cold Backup 冷备 完全停止后备份 Warm Backup 温备 数据库只读 备份文件的格式 逻辑备份 输出文本或SQL语句
  • ubuntu 20.04 安装微信和QQ

    安装wine环境 根据教程 首先安装wine环境 然后安装weixin包 下载Wine环境包 http archive ubuntukylin com software pool partner ukylin wine 70 6 3 25
  • Linux安装配置php7+nginx

    1 安装php7 0 下载 wget http cn2 php net distributions php 7 0 4 tar gz 解压安装 tar zxvf php 7 0 4 tar gz cd php 7 0 4 首先查看安装帮助
  • vscode运行php报错php not found

    vscode运行php not found报错 要先检查原来的配置能否正常运行 1 插件 这两款插件试运行php的 2 查看php版本 3 php下载 下载php php下载 下载后配置环境变量 4 Xdebug 下载 找到生产环境 赋值一
  • vs code下运行conda环境报错

    在使用vs code下conda环境 运行程序会报告如下问题 conda activate base CommandNotFoundError Your shell has not been properly configured to u
  • 无法打开“×××”,因为无法确认开发者的身份——解决办法

    当打开这些应用程序时 系统提示无法打开 XXX 因为它来自身份不明的开发者 我们可以按照下面的方法解决 教程 1 打开应用程序 找到你要打开的软件 按住control键 点击应用打开 或者右键打开 2 出现下图所示 点击打开即可 3 只有第
  • http请求与响应,TCP三次握手&四次分手

    从前端发起请求到后台的整个过程 是一个面试中经常遇到的问题 大概的流程想必有一点基础的人都明白 但是要细说 却未必能一一道出来 曾经老师教过的知识也都差不多忘干净了 所以 我上网找了点资料 加上自己的理解 做个记录 华丽的分割线 一 HTT
  • 用Python语言开发VTK程序的步骤

    在Windows环境下用Python语言开发VTK程序 1 安装Python集成开发环境IDLE 下载地址 https www python org downloads 2 然后到VTK官网下载vtkpythone 6 2 0 Window
  • Java数据类型,强制类型转换

    1 基本数据类型 byte short int long float double char boolean 8大类型 1 整型 byte short int long 2 浮点型 float double 小数类型 3 字符型 char
  • 蓝桥杯算法提高VIP-合并石子

    题目 题解 区间dp 我是枚举的两个边界 但是出现问题了 左边界的枚举必须要从后向前 因为需要先获取区间长度小的对应的dp 才能递推出大区间的dp值 如果我左区间从左向右遍历 第二层右边界也从左向右遍历 则会先遍历到大区间 而与之相关的小区
  • vector与list的区别

    概念 vector 连续存储的容器 动态数组 在堆上分配空间 底层实现 数组 两倍容量增长 vector 增加 插入 新元素时 如果未超过当时的容量 则还有剩余空间 那么直接添加到最后 插入指定位置 然后调整迭代器 如果没有剩余空间了 则会
  • 下一步可以学下ue4 shader

    上周六 Osg直播间 恒歌提到了他们的做法 osgearth ue4 shader 这是非常好的思路 因为ue4缺点是底层资料少 优点是渲染效果好 这算是扬长避短的做法了 我正好会ue4 也会shader 正好也在学osgearth 虽然都
  • 微博数据爬虫——获取特定ID的粉丝和关注(二)

    注意 近期发现使用requests库访问微博数据出现ssl error错误 而使用urllib库访问则不会出现错误 功能 给定特定微博用户ID 获取微博用户的粉丝和关注 1 通过o id获取p id 用户主页结构如下所示 通过使用正则匹配即
  • Java远程调试

    1 把导出的jar包放到服务器上 执行的时候增加执行参数 jdk1 7版本之前的命令 java agentlib jdwp transport dt socket address 8000 server y suspend y jar xx
  • linux中病毒排查步骤,linux系统下病毒排除思路

    1 top查看是否有特别吃cpu和内存的进程 病毒进程kill是杀不死的 因为ps命令被修改 2 ls la proc 病毒进程pid pwd为病毒进程程序目录 一般在 usr bin下 3 bin ps bin netsta程序都是1 2
  • unity3d Object.Destroy 销毁

    static function Destroy obj Object t float 0 0F void Description描述 删除一个游戏物体 组件或者资源 物体obj现在被销毁或在指定了t时间过后销毁 如果obj是组件 它将从Ga
  • 深圳白领集体居家办公 远程办公或成企业新选择

    近日 深圳地区疫情爆发 多个办公大楼被划为封控区 众多白领临时接到居家办公的通知 一批又一批的员工从CBD大楼走出来 大量白领带上电脑显示屏与主机 被网友戏称 跑毒 带主机回家办公 成为突发疫情下众多人的无奈选择 远程办公成常态化 远程产品
  • STM32HAL库-移植mbedtls开源库示例(二)

    概述 本篇文章介绍如何使用STM32HAL库 这篇文章只要是讲如何使用mbedtls开源库 实现 1 base64编码 2 AES加解密示例 怎么样移植mbedtls开源库 请阅读我写的一篇文章 STM32HAL库 移植mbedtls开源库

随机推荐

  • ucharts饼状图文字过长超出屏幕不显示问题

    项目场景 在项目中通过饼状图对获取到的数据进行一个显示 问题描述 通过ucharts中的饼状图来进行数据的显示 通过labelText属性自定义饼状图标签文字 但发现有些数据太长 超出屏幕无法显示 如图 解决方案 1 可以进行饼状图半径的缩
  • Scanvenger游戏制作笔记(九)Unity3D创建声音

    Scanvenger游戏制作笔记 九 Unity3D创建声音 前言 一 在GameManager 上创建audio source 播放背景音乐 二 创建其他声音 三 将audioSource拖入efx source中 四 停止背景音乐 系列
  • springboot中Instant时间传参及序列化

    在部分场景中 后台的时间属性用的不是Date或Long 而是Instant Java8引入的一个精度极高的时间类型 可以精确到纳秒 但实际使用的时候不需要这么高的精确度 通常到毫秒就可以了 而在前后端传参的时候需要对Instant类型进行序
  • Vue教程(二):数据代理和事件处理

    1 数据代理 数据代理 通过obj2操作obj1的对象
  • 写给萌新的mmdet

    写给萌新的mmdet 本文简称mmdetection为mmdet 安装是劝退新入坑的小伙伴的大老虎 一般按照官方readme安装一遍 然后发现运行官方demo报错 网上搜了半天 试了一些奇怪的命令发现没用 只能删除环境 重新再装一遍 然后报
  • QT笔记:QT 窗口关闭 程序进程不退出

    最近在做一个工具用于控制mcu 这其中肯定就需要open端口 所以不能同时打开一个设备 所以在发布程序后 打开设备后关闭QT的UI界面 再次打开程序进行连接设备的时候出现open设备失败的问题 第一次打开设备 关闭应用再次连接设备 后面查看
  • SpringBoot对接小程序微信支付

    目录 前言 一 准备工作 2 1 企业微信小程序开通 2 1 1 获取开发者ID 2 1 2 开通支付功能 2 1 3 关联商户号 2 2 企业商户号的开通 2 2 1 获取商户号mch id 2 2 2 获取商户API密钥mch key
  • I帧、P帧和B帧的特点

    I帧 帧内编码帧 I帧特点 1 它是一个全帧压缩编码帧 它将全帧图像信息进行JPEG压缩编码及传输 2 解码时仅用I帧的数据就可重构完整图像 3 I帧描述了图像背景和运动主体的详情 4 I帧不需要参考其他画面而生成 5 I帧是P帧和B帧的参
  • 李沐论文精读系列三:MoCo、对比学习综述(MoCov1/v2/v3、SimCLR v1/v2、DINO等)

    文章目录 一 MoCo 1 1 导言 1 1 1 前言 1 1 2 摘要 1 1 3 导言 1 2 相关工作 1 2 1 SimCLR 端到端的学习方式 Inva Spread也是 1 2 2 memory bank InstDisc模型
  • MySql下最好用的数据库管理工具是哪个?

    维基上有个很全的列表 https en wikipedia org wiki Comparison of database tools 1 phpmyadmin 用过3 9版 UTF 8 中文不显示 2 HeidiSQL 7 0 不错 以前
  • 关于CoInitialize()

    在msdn中对于CoInitialize的解释如下 Initializes the COM library on the current apartment and identifies the concurrency model as s
  • ADC基本原理

    ADC基本原理 1 ADC即为典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号 2 对于32 1 ADC转换时间 最大转换速率 1us 最大转换速度为1MHz 在ADCCLK 14M 采样周期为1 5个ADC时钟下得到 2
  • f2fs文件系统 CP介绍

    前言 在前面的介绍中 f2fs保证一致性有两种方法 前滚恢复和后滚恢复 前滚恢复需要配合fsync流程使用 先不进行介绍 而后滚恢复就是本章节需要介绍的CheckPoint相关内容 所谓的文件系统一致性 可以简单类比交易操作 即交易双方中一
  • Selenium成长之路-08简单对象定位之class name方法

    class name 的定位方法与tag name 是差不多的 我们直接上代码 还是以百度首页输入框为例来进行演示 从截图中可以看出来 class name 就是 s ipt 下面我们就通过class name元素来进行定位 coding
  • Finding the Control Points of a Bezier Curve

    原文链接 https blog sklambert com finding the control points of a bezier curve Finding the Control Points of a Bezier Curve
  • 【HIT-计算机系统】ICS-Lab4 Buflab/AttackLab

    第1章 实验基本信息 1 1 实验目的 理解C语言函数的汇编级实现及缓冲器溢出原理 掌握栈帧结构与缓冲器溢出漏洞的攻击设计方法 进一步熟练使用Linux下的调试工具完成机器语言的跟踪调试 1 2 实验环境与工具 1 2 1 硬件环境 x64
  • Unity3D开发工程师

    岗位职责 1 完成Unity3D项目架构 2 负责项目相关逻辑开发 3 Unity 3D同PHP数据交互 4 Unity 3D通过javascript与数据库链接 职位要求 1 计算机相关专业 2 熟悉3D图形学 两年以上Unity3D经验
  • 6 种方法部署 TensorFlow2 机器学习模型,简单 + 快速 + 跨平台!

    当你创建或找到了一个完美的机器学习模型时 你一定想在各个平台上都使用到它 比如电脑 网页 移动端 甚至是 Docker 环境中 不但个人如此 在实际工作中 一个优秀的程序员除了要学会构建机器学习模型 也更应该学会将其成功部署 向用户提供便捷
  • Matlab坐标变换篇

    一 安装Robotics System Toolbox 二 弄懂左乘和右乘 介绍的第一个函数为欧拉 齐次矩阵 左手坐标系下 中指对着自己为x轴 z轴为拇指 T0 eul2tr 0 0 0 基坐标系 Tx transl 5 0 0 xyz T
  • linux系统下的ocr软件,Ubuntu下的ocr文字识别(pdf、tif等)

    平时使用扫描件或者pdf查看文档 但是在ipad上当文字比较小的时候不能有效放大 过着每次阅读需要移动屏幕 十分不方便 为此想将pdf或者图片中的文字截取出来 可以有效处理 当然需要ocr技术了 现在我们就来考虑和解决这个问题 1 技术准备