# zdocument_text **Repository Path**: mailfilter/zdocument_text ## Basic Information - **Project Name**: zdocument_text - **Description**: 解开各类压缩包, 解析各类文档为文本和资源(主要是图片) - **Primary Language**: C++ - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-02-23 - **Last Updated**: 2021-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 简介 [ZDOCUMENT_TEXT](https://gitee.com/linuxmail/zdocument_text) 是一个文档解析库 开源: https://gitee.com/linuxmail/zdocument_text ## 目标 * 解开各类压缩包, 解析各类文档为文本和资源(主要是图片) * 解出的文本不关注样式, 适用于机器学习,分词等, 不适合展示 ## 背景 * 在邮件反垃圾系统中, 需要解析附件(文档,压缩包,图片), 获取文本, 获取文件类型 ## 支持的压缩包类型 * z, 7z, gz, tar, tgz, zip/arj/zipx, rar/lzh, ## 支持的文档类型 * doc/dot/wps/wpt, ppt/pps/dpt/dps, xls/xlt/ett/et * docx/docm/dotx, pptx/pptm, xlsx/xlsm * odt, odp, ods, xps * xmldoc, xmlxls * rtf * pdf ## 不支持图片解析为文本 * 请用其他专门的库处理, 如 tesseract ## 不支持邮件解析为文本 * MIME(eml)格式请参考 https://gitee.com/linuxmail/lib-zc/blob/master/doc/mime.md * TNEF(winmail.dat)格式请参考 https://gitee.com/linuxmail/lib-zc/blob/master/doc/tnef.md ## 不支持HTML解析为文本 * 推荐使用 gumbo 库处理 ## 依赖开源库: lib-zc * 下载: https://gitee.com/linuxmail/lib-zc, 和 zdocument_text 放在同级目录 * 编译: cd lib-zc; make ## 依赖开源库: 其他 * libminizip, libtar ## 编译 进入目录直接 make, 得到 * zdocument_text.h (头文件) * libzdocument_text.a (静态库) * libzdocument_text.so (动态库) * document_text (例子, 演示效果) * simple (例子, 简单使用) ## 例子源码 * https://gitee.com/linuxmail/zdocument_text/blob/master/test/document_text.cpp ## 例子使用 ``` ./document_text [文档类型] 文件名 [解析深度] USAGE ./document_text [ file_format ] pathname [ depth ] EXAMPLE: ./document_text doc some_filename ./document_text doc some_filename 3 ./document_text some_filename 2 ./document_text some_filename ``` ## 函数(对象)介绍 * 参考 https://gitee.com/linuxmail/zdocument_text/blob/master/zdocument_text.h ## 简单使用 * 参考 https://gitee.com/linuxmail/zdocument_text/blob/master/test/simple.cpp