sjh315
1
1.管理需求
有很多图片或PDF格式的图像类材料(以下简称图),对应有文字、公式等描述(以下简称文),一条完整信息包含数量不等的图和文,图和文还可能分别有多个版本。
2.输出需求
可以定制化输出文档(最好是可编辑的,例如*.docx),从多条信息中选择多条或全部,每条信息包含的图和文的数量和版本也是可以选择的,如果图的分辨率、尺寸,文的字体、字号等也是可以定制的就更好了。
3.方案要求
可单机离线使用;
无编程基础,最好是利用已有一款软件或几款软件搭配,软件安装无需联网;
可以备份数据,换电脑或重装系统后可以恢复数据。
dangerace
(dangerace)
2
粗粗看起来,一个秘书可能更适合你,哈哈哈,开个玩笑哈
之前一直在寻找一个可以帮助做作证材料的工具,2025年底搜到了这个工具(有3个相关视频):
最近用了一下,生成的文档是Letter纸张,页边距不能精确设定,好奇心驱使下,在秘塔AI搜索(https://metaso.cn/)上提问,经过几轮修改,初步可以满足我的需求:
以Windows x64为例,安装python-3.14.2-amd64.exe
pip install python-docx
新建一个*.py文件,内容如下:
import os
from docx import Document
from docx.shared import Inches, Mm, Pt
from docx.enum.section import WD_ORIENT
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
# ===================== 配置区 ===================== #
# 支持的图片后缀
SUPPORTED_IMAGE_FORMATS = ('.png', '.jpg', '.jpeg', '.gif', '.bmp')
# ===================== 主体代码 ===================== #
def set_a4_page(document):
"""
设置文档为 A4 纸张大小(210mm x 297mm)。
"""
section = document.sections[-1] # 获取当前活动的 Section
section.page_width = Mm(210) # 宽
section.page_height = Mm(297) # 高
section.orientation = WD_ORIENT.PORTRAIT
def add_image_with_caption(document, image_path):
"""
向文档中插入图片及其说明。
图片宽度自动缩放至页面宽度的 80%(约 16.8cm)。
"""
# 插入图片
# width 设置为页面宽度的 80%
picture = document.add_picture(image_path, width=Mm(140))
# 添加图片说明(文件名去除后缀)
caption_text = os.path.splitext(os.path.basename(image_path))[0]
caption = document.add_paragraph(caption_text)
caption.style = 'Caption' # 使用 Word 内置的 Caption 样式
caption.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
def process_folder(document, folder_path, level=1):
"""
递归遍历文件夹,处理子文件夹和图片。
:param document: Word 文档对象
:param folder_path: 当前遍历的文件夹路径
:param level: 标题层级(1 表示主标题)
"""
# 使用文件夹名称作为标题
folder_name = os.path.basename(folder_path)
if folder_name: # 避免根目录为空
# 限制标题层级最多为 9 级(Word 支持 1-9 级标题)
document.add_heading(folder_name, level=min(level, 9))
# 列出当前文件夹下的所有文件
items = os.listdir(folder_path)
# 先处理图片文件
for item in items:
item_path = os.path.join(folder_path, item)
if os.path.isfile(item_path):
ext = os.path.splitext(item)[1].lower()
if ext in SUPPORTED_IMAGE_FORMATS:
# 插入图片及说明
add_image_with_caption(document, item_path)
# 再递归处理子文件夹
for item in items:
item_path = os.path.join(folder_path, item)
if os.path.isdir(item_path):
process_folder(document, item_path, level + 1)
def main():
# 当前脚本所在目录(根目录)
root_dir = os.path.abspath(os.path.dirname(__file__))
# 创建 Word 文档
doc = Document()
# 设置 A4 纸张
set_a4_page(doc)
# 开始遍历根目录
process_folder(doc, root_dir)
# 保存文档
output_path = os.path.join(root_dir, "image_report.docx")
doc.save(output_path)
print(f"文档已生成: {output_path}")
if __name__ == "__main__":
main()
将这个*.py文件放到作证材料文件夹,双击执行,即可生成一个image_report.docx文档
作证材料文件夹里就是多层级的文件夹,文件夹里是作证材料的图片
这个工具我想对于会编程的人来说肯定觉着小儿科,但对于不会编程的我来说,感觉不可思议,真的也想学习一下编程了