chatgpt如何实现内容检索 web开发—word文档的内容检索和展示

默认分类1年前 (2023)发布 admin
5,012 0
ChatGPT国内版

周五快下班接到一个活儿, 描述如下:

办公室之前有很多案例记录, 零散分布在很多docx文档中, 需要设计一个方便内容检索和展示的方案

正好最近业余时间在看框架, 就打算将文档上传到web服务器, 然后在页面上提供展示和检索的服务.

目前web开发的思路是这样:

建立一个model用于存储docx文件, 字段包括文件名, 日期, 存储路径, 和文字内容. 文字内容用于检索.提供批量上传文件的功能, 后台将各文件相关字段存入数据库提供展示和检索视图

谷歌了一下, 发现有很多docx转html的方法. 实际尝试了两个:和.

用于测试的docx如下:

chatgpt如何实现内容检索 web开发---word文档的内容检索和展示

案例测试.docx

用转换的代码如下

"""用pydocx转换为html"""
from pydocx import PyDocX
html = PyDocX.to_html("案例测试.docx")
f = open("PyDocX案例测试.html", 'w', encoding="utf-8")
f.write(html)
f.close()

生成的html

用转换的代码如下:

chatgpt如何实现内容检索 web开发---word文档的内容检索和展示

"""用mammoth转换为html"""
import mammoth
with open("案例测试.docx", "rb") as docx_file:
    with open('案例测试.html','w',encoding='utf-8') as f:
        result = mammoth.convert_to_html(docx_file)
        html = result.value # The generated HTML
        messages = result.messages # Any messages, such as warnings during conversion
        f.write(html)

生成的html

可见, 默认配置下生成的html能够保留颜色,下划线,粗体,斜体,表格,图片等信息. 而则没有了表格,颜色,下划线信息.

不过有个方法,能够提取出文本, 将这些文本存入数据库,可以方便做内容检索.

"""利用extract_raw_text提取docx的文本"""
import mammoth
with open("案例测试.docx", "rb") as docx_file:
    result = mammoth.extract_raw_text(docx_file)
    text = result.value
print(text)

周末还有别的安排, 下周一开始实现这些功能.

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...