Linux + JAVA得到各种格式的文件正文(office文件,PDF,邮件,html,zip等)

本文介绍了一个名为Graccvs的组件,该组件能够智能分析并提取各种文件格式(如PDF、Office文件、HTML、ZIP等)的文本内容,为全文检索、搜索引擎、自然语言处理等提供底层支持。Graccvs是动态链接库SO格式,调用简单,适用于Lucene、Elasticsearch等系统的文件摘要和搜索服务,也可用于安全监控等领域。文章提供了详细的调用步骤和示例代码。
摘要由CSDN通过智能技术生成

在文件数据挖掘处理技术中,如何从文本数据中抽取有价值的信息和知识是一个重要的数据挖据分支,是机器学习、自然语言处理、数理统计的基础技术之一,是信息检索,机器学习,AI智能等高端技术的的底层技术支持之一。

Graccvs组件智能分析提取其他各种文件中文本,为自然语言信息检索,机器学习等高端技术提供底层支持的技术组件,是Lucene/CLucene, Elasticsearch, Sphinx等全文检索工具,OA, ERP, CRM,网盘,文件管理等其他系统提供文件摘要及搜索前置服务。同时也可以为安全网关,邮件内容监控,内网安全等系统提供文件搜索及监控服务底层技术支持。

组件支持常见各种文件格式”.pdf", ".doc", ".odt", ".docx", ".dotm", ".docm", ".wps", ".xls", ".xlsx", ".xlsm", ".xltm", ".et", ".ppt", ".pptx", ".potm", ".pptm", ".ppsm", ".dps", ".ofd"(电子发票版式文件), ".rtf",".html", ".htm", ".mht", ".mhtml", ".eml", ".emmx", "xmind", "gmind", ".chm", ".zip" 等。组件速度快,效率高,调用非常简单。

Graccvs组件是以so格式动态链接库方式调用的,点击这里下载So动态链接库 ,函数详细说明和调用示例点击这里参考或者下载工程包

调用过程:

1:安装JAVA,设置系统路径。
2:下载 Native 包(jna-jpms-5.9.0.jar 和 jna-platform-jpms-5.9.0.jar)或者使用示例包中的jar文件。
    地址: https://github.com/java-native-access/jna。
    注意:版本不同,包的名称不同,以下载后的包名称为准。
3:创建测试文件夹。
    /lib, 保存jar包 jna-jpms-5.9.0.jar 和 jna-platform-jpms-5.9.0.jar。
    /src,放源码 LibGraccvs.java,testMain.java。
4:拷贝 graccvs.so 到工程 执行文件输出位置,或者到操作系统 /usr/lib/ 文件夹下。
5、编译工程文件
    javac -d . -sourcepath src -cp lib/jna-jpms-5.9.0.jar src/*
6、运行class 文件
    java -cp .:lib/jna-jpms-5.9.0.jar graccvsTest/TestMain

主要代码单元 LibGraccvs.java (函数的定义):

package graccvsTest;
 
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
   
public interface LibGraccvs extends Library {
    @SuppressWarnings("deprecation")
    LibGraccvs INSTANCE = (LibGraccvs) Native.loadLibrary("graccvs.so", LibGraccvs.class);
      
    //----------------------以下为函数说明----------------------
    // 加载DLL,设置动态库需要的临时文件夹,且对此文件夹要有读写权限
    void Load(Pointer tempDir); 
     
    /*
      注册软件:
      方式1:输入参数,corp为公司名称licText为注册码
      方式2:把授权文件grauth.lic保存到动态库相同文件夹,调用TAuth函数(corp, licText都为空)系统自动加载grauth.lic
      返回值:
        0:免费版本许可为空
        1:许可正常
        2:序列号(公司授权名称)错误
        3:加密数据格式错误
        4:许可过期
        5:许可验证错误
        6:无效的许可
        7:未知错误
 
      注1:如果注册失败,系统变为免费版本
      注2:免费版也需要调用此函数,corp和licText都为空
    */
    int Auth(Pointer corp, Pointer licText);
     
    // 提供文件正文,并保存到目标文件
    // inFilePtr输入文件地址, outFilePtr为TXT目标文件文件地址
    int ToTextFile(Pointer inFilePtr, Pointer outFilePtr);
     
    //其他一个文件的正文,返回UTF-8字符串指针
    //注意,调用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值