diff --git a/dsRag/Test/TestReadWordImage.py b/dsRag/Test/TestReadWordImage.py index ee3389db..9c873a85 100644 --- a/dsRag/Test/TestReadWordImage.py +++ b/dsRag/Test/TestReadWordImage.py @@ -1,93 +1,12 @@ -word_path = "d:\\dsWork\\dsProject\\dsRag\\Test\\带图的WORD文档.docx" - -from docx import Document -from docx.oxml import parse_xml -from docx.oxml.ns import nsmap import os -import zipfile -import shutil - - -def extract_images_from_docx(docx_path, output_folder): - """ - 从docx提取图片并记录位置 - :param docx_path: Word文档路径 - :param output_folder: 图片输出文件夹 - :return: 包含图片路径和位置的列表 - """ - # 创建临时解压目录 - temp_dir = os.path.join(output_folder, "temp_docx") - os.makedirs(temp_dir, exist_ok=True) - - # 解压docx文件 - with zipfile.ZipFile(docx_path, 'r') as zip_ref: - zip_ref.extractall(temp_dir) - - # 读取主文档关系 - with open(os.path.join(temp_dir, 'word', '_rels', 'document.xml.rels'), 'r') as rels_file: - rels_content = rels_file.read() - - # 加载主文档 - doc = Document(docx_path) - image_data = [] - img_counter = 1 - - # 遍历所有段落 - for para_idx, paragraph in enumerate(doc.paragraphs): - for run_idx, run in enumerate(paragraph.runs): - # 检查运行中的图形 - for element in run._element: - if element.tag.endswith('drawing'): - # 提取图片关系ID - blip = element.find('.//a:blip', namespaces=nsmap) - if blip is not None: - embed_id = blip.get('{%s}embed' % nsmap['r']) - - # 从关系文件中获取图片文件名 - rel_entry = f'