AWS Elastic Beanstalk中安装tesseract5.3.4版本

问题

需要在eb(Elastic Beanstalk)的amazon linux 2023中安装tesseract软件。但是,因为amazon linux 2023官方软件库里面没有包含tesseract软件,需要通过开源的Fedora软件源来解决这个问题。

思路

配置Fedora 40软件源(amazon linux 2023的官方文档是说最高兼容Fedora 36,但是这次2025年11月,测试一下Fedora 40软件源中的tesseract5.3.4版本也可以用),然后,使用dnf安装tesseract和中文,英文语言包。

.ebextensions目录结构

bash 复制代码
├── .ebextensions                    
│   ├── 01launch-template.config
│   ├── 02tesseract.config
│   ├── 03timezone.config
│   └── 04environment-variables.config

01launch-template.config

设置应用程序的环境变量。

yaml 复制代码
option_settings:
  aws:elasticbeanstalk:application:environment:
    TESSDATA_PREFIX: /usr/share/tesseract/tessdata
  aws:autoscaling:launchconfiguration:
    DisableIMDSv1: true
    LaunchTemplateTagPropagationEnabled: true

02tesseract.config

这是安装tesseract库。

yaml 复制代码
files:
    "/etc/yum.repos.d/fedora.repo":
        mode: "000644"
        owner: root
        group: root
        content: |
            [fedora]
            name=Fedora 40 - $basearch
            #baseurl=http://download.example/pub/fedora/linux/releases/40/Everything/$basearch/os/
            metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-40&arch=$basearch
            enabled=1
            metadata_expire=7d
            repo_gpgcheck=0
            type=rpm
            gpgcheck=1
            gpgkey=https://src.fedoraproject.org/rpms/fedora-repos/raw/f40/f/RPM-GPG-KEY-fedora-40-primary
            skip_if_unavailable=False

container_commands:
    install_tesseract:
        command: |
            sudo dnf install tesseract -y
            sudo dnf install tesseract-langpack-eng -y
            sudo dnf install tesseract-langpack-chi_sim -y
            sudo dnf install tesseract-langpack-chi_sim_vert -y
        ignoreErrors: true

03timezone.config

这是设置时区。

yaml 复制代码
commands:
    set_timezone:
      command: |
        sudo timedatectl set-timezone Asia/Shanghai
      ignoreErrors: true

04environment-variables.config

设置环境变量

yaml 复制代码
files:
  "/etc/profile.d/environment_variables.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/bin/bash
      export TZ="Asia/Shanghai"
      export TESSDATA_PREFIX="/usr/share/tesseract/tessdata"

container_commands:
    environment_variables:
      command: |
        source /etc/profile
      ignoreErrors: true

总结

这就是eb安装tesseract库和设置时区的过程。执行是按照文件名执行顺序。如果在java中使用Tess4J库通过jni方式调用tesseract,需要注意Tess4J库版本号与tesseract库版本号对应。

参考

相关推荐
captain37632 分钟前
MyBatis(入门5)其他查询操作
java·数据库·spring boot·mybatis
开开心心就好7 小时前
音频降噪剪辑工具,音量裁剪一键处理
运维·服务器·前端·spring·ocr·音视频·1024程序员节
学长毕设9 小时前
基于SpringBoot的烘焙商品商品系统-附源码
java·spring boot·后端
开开心心就好9 小时前
竖式除法出题工具,整除余数混合模式
运维·服务器·前端·javascript·ocr·perl·1024程序员节
howard200510 小时前
英中 / 中英对照制作程序:操作指南
spring boot·bootstrap·thymeleaf·操作指南·对照制作程序
CoderYanger13 小时前
Java EE 进阶:5. Spring IoC&DI(第三弹):Spring DI
java·开发语言·spring boot·spring·面试·java-ee·mvc
小蒜学长15 小时前
基于SpringBoot 框架的自媒体新闻系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·mysql数据库·自媒体新闻管理系统
椒颜皮皮虾྅15 小时前
让 C# 读懂整张图:DeploySharp 驱动 PaddleOCR v4/v5/v6,打通 OCR 全流程
开发语言·人工智能·深度学习·学习·c#·ocr·cuda
余槐i16 小时前
PostgreSQL 加索引后查询反而更慢:优化器弃用索引的 3 种情形
spring boot·redis·mysql·postgresql·事务
学长毕设1 天前
基于springboot的食品仓库管理系统
java·spring boot·后端