# 产品文档管理 **Repository Path**: docode/product-documents-management ## Basic Information - **Project Name**: 产品文档管理 - **Description**: 给植物提取物公司的产品文档管理系统 包含 - 飞书多维表格模板 - python 源代码 - docx模板 - **Primary Language**: Python - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-01-21 - **Last Updated**: 2025-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目说明 给初创生物公司的产品文档管理系统。 ## 解决的问题 - 将散落在一堆pdf,excel,word文件中的产品信息统一管理,在线协作。 - 由软件读取多维表格的信息,自动化生成产品文档pdf,避免手工操作失误,提高效率。 ![输入图片说明](example/%E6%96%B0%E5%A2%9E%E6%96%87%E6%A1%A3.png) ![输入图片说明](example/%E6%9B%B4%E6%94%B9%E4%BA%A7%E5%93%81%E6%96%87%E6%A1%A3.png) ![输入图片说明](example/%E5%87%BA%E6%B5%8B%E8%AF%95%E6%8A%A5%E5%91%8A.png) ## 举例 使用飞书多维表格管理产品信息(涉及公司产品真实信息部分打码) ![输入图片说明](%E4%BA%A7%E5%93%81%E4%BF%A1%E6%81%AF.png) # 排版打印部分 飞书的多维表格相当好用,但排版打印插件不够好用 1. 格式设置不如word丰富 2. 直接导出pdf,不方便二次调整 3. 不支持联动多个表格数据 ## 例子 举个例子,这个检测报告是公司统一的文件格式。 - 红框的数据来自于 表 0.2 Product Information - 绿框的数据来自于 表 3.1 Test Report - 黄框数据来自于表格计算 ![输入图片说明](example/example.png) ## 项目思路 - 利用飞书的api 下载当前多维表格的数据。 - 在本地调用python-docx模块生成word文档 - 用pywin32模块调用本机的office将word转换为pdf - 基于streamlit制作网页, ## 特色 - 测试报告经常要一次生成多个批次。 - 因此使用了增量更新多维表格数据,避免多次访问服务器。 - 数据下载后存储为excel文件,软件实际直接读取Excel数据,方便修改,或者仅作为离线使用 ## 最终效果 ![输入图片说明](webui%E6%95%88%E6%9E%9C.png) # 代码说明 ## 使用方式 ``` streamlit run webui.py ``` ## 项目内文件说明 0. example.base 多维表格模板 1. data/template 用于生成文档的模板 2. env 用于存储主要文件路径 3. config.py 用于记录常量 4. api.py 存放飞书的api 5. docwriter.py 封装python-docx模块,将添加段落和表格封装成函数 6. sync_records.py 从飞书同步数据模块 7. upload_file.py 将生成的文件同步到飞书共享文件 8. utils.py 封装了常用函数 9. webui.py 网页界面 10. msds.py nf.py spec.py statement.py coa.py coa_template.py 分别是用于生成化学品安全技术说明书、营养成分表、规格书、安全性声明、测试报告、产品测试模板的模块。 数个