邮件技术 垃圾邮件识别 文档转文本 MSG-TO-EML

压缩包/文档转文本 --- 帮助文档

zdocument_text 是压缩包/文档/图片转文本的工具, 是 ZSPAM 的一个模块

解出的文本不关注样式, 不适合展示, 适用于机器学习, 分词等   效果演示

免费版 docker 镜像

联系 eli960@qq.com 获取免费版

  • 免费版, 每个文档返回的结论不超过 1024 字节, 其他功能一样

服务和端口: 25065

  • 25065: 文档转文本服务, 配置 /home/spam/etc/service/document_text.cf

如果只使用 "文档转文本服务", 可以删除 milter.cf, spamd.cf

服务配置: document_text

/home/spam/etc/service/document.cf

document_text_license = 

# 每个进程最多分配内存限制
# max-memory = 4G

server-command = /home/spam/bin/document_text

# 服务端口
server-service = 0:25065
# server-service = var/socket/document_text

# 启用 fork 运行不稳定的模块
document_text_robust_enable = yes

# 处理多少文档后, 进程退出; 0 不限制
server-service-max-use = 1000000

# 一个文档最多处理多少秒, 超时后, 进程退出
server-request-max-run-time = 10

# 进程退出前, 等待多少秒; 0 立即退出
server-stop-on-softstop-after = 10

# 日志, syslog 模式
server-log = syslog,mail
# 日志, 输出到标准出错输出
# server-log = 

# 并发进程数
server-proc-count = 3

# 每进程并发线程数
document_text_concurrency_limit = 10

# 资源大小限制, 超过这个限制则不处理
document_text_resource_size_limit = 100M

# 除了 txt, 这些格式的文件作为文本处理, 逗号分割
# document_text_extra_text_formats = js,css,cpp

# 处理资源个数限制
document_text_resource_count_limit = 1024

# 深度限制
document_text_depth_limit = 3

# 处理文档个数限制
document_text_office_convert_count_limit = 12

# 每个子文档, 返回文本最多字节数
document_text_office_text_size_limit = 0

# 缓存目录, 空表示禁用缓存, 目前只缓存图片处理结果
# 目录 (/home/spam/dt_cache_dir_image/) 下需要创建子目录 00,01,...,fe,ff
document_text_cache_pathname = /home/spam/dt_cache_dir_image/

# 一个 pdf, 处理时间限制
document_text_pdf_time_limit = 3

# 一个图片, 处理时间限制
document_text_image_time_limit = 3

# 一个图片, 大小限制
document_text_image_size_limit = 10M

# 一个图片, 限制 (width + height)
document_text_image_width_height_sum_limit = 20000

# 是否启用图片文字识别(OCR), 请注意: 图片文字识别速度很慢
document_text_ocr_enable = no

# 一个图片, OCR处理时间限制(秒)
# document_text_ocr_time_limit = 

# OCR文件个数限制
document_text_ocr_file_count_limit = 3

# OCR文字数量限制
document_text_ocr_char_count_limit = 1024

# OCR太慢, 图片宽度限制
# document_text_ocr_width_limit = 0

# OCR太慢, 按高分片处理, 最多分多少片
# document_text_ocr_height_slice_limit = 3

# OCR太慢, 分片后, 每片处理的高度为
# document_text_ocr_height_per_slice = 100

# document_text_tesseract_lang = chi_sim
# document_text_tesseract_psm = 6
# document_text_tesseract_config_TESSERACT_CONFIG_NAME = TESSERACT_CONFIG_VALUE

# 是否启用图片二维码识别(QRCODE)
document_text_qrcode_enable = yes

# 二维码识别有的时候会有点慢, 限制 (width + height)
document_text_qrcode_width_height_sum_limit = 10000

# QRCODE文件个数限制
document_text_qrcode_file_count_limit = 12

通信协议: document_text

1, 客户端 连接(2种方法):
    1) socket 文件 ./var/socket/document_text
    2) 端口 0:25065                                           ### 默认配置

2, 客户端 输入(3种方法):                                      ### 请注意, 服务在docker内运行
    1) tree[一个空格]文件路径\r\n
    2) tree[一个空格]文件名后缀[一个空格]文件路径\r\n
    3) tree[一个空格]文件名后缀[一个空格]{数据长度}\r\n文件数据\r\n

3, 服务端 返回(2个情况):
    1) OK[一个空格]{数据(JSON)的长度}\r\nJSON数据\r\n
    2) ERR[一个空格]error_msg\r\n

4, 客户端 继续(2种):
    1)关闭连接 
    2)回到 2

JSON数据格式

{
    "childs": [],                     # 子节点(嵌套)
    "confused_file_format": "exe",    # 混淆的文件类型, 如 a.pdf.gz 实际是 a.exe的压缩
    "content": "文本",                # 文本结果, 本系统主要结论,免费版只返回前1024个字节
    "detected": 0,                    # 文件类型是自动识别的, 如 rar 实际是 zip
    "encrypted": 0,                   # 是否加密文件
    "error": "OK",                    # 错误信息, OK表示成功
    "file_format": "pdf",             # 文件类型, 一般是后缀
    "file_type": "regular",           # 文件类别, dir/regular/other
    "resource_type": "office",        # 资源类型 office/archive/image
    "height": 0,                      # 如果是图片, 高度
    "width": 0                        # 如果是图片, 宽度
    "size": 0,                        # 资源大小
    "urls": ["url1", "url2"],         # URL 数组, # 如果资源是图片, url是二维码地址
    "malicious": 0,                   # 是否含有(恶意)脚本, 如doc中的宏
    "name": "1.doc",                  # 资源名
}

/home/spam/bin/test_document_text.sh 的使用

命令 /home/spam/bin/test_document_text.sh 用于在线测试 document_text 服务

可以在容器外执行

# docker cp container_name:/home/spam/bin/test_document_text.sh /somepath/
./test_document_text.sh [ 127.0.0.1:25065 ] [ file_type(doc/ppt/zip/...) ] file [ file1 [ ... ] ] [ dir [ ...] ]
京ICP备18054515号-2 eli960@qq.com gitee.com