Delphi文件正文提取开发组件--文件内容搜索的高效工具

Graccvs是一个用于文件正文提取的开发组件,支持多种文件格式,适用于全文检索工具如Lucene、Elasticsearch等。它提供免费版本,并且有详细的DLL调用过程,包括加载DLL、初始化、注册、文件正文提取和资源释放等步骤,适用于OA、ERP、CRM系统的文件正文搜索需求。
摘要由CSDN通过智能技术生成

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提供免费版本,以下是调用过程及代码,起来文件输入修改为要提取的文件名称和类型即可。

以下是使用DLL过程:

1:建立Console Application工程或者 VCL Application工程。
2:拷贝 graccvs64.dll到工程中, 默认在exe输出位置。
3:拷贝graccvsTest.dpr文件相关代码 。
4:编译运行工程 。
5:点击这里下载完整工程包,这里下载最新DLL文件

graccvsTest.dpr :

program graccvsTest;
 
{$APPTYPE CONSOLE}
{$R *.res}
 
uses
    System.SysUtils,
    Windows,
    Types,
    DateUtils,
    Classes;
   
type
    // ----------------------以下为函数说明----------------------
 
    // DLL加载并设置动态库需要的临时文件夹,且对此文件夹要有读写权限
    TLoad = procedure(TempDir: PRawByteString); cdecl;
    (*
      注册软件:
      方式1:输入参数,corp为公司名称licText为注册码
      方式2:把授权文件grauth.lic保存到动态库相同文件夹,调用TAuth函数(corp, licText都为空)系统自动加载grauth.lic
      返回值:
      0:免费版本许可为空
      1:许可正常
      2:序列号(公司授权名称)错误
      3:加密数据格式错误
      4:许可过期
      5:许可验证错误
      6:无效的许可
      7:未知错误
 
      注1:如果注册失败,系统变为免费版本
      注2:免费版也需要调用此函数,corp和licText都为空
    *)
    TAuth = function(Corp, LicText: PRawByteString): Cardinal; cdecl;
 
    // 释放TToString, THttpToString等函数的返回指针
    TFreeString = procedure(P: PRawByteString); cdecl;
    // 得到最后的错误信息
    TLastError = function(): PRawByteString; cdecl;
 
    // 提供文件正文
    // Infile输入文件地址, 返回UTF-8编码字符串数据指针(此指针需要使用TFreeString函数释放内存)
    TToString = function(Infile: PRawByteString): PRawByteString; cdecl;
    // 提供文件正文,并保存到目标文件
    // Infile输入文件地址, Outfile为TXT目标文件文件地址
    TToTextFile = function(Infile, Outfile: PRawByteString): Cardinal; cdecl;
 
    // 提取Http/Https文件,返回字符串数据指针
    // Url=Http/Https地址
    // FileExt=文件类型(比如:".pdf"),
    // Timeout=超时设置,超过此数值系统终止下载文件。单位为毫秒,默认为0(等待文件下载直到完成)
    // HttpParams=JSON格式Header数据和Cookie数据,默认为空
    (*
      JSON格式如下:
      {"headers":
      [{名称1: 值1},{名称2: 值2},...],
      "cookies":[
      {"name": 名称(字符串), "value": 值(字符串), "expires": 有效期(整数,单位毫秒),
      "path": 路径(字符串), "domain": 域名(字符串)},
      {"name": 名称(字符串), "value": 值(字符串), "expires": 有效期(整数,单位毫秒),
      "path": 路径(字符串), "domain": 域名(字符串)}
      ...
      ]}
      例如:
      {"headers":[{"client_id": "g01x9"}, {"client_secret": "e23c89cc9fe"}, {"client_index": 10092}],
      "cookies":[{"name": "ga", "value": "1020", "expires":36000000, "path": "/hx/", "domain":"www.gaya-soft.cn"},
      {"name": "xc3", "value": "10099", "expires":240000, "path": "", "domain":""}]}
    *)
    // 返回UTF-8编码字符串数据指针(此指针需要使用TFreeString函数释放内存)
    THttpToString = function(Url, FileExt: PRawByteString; Timeo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值