Skip to content

This repository contains the scripts for exporting question bank from the skill level tournament PDF files

License

Notifications You must be signed in to change notification settings

lzl32947/e-learning-question-exporter

Repository files navigation

E学堂技能等级导出工具

本项目包含解析技能等级赛题库PDF文件的脚本。

English Ver. Document

在线使用

www.lzl32947.tech

欢迎使用此链接进行在线转换。

依赖

请使用下列命令安装依赖:

python -m pip install -r requirements.txt

使用

修改main.py

  • 修改main.py中的TARGET_CONFIG项为config文件夹下的配置文件名(请不要带上.json后缀)
  • 修改main.py中的OUTPUT_TYPE项为导出文件的方法,目前支持OutputExcel2KaoShiBaoOutputWord2KaoShiBao 两种方法,分别对应考试宝软件的两种题目导入模板。

运行

运行main.py即可。

python main.py

导出的文件将会保存在output文件夹下,并以config文件中的title项命名。

配置项

创建配置文件

关于配置文件的创建,请参考config文件夹下的说明

代码配置

PDF解析

PDF文件的解析共有两种类库:

  • pymupdffitz):更全面的解析,支持解析图片,适合没有图片的文件
  • tika:基于Java的解析,仅支持解析文字

二者分别对应ProcessViaTika类及ProcessViaFitz类,您可以在process/base_process.py中找到两类的实现。

默认情况下使用ProcessViaFitz类以支持图片解析。

导出

导出的文件类型有两种:

  • OutputExcel2KaoShiBao:导出为考试宝软件的Excel模板,解析准确但是不支持图片
  • OutputWord2KaoShiBao:导出为考试宝软件的Word模板,由于Word的排版问题,解析可能不准确并需要再上传题库时手动调整,但支持图片的上传

请按需选择,并在main.py中修改OUTPUT_TYPE项以切换。

已知问题

  1. 导出的Word模板在选项仅有图片时在上传题库过程中会出现解析错误,类似于: known_issue_1.png 此时,需要在题库导入页面中手动将图像文件复制到对应选项框中。
  2. 由于考试宝软件对Word模板的解析问题,导出的Word模板在上传题库过程中可能会出现解析错误,常见选项错位等问题,此时需要手动调整。 例如:
  1. 以下关于装置的说法,正确的是( )
  A. 会产生10A的交流电
  B. 会产生100A的交流电
  C. 会产生1000A的交流电

此时,再导入考试宝时,由于其对Word模板的会解析题目中的ABC等字母,导致选项错位,如无人工介入会变成:

  1. 以下关于装置的说法,正确的是( )
  A. 会产生10
  B. 的交流电
  C. 会产生100
  D. 的交流电
  E. 会产生1000
  F. 的交流电

这种情况是由于该软件平台造成的,目前无法自动解决,需要手动调整。

其他

欢迎PR并提出建议,也欢迎提出各类Issue

About

This repository contains the scripts for exporting question bank from the skill level tournament PDF files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages