1.管理需求
有很多图片或PDF格式的图像类材料(以下简称图),对应有文字、公式等描述(以下简称文),一条完整信息包含数量不等的图和文,图和文还可能分别有多个版本。
2.输出需求
可以定制化输出文档(最好是可编辑的,例如*.docx),从多条信息中选择多条或全部,每条信息包含的图和文的数量和版本也是可以选择的,如果图的分辨率、尺寸,文的字体、字号等也是可以定制的就更好了。
3.方案要求
可单机离线使用;
无编程基础,最好是利用已有一款软件或几款软件搭配,软件安装无需联网;
可以备份数据,换电脑或重装系统后可以恢复数据。

粗粗看起来,一个秘书可能更适合你,哈哈哈,开个玩笑哈

之前一直在寻找一个可以帮助做作证材料的工具,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文档
作证材料文件夹里就是多层级的文件夹,文件夹里是作证材料的图片
这个工具我想对于会编程的人来说肯定觉着小儿科,但对于不会编程的我来说,感觉不可思议,真的也想学习一下编程了