Report_Generator/Windows/baogao_project/main_old.py

430 lines
21 KiB
Python
Raw Normal View History

2025-07-02 09:19:15 +08:00
from win32com import client as wc
from docx import Document
from get_imformation import MainWindow
# 文档处理工具
from tools.document_tools import (
create_document, add_documents,
add_table_to_document,right_align_last_three_para
)
# 内容处理工具
from tools.content_tools import (
add_picture,
search_and_replace,add_picture_to_table
)
from get_pictures import make_Thumbnail,get_picture_nums,resize_and_reduce_quality
from core.tables import fill_tables
async def add_dynamic_table(output_doc,output_dir,table_num,TABLES,JIANCHA_XIANGQING_DIR,PICTURES,row,col,i,FLAG):
"""创建动态表
Args:
output_doc (Document): 文档对象
output_dir (str): 输出目录
table_num (int): 表格序号
TABLES (list): 表格数据
JIANCHA_XIANGQING_DIR (str): 检查详情表目录
PICTURES (list): 图片数据
row (int): 行数
col (int): 列数
i (int): 表格序号
"""
for Table in TABLES:
print(Table)
output_doc, message = await add_table_to_document(output_dir, JIANCHA_XIANGQING_DIR,row,col,i,Table,FLAG)
print(message)
print(f"开始处理图片列表{PICTURES}")
try:
for picturedir in PICTURES[table_num][0]:
print(f"添加 {picturedir} {type(picturedir)}到表格{table_num}")
resize_and_reduce_quality(picturedir,picturedir)
print(await add_picture_to_table(output_doc, output_dir, 2, 0, picturedir, i, 4.7232))
except Exception as e:
print(f"添加图片失败:{e}")
table_num += 1
if table_num == len(PICTURES[table_num]):
table_num = 0
i += 1
if i%2 == 1:
output_doc.add_paragraph('\u200B')
output_doc.add_paragraph('\u200B')
output_doc.add_paragraph('\u200B')
output_doc.save(output_dir)
return i,table_num
def break_across_pages(p):
word = wc.Dispatch('Word.Application')
word.Visible = False
word.DisplayAlerts = False
doc = word.Documents.Open(p)
try:
for table in doc.Tables:
table.Rows.AllowBreakAcrossPages = False
doc.Save()
finally:
doc.Close()
async def test(output_dir, cover_dirs, page_cut = True):
# 创建一个新文档作为基础
merged_document = Document()
for file in cover_dirs:
doc = Document(file)
# 复制源文档中的所有段落
for element in doc.element.body:
# 复制每个元素到合并后的文档
merged_document.element.body.append(element)
# 保存合并后的文档
merged_document.save(output_dir)
Picture_dir = ""
jituan_name=fengchang_name=project_number=jizu_type=company_name_yi=company_name_jia=project_location=fuzeren=phone_fuzeren=Y1=Y2=Y3=xiangmuguige = ""
JIANCHA_XINGXI42 = ""
#生成报告
async def main(ui):
#报告内容是否展示
Project_Overview = True
global Picture_dir
global jituan_name, fengchang_name, project_number, jizu_type, company_name_yi, company_name_jia, project_location, fuzeren, phone_fuzeren, Y1, Y2, Y3, xiangmuguige
title_report = jituan_name+project_number
#获取模板编号、模板名称
cover_encode = "encode"
cover_project = "project"
cover_date = "time"
TITLE_OF_REPORT = "companyencode"
###封面创建###
#封面目录
cover_dirs = [r"C:\Users\DTAI\Desktop\work\报告生成\封面\外部封面1.docx",r"C:\Users\DTAI\Desktop\work\报告生成\封面\封面图片.jpg",r"C:\Users\DTAI\Desktop\work\报告生成\封面\外部封面2.docx"]
#输出目录
output_dir = fr"C:\Users\DTAI\Desktop\work\报告生成\{jituan_name}{fengchang_name}项目风力发电机组叶片检查报告{project_number}.docx"
#创建文档、添加封面
print(await create_document(output_dir))
print(await add_documents(output_dir, cover_dirs[0]))
print(await add_picture(output_dir, cover_dirs[1]))
print(await add_documents(output_dir, cover_dirs[2]))
print("封面创建成功")
#更改文档信息
print(await search_and_replace(output_dir, TITLE_OF_REPORT, jituan_name + project_number))
print(await search_and_replace(output_dir, cover_project, jituan_name + fengchang_name))
print(await search_and_replace(output_dir, cover_encode, jituan_name + project_number))
print(await search_and_replace(output_dir, cover_date, date))
###封面创建###
XIANG_MU_GAI_KUANG = r"C:\Users\DTAI\Desktop\work\报告生成\外部报告表格\项目概括表.docx"
XIANGMU_GAIKUO = list(list("" for i in range(5)) for j in range(5))
XIANGMU_GAIKUO[0][1] = fengchang_name
#XIANGMU_GAIKUO[0][3]=XIANGMU_GAIKUO[0][4] = "盐城市滨海县"
XIANGMU_GAIKUO[0][3] = project_location
#XIANGMU_GAIKUO[1][1]=XIANGMU_GAIKUO[2,1]=XIANGMU_GAIKUO[3,1] = "国家电投集团滨海风力发电有限公司"
XIANGMU_GAIKUO[1][1] = company_name_jia
XIANGMU_GAIKUO[1][3] = company_name_yi
XIANGMU_GAIKUO[2][3] = fuzeren
XIANGMU_GAIKUO[3][4] = phone_fuzeren
XIANGMU_GAIKUO[4][1] = jizu_type
XIANGMU_GAIKUO[4][4] = xiangmuguige
JIANCHA_XINGXI_DIR = r"C:\Users\DTAI\Desktop\work\报告生成\外部报告表格\检查信息表.docx"
JIANCHA_XINGXI = list(list("" for i in range(4)) for j in range(9))
Jiancha_renyuan = "张三"
Jiancha_shijian = "2025年4月28日"
YepianChangjia = "株洲时代新材料科技股份有限公司"
Yepianxingxi1 = f"机组编号{project_number}机组"
Yepianxingxi2 = f"叶片1{Y1}"
Yepianxingxi3 = f"叶片2{Y2}"
Yepianxingxi4 = f"叶片3{Y3}"
normal_picture_num = get_picture_nums(Picture_dir)
Y1_quexian_num = get_picture_nums(Picture_dir + rf"\{Y1}\缺陷图")
Y2_quexian_num = get_picture_nums(Picture_dir + rf"\{Y2}\缺陷图")
Y3_quexian_num = get_picture_nums(Picture_dir + rf"\{Y3}\缺陷图")
picture_num = normal_picture_num
JIANCHA_XINGXI[0][1] = Jiancha_renyuan
JIANCHA_XINGXI[1][1] = Jiancha_shijian
JIANCHA_XINGXI[1][3] = jituan_name+project_number
JIANCHA_XINGXI[3][2] = YepianChangjia
JIANCHA_XINGXI[4][1] = Yepianxingxi1
JIANCHA_XINGXI[5][1] = Yepianxingxi2
JIANCHA_XINGXI[6][1] = Yepianxingxi3
JIANCHA_XINGXI[7][1] = Yepianxingxi4
JIANCHA_XINGXI[8][0] = f"本次无人机叶片外部高精度飞行检查,采集叶片图片{picture_num}内容覆盖A、B、C三支叶片的前缘、后缘、迎风面、背风面。"
global JIANCHA_XINGXI42
JIANCHA_XINGXI42 = r"C:\Users\DTAI\Desktop\work\报告生成\图片\检查信息表4,2图.jpg"
CHENGGUO_DIJIAO_DIR = r"C:\Users\DTAI\Desktop\work\报告生成\外部报告表格\成果递交表.docx"
CHENGGUO_DIJIAO = list(list("" for i in range(4)) for j in range(6))
Yezhurenyuan = "李四"
Shujuchuli_renyuan = "王五"
Baogaobianzhi_renyuan = "六麻子"
Baogaoshenghe_renyuan = "六麻子"
Changjia_renyuan = ""
Juti_shijian = "15:00"
Chuli_shijian = "2025年4月30日"
Bianzhi_shijian = "2025年4月30日"
Shenghe_shijian = "2025年5月28日"
CHENGGUO_DIJIAO[0][1] = Jiancha_renyuan
CHENGGUO_DIJIAO[1][1] = Yezhurenyuan
CHENGGUO_DIJIAO[2][1] = Jiancha_shijian
CHENGGUO_DIJIAO[3][1] = Shujuchuli_renyuan
CHENGGUO_DIJIAO[4][1] = Baogaobianzhi_renyuan
CHENGGUO_DIJIAO[5][1] = Baogaoshenghe_renyuan
CHENGGUO_DIJIAO[1][3] = Changjia_renyuan
CHENGGUO_DIJIAO[2][3] = Juti_shijian
CHENGGUO_DIJIAO[3][3] = Chuli_shijian
CHENGGUO_DIJIAO[4][3] = Bianzhi_shijian
CHENGGUO_DIJIAO[5][3] = Shenghe_shijian
JIANCHA_HUIZONG_DIR = r"C:\Users\DTAI\Desktop\work\报告生成\外部报告表格\检查情况汇总表.docx"
JIANCHA_HUIZONG = list(list("" for i in range(3)) for j in range(4))
Y1_Jiancha_neirong = "前缘、后缘、PS面、SS面"
Y2_Jiancha_neirong = "前缘、后缘、PS面、SS面"
Y3_Jiancha_neirong = "前缘、后缘、PS面、SS面"
Y1_Wenti = """1.距叶根20m处叶片PS面发现1处裂纹损伤长度为轴向3m
2.距叶根30m处叶片后缘发现一处涂层损伤长度为轴向120mm"""
Y2_Wenti = "未发现明显影响风力发电机组正常运行的外部缺陷"
Y3_Wenti = "未发现明显影响风力发电机组正常运行的外部缺陷"
JIANCHA_HUIZONG[1][0] = f"{Y1} 共发现缺陷{Y1_quexian_num}"
JIANCHA_HUIZONG[2][0] = f"{Y2} 共发现缺陷{Y2_quexian_num}"
JIANCHA_HUIZONG[3][0] = f"{Y3} 共发现缺陷{Y3_quexian_num}"
JIANCHA_HUIZONG[1][1] = f"叶片{Y1_Jiancha_neirong}"
JIANCHA_HUIZONG[2][1] = f"叶片{Y2_Jiancha_neirong}"
JIANCHA_HUIZONG[3][1] = f"叶片{Y3_Jiancha_neirong}"
JIANCHA_HUIZONG[1][2] = Y1_Wenti
JIANCHA_HUIZONG[2][2] = Y2_Wenti
JIANCHA_HUIZONG[3][2] = Y3_Wenti
JIANCHA_NEIRONG_DIR = r"C:\Users\DTAI\Desktop\work\报告生成\外部报告表格\检查内容表.docx"
JIANCHA_NEIRONG = list(list("" for i in range(3)) for j in range(15))
JIANCHA_NEIRONG[0][0] = f"叶片1#{Y1})检查结果"
JIANCHA_NEIRONG[5][0] = f"叶片2#{Y2})检查结果"
JIANCHA_NEIRONG[10][0] = f"叶片3#{Y3})检查结果"
Y1_Jiancha_Tupian1_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y1}\图片1.jpg"
Y1_Jiancha_Tupian2_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y1}\图片2.jpg"
Y1_Jiancha_Tupian3_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y1}\图片3.jpg"
Y1_Jiancha_Tupian4_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y1}\图片4.jpg"
Y1_Jiancha_Tupian5_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y1}\图片5.jpg"
Y1_Jiancha_Tupian6_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y1}\图片6.jpg"
Y2_Jiancha_Tupian1_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y2}\图片1.jpg"
Y2_Jiancha_Tupian2_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y2}\图片2.jpg"
Y2_Jiancha_Tupian3_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y2}\图片3.jpg"
Y2_Jiancha_Tupian4_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y2}\图片4.jpg"
Y2_Jiancha_Tupian5_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y2}\图片5.jpg"
Y2_Jiancha_Tupian6_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y2}\图片6.jpg"
Y3_Jiancha_Tupian1_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y3}\图片1.jpg"
Y3_Jiancha_Tupian2_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y3}\图片2.jpg"
Y3_Jiancha_Tupian3_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y3}\图片3.jpg"
Y3_Jiancha_Tupian4_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y3}\图片4.jpg"
Y3_Jiancha_Tupian5_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y3}\图片5.jpg"
Y3_Jiancha_Tupian6_Dir = rf"C:\Users\DTAI\Desktop\work\报告生成\机组外部\{Y3}\图片6.jpg"
JIANCHA_XIANGQING_TITLE_DIR = r"C:\Users\DTAI\Desktop\work\报告生成\外部报告表格\检查详情标题.docx"
JIANCHA_XIANGQING_DIR = r"C:\Users\DTAI\Desktop\work\报告生成\外部报告表格\检查详情表.docx"
"""
动态表思路
后端直接获取每个叶片的缺陷总数返回给前端TABLE_NUMS
前端根据缺陷总数给用户提示填写每个表格的表单
前端返回数据
Y1_table_list
[
[
缺陷类型:
缺陷位置
缺陷尺寸
危重等级
图片路径
]
[
缺陷类型:
缺陷位置
缺陷尺寸
危重等级
图片路径
]
...
]
这个数据也可以作为检查情况汇总的数据来源即可先让用户标注对应缺陷图的缺陷存放后进行表格填写
最后后端读取表单数据生成表格并插入到文档中
或者
缺陷在文件名上已经写好前端直接读取文件名根据文件名生成对应的表单
"""
Y1_table_list = [
{
"QueXianLeiXing" : "涂层损伤",
"QueXianWeiZhi" : "叶片ps面距叶根3m处",
"QueXianChiCun" : "弦向100mm轴向800mm",
"WeiZongDengJi" : "轻微",
"Tupian_Dir" : [r"C:\Users\DTAI\Desktop\work\报告生成\机组外部\1L-3-1#\缺陷图\1L-3-1#叶片ps面距叶根3m处涂层损伤缺陷尺寸弦向100mm轴向800mm。DJI_20250319155824_0062_Z.jpg"],
},
{
"QueXianLeiXing" : "涂层损伤",
"QueXianWeiZhi" : "叶片ps面距叶根3m处",
"QueXianChiCun" : "弦向100mm轴向800mm",
"WeiZongDengJi" : "轻微",
"Tupian_Dir" : [r"C:\Users\DTAI\Desktop\work\报告生成\机组外部\1L-3-1#\缺陷图\1L-3-1#叶片ps面靠近前缘距叶根1m处涂层损伤缺陷尺寸弦向80mm轴向300mm。DJI_20250319155842_0067_Z.jpg"],
}
]
Y2_table_list = [
{
"QueXianLeiXing" : "涂层损伤",
"QueXianWeiZhi" : "叶片ps面距叶根3m处",
"QueXianChiCun" : "弦向100mm轴向800mm",
"WeiZongDengJi" : "轻微",
"Tupian_Dir" : [r"C:\Users\DTAI\Desktop\work\报告生成\机组外部\1L-3-1#\缺陷图\1L-3-1#叶片ps面距叶根3m处涂层损伤缺陷尺寸弦向100mm轴向800mm。DJI_20250319155824_0062_Z.jpg"],
},
{
"QueXianLeiXing" : "涂层损伤",
"QueXianWeiZhi" : "叶片ps面距叶根3m处",
"QueXianChiCun" : "弦向100mm轴向800mm",
"WeiZongDengJi" : "轻微",
"Tupian_Dir" : [r"C:\Users\DTAI\Desktop\work\报告生成\机组外部\1L-3-1#\缺陷图\1L-3-1#叶片ps面靠近前缘距叶根1m处涂层损伤缺陷尺寸弦向80mm轴向300mm。DJI_20250319155842_0067_Z.jpg"],
}
]
Y3_table_list = [
{
"QueXianLeiXing" : "涂层损伤",
"QueXianWeiZhi" : "叶片ps面距叶根3m处",
"QueXianChiCun" : "弦向100mm轴向800mm",
"WeiZongDengJi" : "轻微",
"Tupian_Dir" : [r"C:\Users\DTAI\Desktop\work\报告生成\机组外部\1L-3-1#\缺陷图\1L-3-1#叶片ps面距叶根3m处涂层损伤缺陷尺寸弦向100mm轴向800mm。DJI_20250319155824_0062_Z.jpg"],
},
{
"QueXianLeiXing" : "涂层损伤",
"QueXianWeiZhi" : "叶片ps面距叶根3m处",
"QueXianChiCun" : "弦向100mm轴向800mm",
"WeiZongDengJi" : "轻微",
"Tupian_Dir" : [r"C:\Users\DTAI\Desktop\work\报告生成\机组外部\1L-3-1#\缺陷图\1L-3-1#叶片ps面靠近前缘距叶根1m处涂层损伤缺陷尺寸弦向80mm轴向300mm。DJI_20250319155842_0067_Z.jpg"],
}
]
Xu_Hao = 0 #单后端测试变量
Y1_TABLE_NUMS = len(Y1_table_list)
Y2_TABLE_NUMS = len(Y2_table_list)
Y3_TABLE_NUMS = len(Y3_table_list)
Y1_TABLES, Y1_TABLES_PICTURES, Xu_Hao = fill_tables(Y1_table_list,6,3,Y1_TABLE_NUMS,Xu_Hao,Y1)
Y2_TABLES, Y2_TABLES_PICTURES, Xu_Hao = fill_tables(Y2_table_list,6,3,Y2_TABLE_NUMS,Xu_Hao,Y2)
Y3_TABLES, Y3_TABLES_PICTURES, Xu_Hao = fill_tables(Y3_table_list,6,3,Y3_TABLE_NUMS,Xu_Hao,Y3)
#总结文字
ZONG_JIE_BEFORE = "result"
ZONG_JIE = """1、因海上风电叶片运行环境恶劣、空气盐碱度高叶片前缘合模缝区域及PS面迎风面涂层易受腐蚀建议定期观察维护。
2经无人机近距离外观检查发现H3-08#机位Y200220AF叶片PS面距叶根20m处发现一处裂纹损伤长度轴向3m该缺陷经我方判定为严重缺陷建议尽快结安排对该机组停机并结合其他检查手段如人工打磨进一步勘查并决定维修处置方案防止风险进一步升级。
3经无人机近距离外观检查未发现H3-08#机位Y200249AF、Y200250AF叶片有明显影响机组正常运行的外部缺陷。
"""
ZONG_JIE_DIR = r"C:\Users\DTAI\Desktop\work\报告生成\外部报告表格\总结.docx"
i = 0
#添加项目概况表
output_doc, message = await add_table_to_document(output_dir, XIANG_MU_GAI_KUANG,5,5,i,XIANGMU_GAIKUO)
print(message)
i += 1
#新建检查信息表
output_doc, message = await add_table_to_document(output_dir, JIANCHA_XINGXI_DIR,9,4,i,JIANCHA_XINGXI,False)
print(message)
Thumbnail_Picture = await make_Thumbnail(Picture_dir, Picture_dir)
#添加图片
print(await add_picture_to_table(output_doc, output_dir, 4, 2, JIANCHA_XINGXI42, i))
#添加略缩图片
print(await add_picture_to_table(output_doc, output_dir, 8, 0, Thumbnail_Picture, i))
i += 1
#添加成果递交表
output_doc, message = await add_table_to_document(output_dir, CHENGGUO_DIJIAO_DIR,5,5,i,CHENGGUO_DIJIAO,True,0.04)
print(message)
i += 1
#添加检查情况汇总表
output_doc, message = await add_table_to_document(output_dir, JIANCHA_HUIZONG_DIR,4,3,i,JIANCHA_HUIZONG,False)
print(message)
i += 1
#添加检查内容表
output_doc, message = await add_table_to_document(output_dir, JIANCHA_NEIRONG_DIR,15,3,i,JIANCHA_NEIRONG,False)
print(message)
print(await add_picture_to_table(output_doc, output_dir, 1, 0, Y1_Jiancha_Tupian1_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 1, 1, Y1_Jiancha_Tupian2_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 1, 2, Y1_Jiancha_Tupian3_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 3, 0, Y1_Jiancha_Tupian4_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 3, 1, Y1_Jiancha_Tupian5_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 3, 2, Y1_Jiancha_Tupian6_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 6, 0, Y2_Jiancha_Tupian1_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 6, 1, Y2_Jiancha_Tupian2_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 6, 2, Y2_Jiancha_Tupian3_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 8, 0, Y2_Jiancha_Tupian4_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 8, 1, Y2_Jiancha_Tupian5_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 8, 2, Y2_Jiancha_Tupian6_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 11, 0, Y3_Jiancha_Tupian1_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 11, 1, Y3_Jiancha_Tupian2_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 11, 2, Y3_Jiancha_Tupian3_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 13, 0, Y3_Jiancha_Tupian4_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 13, 1, Y3_Jiancha_Tupian5_Dir, i))
print(await add_picture_to_table(output_doc, output_dir, 13, 2, Y3_Jiancha_Tupian6_Dir, i))
i += 1
#添加检查详情表
"""
分页符无法加入python-docx库原因
"""
output_doc.add_paragraph('\u200B')
output_doc.add_paragraph('\u200B')
output_doc.add_paragraph('\u200B')
output_doc.add_paragraph('\u200B')
output_doc.add_paragraph('\u200B')
output_doc.add_paragraph('\u200B')
output_doc.add_paragraph('\u200B')
output_doc.add_paragraph('\u200B')
output_doc.save(output_dir)
print(await add_documents(output_dir, JIANCHA_XIANGQING_TITLE_DIR))
table_num = 0
i,table_num = await add_dynamic_table(output_doc,output_dir,table_num,Y1_TABLES,JIANCHA_XIANGQING_DIR,Y1_TABLES_PICTURES,3,6,i,False)
i,table_num = await add_dynamic_table(output_doc,output_dir,table_num,Y2_TABLES,JIANCHA_XIANGQING_DIR,Y2_TABLES_PICTURES,3,6,i,False)
i,table_num = await add_dynamic_table(output_doc,output_dir,table_num,Y3_TABLES,JIANCHA_XIANGQING_DIR,Y3_TABLES_PICTURES,3,6,i,False)
break_across_pages(output_dir)
#添加总结
print(await add_documents(output_dir, ZONG_JIE_DIR))
print(await search_and_replace(output_dir, ZONG_JIE_BEFORE, ZONG_JIE))
print(await right_align_last_three_para(output_dir))
# for Table in Y1_TABLES:
# print(Table)
# output_doc, message = await add_table_to_document(output_dir, JIANCHA_XIANGQING_DIR,3,6,i,Table,False)
# print(message)
# try:
# for picturedir in Y1_TABLES_PICTURES[table_num][0]:
# print(f"添加 {picturedir} {type(picturedir)}到表格")
# resize_and_reduce_quality(picturedir,picturedir)
# print(await add_picture_to_table(output_doc, output_dir, 2, 0, picturedir, i, 6))
# except Exception as e:
# print(f"添加图片失败:{e}")
# table_num += 1
# i += 1
#添加
if "__main__" == __name__:
import sys
from PySide6 import QtWidgets
app = QtWidgets.QApplication(sys.argv) # 创建一个QApplication也就是你要开发的软件app
Window = MainWindow() # 创建一个QMainWindow也就是你要开发的软件的主窗口
Window.show() # 执行QMainWindow的show()方法显示这个QMainWindow
sys.exit(app.exec()) # 使用exit()或者点击关闭按钮退出QApplication