概况
通过在导入jar包的方式,让前后端可以合并并且运行起来。
现在的思路是:
界面上选择输入和输出路径,以及文件;
传入选中的文件地址,调用tika或tesseract处理;
处理完成后生成txt文件输出在输出路径。
选择输入的文件,根据类型自动选择tika或者tess(暂时不管docx里边的图片);
选中的路径作为提取函数的输入;
目标输出路径作为写函数的输入;
直接在目录里生成结果。
做法
写一个继承qtdesigner形成的ui的子类,在其中配置前端和后端的关联;
用java语言调用tika和tesseract,打包成jar包,导入到python项目中;
利用jpype库配置环境并调用jar包。
做法参考:使用PyQt5+Java+Apache Tika实现简单的文档内容提取程序.
错误
jpype安装出错:jre与python版本需要一致
开启jvm出现溢出错误:参数需要为绝对路径
调用jar包出现缓冲区溢出:相关的库没有配置好
思考
1、这样把jar包导入python的做法,或许有些多此一举,何不直接用python语言实现?
2、调用jar包需要java虚拟机,参数中有jvm的绝对路径,这在以后打包成应用的过程中会出现问题;
3、jar本来就有tika和tesseract的jar包,还需要导入到python中,python还需要很多相关的库,这样会使项目空间浪费,并不是很好的方案。