From e39e04cdc0e427aa501bca3db23061d78369bec0 Mon Sep 17 00:00:00 2001 From: Voge1imkafig <2390349500@qq.com> Date: Fri, 1 Aug 2025 18:02:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=B7=BB=E5=8A=A0=E9=87=91?= =?UTF-8?q?=E9=A3=8E=E5=8A=A8=E6=80=81=E5=9B=BE=E7=89=87=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jf_report.py | 117 +++++++++--- __pycache__/Jf_report.cpython-310.pyc | Bin 9731 -> 10907 bytes core/__pycache__/tables.cpython-310.pyc | Bin 7559 -> 7559 bytes muban/defect_picture_table.docx | Bin 0 -> 4742 bytes muban/typical_picture_table.docx | Bin 0 -> 5026 bytes ...‘Šä¸€æœŸ012å·2025å¹´08月01日版40.docx} | Bin 141263 -> 242809 bytes .../__pycache__/content_tools.cpython-310.pyc | Bin 13771 -> 13732 bytes .../document_tools.cpython-310.pyc | Bin 28036 -> 31674 bytes tools/content_tools.py | 62 ++----- tools/document_tools.py | 173 ++++++++++++++++-- tools/esay_docx_func.py | 4 +- 11 files changed, 265 insertions(+), 91 deletions(-) create mode 100644 muban/defect_picture_table.docx create mode 100644 muban/typical_picture_table.docx rename output/{三峡能æºé˜¿åŸŽä¸‡å…´é£Žç”µåœºé˜²é›·é€šé“检测项目项目å¶ç‰‡å¤–è§‚ã€å†…部ã€é˜²é›·æ£€æŸ¥æŠ¥å‘Šä¸€æœŸ012å·2025å¹´07月31日版41.docx => 三峡能æºé˜¿åŸŽä¸‡å…´é£Žç”µåœºé˜²é›·é€šé“检测项目项目å¶ç‰‡å¤–è§‚ã€å†…部ã€é˜²é›·æ£€æŸ¥æŠ¥å‘Šä¸€æœŸ012å·2025å¹´08月01日版40.docx} (54%) diff --git a/Jf_report.py b/Jf_report.py index 934f880..b5baa35 100644 --- a/Jf_report.py +++ b/Jf_report.py @@ -4,7 +4,7 @@ from tools.document_tools import ( add_table_to_document,add_dynamic_table,add_section, process_server_images_table,add_header,add_landscape_section, merge_documents,add_table,add_defect_info_table,add_table_title, - add_title,change_heading,add_auto_toc_at_end + add_title,change_heading,add_auto_toc_at_end,add_jf_picture_table ) # 内容处ç†å·¥å…· @@ -310,13 +310,22 @@ async def generate_jf_report(base_info, baogao_info): table_list = tree_dict_to_table_data(defect_part_type_list) # æœåŠ¡å™¨èŽ·å–çš„æ ‘å½¢ç»“æž„è½¬åŒ–ä¸ºè¡¨æ ¼æ•°æ® table_list = defect_list_addtitle(table_list, jizu_bianhao) # 增加æ¯åˆ—标题,机组 + add_table_title(output_dir, DEFECT_TABLE_TITLE) # 增加表格标题 + total_table_num += 1 + table_json = list_to_json_with_merges(table_list, style_config=STYLE_CONFIG, merge_columns=2) #å°†list转æ¢ä¸ºjsonå½¢å¼ï¼Œå‰ä¸¤åˆ—检查相åŒåˆå¹¶ - json_to_docx(table_json, output_dir).save(output_dir) #jsontodocx + json_to_docx(table_json, output_dir).save(output_dir) #jsontodocx + total_table_num += 1 + #使用器具记录表 + add_table_title(output_dir, USE_TOOL_TABLE_TITLE) + total_table_num += 1 + json_to_docx(list_to_json_with_merges(use_tool_table, style_config=STYLE_CONFIG, detect_merges=False),output_dir).save(output_dir) + total_table_num += 1 #添加目录节 add_section(output_dir).save(output_dir) @@ -330,33 +339,87 @@ async def generate_jf_report(base_info, baogao_info): print(add_heading(output_dir, f"1. 机组å·ï¼š{jizu_bianhao}", 1)) print(add_heading(output_dir, f"1.1 å¶ç‰‡ç¼–å·ï¼š{Y_Code[0]}", 2)) #add_header(output_dir, TEMPLATE_HEADER.JINFENG_HEADER.ENUM, if_section=False, text = " " + TEMPLATE_HEADER.JINFENG_HEADER.PARA) - add_table_to_document( - output_dir, - get_resource_path(MUBAN_DIR + '/jfempty.docx'), - 3, - 5, - total_table_num, - if_merge=False, - Report_Enum=TEMPLATE_HEADER.JINFENG_HEADER.ENUM, - if_para=False - ) """ - 典型图片dict 典型图片的æè¿°å›ºå®š - { - 图片æè¿° : 图片地å€, #情况一 - æè¿°éƒ¨ä½ç¼ºé™·æ•°é‡ : 缺陷类型数é‡, #情况二 - ... - } - 缺陷图片dict 缺陷图片的æè¿°ä»Žä¿¡æ¯æ¥æºèŽ·å– - { - 图片æè¿° : 图片地å€, - } + typical_picture_list: #æ¯åˆ—æœ‰ä¸¤ç§æƒ…况 + [ + [str(图片æè¿°), int(n), ...], + [str(图片地å€), str(缺陷类型), ...] + ] + defect_picture_list: #åªæœ‰ä¸€ç§æƒ…况 + [ + [str(图片æè¿°), str(图片æè¿°), ...], + [str(图片地å€), str(图片地å€), ...] + ] """ typical_picture_list = [] - typical_picture_dict = {} - for description, url in zip(typical_picture_description, typical_picture_list): - typical_picture_dict[description] = url - print(typical_picture_dict) - defect_picture_dict = {} + defect_picture_list = [] + typical_picture_list = [ + [ + "外观检查(迎ã€èƒŒé£Žé¢æ˜¯å¦æœ‰æ¼†é¢è„±è½ã€è£‚纹等)1", + "外观检查(å‰ã€åŽç¼˜ï¼›å¦‚å‰ç¼˜æ¼†é¢è„±è½ã€åˆæ¨¡ç¼å¼€è£‚等)2", + "外观检查(迎ã€èƒŒé£Žé¢æ˜¯å¦æœ‰æ¼†é¢è„±è½ã€è£‚纹等)3", + "外观检查(å‰ã€åŽç¼˜ï¼›å¦‚å‰ç¼˜æ¼†é¢è„±è½ã€åˆæ¨¡ç¼å¼€è£‚等)4", + "外观检查(迎ã€èƒŒé£Žé¢æ˜¯å¦æœ‰æ¼†é¢è„±è½ã€è£‚纹等)5", + "外观检查(å‰ã€åŽç¼˜ï¼›å¦‚å‰ç¼˜æ¼†é¢è„±è½ã€åˆæ¨¡ç¼å¼€è£‚等)6", + "外观检查(迎ã€èƒŒé£Žé¢æ˜¯å¦æœ‰æ¼†é¢è„±è½ã€è£‚纹等)7", + "外观检查(å‰ã€åŽç¼˜ï¼›å¦‚å‰ç¼˜æ¼†é¢è„±è½ã€åˆæ¨¡ç¼å¼€è£‚等)8", + "外观检查(迎ã€èƒŒé£Žé¢æ˜¯å¦æœ‰æ¼†é¢è„±è½ã€è£‚纹等)9", + "外观检查(å‰ã€åŽç¼˜ï¼›å¦‚å‰ç¼˜æ¼†é¢è„±è½ã€åˆæ¨¡ç¼å¼€è£‚等)10", + ], + [ + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + 2, + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + 2, + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + 2, + 2, + ], + [ + "", + "图层脱è½", + "", + "", + "图层脱è½", + "", + "", + "", + "图层脱è½", + "图层脱è½", + ] + ] + defect_picture_list = [ + [ + "1", + "2", + "3456", + "456", + "56", + "6", + "12", + "123", + ], + [ + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + "/home/dtyx/桌é¢/yhh/Report_Generate_Server/muban/wechat_2025-07-29_123404_038.png", + ] + ] + total_table_num = add_jf_picture_table( + typical_picture_list, + defect_picture_list, + get_resource_path(MUBAN_DIR + '/typical_picture_table.docx'), + get_resource_path(MUBAN_DIR + '/defect_picture_table.docx'), + output_dir, + total_table_num + ) diff --git a/__pycache__/Jf_report.cpython-310.pyc b/__pycache__/Jf_report.cpython-310.pyc index 402e19a3643ea67e7a01653d23f9ffb1dd46e960..60f09ab5ce953cdcce541aa541b16e821a198c88 100644 GIT binary patch delta 2294 zcmb_d?@tqF9KYvUZ>6*yKMF`e5T;1Q(ozcOVy1{dFkJ;HL(ZAA_714KqwIQBXG*Hn z7+Dly&*s?BICXR5g)y#KGMBm~`o?7Y3+~;r6fiOIm2b8;d%h17ol`Q6ZJy8b{qcFe z_j$he++E5)+h>bft!9S&-kv%$oZ2;QD@XR}x~@7UpU+2($cU_5pcL|jik-Jp-yjz$ z#eA_+!k19rC{JIi%2lfPD(bG1r+;FAvY*q-b-zh+!%x_ zYivAtS%Vs9dlV!!H1 z1TG`QEVKNHfVL;aK8fJ{R)^_v8XvLx_vSD|%-8@K{1794dIb^ujN*BM2FQq?Q-6ja zJH~78B?c0_=F^(QFG`pcqSlvSB?5__6gSo*GGv>x>A$RZ4BRl$t`6h7`L~f9pD5_B zhrk@t4KYofGpG^b>4u1SR5wO6Nl};Ru;v2*In5QWL9S7-Y3f6;V#_X#Eip;#2E-5J zZu`RjU2%u5NQ*_?MsxuGP}++;ILA?gX0XSxE$KAJ+Xx~1_4&nb$LFsepTG3Y!_4W$ zUnc)Jequ3o=Kj^m`xmdw&)mpPU7No!F`qd_+{KeO7pHCm;p+IpPq!AXPdv;_G{pV? zt&^QNOK91t$%V|!!^~{<+Bk_2d$~?>sZe(6^!#_17cv*Knd4BDR`k9mWsNH+OTJjz z3d(%1Nm)}o`6^9YL0R)lDoeiTcDAh0v{&lc=I1I)zWhPk5`Xs<4%!QPW~N8i<1|0& z#rN_(NhN+TG~zxYg@;3$;PrT$T%Hz}cZ<;AZS;A3f~RqF{piS$>Vao!b{U>=X@bT8 zoMyF~Oph!Cva>&DZ;mfLKQy`o7oZZ5lFtSq<2320K}TNQ*yw9&)(rqG8Hh{`Ufn>n zIZaQgd7|q%*0D0T_7Qmxhva|1jqAl|_~@}c4!0-`N@49eNoT*lYE+GkXlgYPrRVQ# z?`ZAw2ZbH2z3oC*pkueX8n#gaPznsgkff<=@$ZgWRE5oD+jGkxY| zD8~MBC#u1R%YW=Bgun&>_%5im02={p1oQ%O+4i=e5NzGyZx@1HL4Uit2@;mx-~frV z?GAKwb*gn(TeC6O4$BG%IQQYXH3!i)Y^iXgHoUc>4xPfo6*cH%e6HeFQ9tko0C<3X z0Po}dl`if8m?1n>>E%Q)C48^4k5j-L!EdeYLPyie+E37WITF+K!e@F1!KdH$_|58a zRFmFR{Q&J`O~}UP5i}c3$N`?g#uc*;#Ii<<5pgVM;Vi}lZUbjFK4ME)#3D2K!)*Ff ztwm%{oAIu7gREMBudgfRXxHrcw{@#aX1JN-C&h^!H`r~pSpt%E(&PUnWBs#H(E;W5<(*RlRnO&W}h zNHO&uP_F~b0f5-2+OYgR(@k5Is2G=}cL;%r!OgP!QC?1-ag)(!$}?FECU!Nluzv%y CH-B{i delta 1087 zcma)4&u<$=6yCS%I2$`_T-)nJrm15$b+b-mx2^+R_@SaUgoZ+srfHUgn|d~>&92vs zClF9L84iF@6NXYGBoGHAT7;^~mvR8L;e@y%B(_3ATu`O{0Z4FQ-nd0Qva9*#z3+W* z-prf%bg4TZ^9>`Si0|v-`xp6>JF&eG-KlY?q}!=pOct*hi$TyOlFoVaPpdAC+^} zuF84Fo*@wueOs{~BSVXdHGCI$XT^IbArHN-YN#<=5QZ2(h|!_F&q6nJzHID^u=%Z1 zY@w@y!Y>&ae#4l5f}IsqmCcZkMwBj)%jDy&(`1`XG!Hb7k!^D2109qhg(+LJT>zz_ zytP6UQS_7EQfyZXuZse7osT8HgA%`!SS}%P6#}ip=v9qg6keb;$Yu~~Fvp{PIp#DG zUg@1rj={8#whXn=qW`&)>njC!9r+D@E%oRB&DfP0z3!>zM*v;qPUh zKJlheZmv0Ao4rvYetnZ3Ms-Dir3HFpt>!s&-3g)#PTQxfcD%LW1%rZauhLa(IT&cu zMvKuL&t*r<5ll@Zj0y;}b%)U`e<3>wdJ{#AYo-r+yz3-B)gJO8bD7Io(kRuJ%g(3km-`=`S-G|%&Y_E*AnGzqUxEQMV( zJ$`9o4qos5I`JXINu$mlzCXTQ*bAxNH-&ppff&RgqGcea#lmSd1FEV*1l0R~Sj^$S z)QCQ)1I>ci?Bo2m$+d+b$$a1Kl{ diff --git a/muban/defect_picture_table.docx b/muban/defect_picture_table.docx new file mode 100644 index 0000000000000000000000000000000000000000..48c6e815631e1e4bf83aea69f905020e0652db89 GIT binary patch literal 4742 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 literal 0 HcmV?d00001 diff --git a/muban/typical_picture_table.docx b/muban/typical_picture_table.docx new file mode 100644 index 0000000000000000000000000000000000000000..c43315000bbf39532cd23efdf9f953491ba9bb4b GIT binary patch literal 5026 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 U?gGdNh?iKU`aVfggK(C>SxU_7PT=S3JvGBs z!)<@NhZoer-q*QL?=-=LX?a;*xJCI%tJr6)s!7D0$y9g5-<`mYdpg7(e#x*jWh$2#Jie%EF^8^+@@iJ6@k-Z{HyWys9>XdCcq5pglF+pZD)rf{+l6 zd>-2Gpm9DfC%k8@-ki(VYei!D#T)~3%w{d62D}oU4lnglDvk%p8R+Sks$ZAu*rrGp zm%jd}G_NLngRsEF6ga(hm$o;ao}9XDqPB?n;1{U5q;2^C_^FOyp%sRA;W{DXb7BTHwz#c#Mn*>Z6ZS`lVNpiLwRLokkB<~|qsq(F z@$vBD_8~%of_%QFgSZ8C9ZEI7?Qj6Z$=(}pEt(4%=!B3AJQZT!LwiFCqoa+lZmx&) zzA`;-41!I80;-F&G;A1-T}h%3iQtji8v-2Jc?ogxtzfUpKU|lGR>xoMU0p%W$OvU* zG`}AO*T}*xGk18I_wY7!eR>;BLQlW$mMX!s$FuvJ!CU@r<_dCK7jN760!W+b5$O6%54pUrqewtl4PIT-QLqWsxdz3ME%H+wQSm9 zf3mZIiDH&K#ND%s;JCAPtWq1ut&;19hld|)2J`bME*ICSE@?graz2y4*;)?52hdoZOuL=U(m8^e+oGm@ds8Z`9{TadABix9v>bb zTL4cA-@jI7XDQ`Vs9iCg;NYMI;2hzhL1!+2AJ7&S$}_6=A{R)B1&|*cNZ9+6PJz9y zIaeAQbf!kKk&#$ul^3TUI}~;gj}K*1(wZEcs;H=_35h%C))bgyGdCaDy5(~l)^^DO z#YtzdDebbD!{F4A{hIl2qU0kcZS8?UnRLBfn`?uEgTo=!K=?sVq|*3rC_GwbW)v{M zp}D875sxr<`+Q|gTACpA+=P|YV9~kpb*l1QJy}IO0S&GB;bGA^lpg)A5*Ohw#<(-Bz*LTp?=!=B>yOG6`()ah0nn7?W@!T<_CONY&AiDPX2TEpvkETX3N}e`o}sJsSm~cX z>%vBq;zKzhP`OBGZ)ehL@+n~)P9Pwi8M%V3_G+PcmxjIVE z+~nj64Dez?8UiIImZoH#J9s3>m-N$}o2HCTp`fgA?Dv>Vt=?W%L^wBD=J*hdQ@Ry0U50T3Ebi9aB4=z>#r=I8S${JtoO@}*8Kc@Q=^ij zqa8RnTYUV`))*n4srLFyP0+I6x9P_8u?!0QXEd}g_23sPlJHnJIYw7mdOj~A!ovBL z)!71VBHy~0>i36f)8}@8M{Ojbs&ZJ2HF_|a?zK+8T@9dzb_Nrm$lD+nwfHSe5?}Iu zq1}iWuUCZ^@=j{nYK#ImYSBJL=BCuR+dl|}6dd)bT-i`W7O|z&Mh0&!i>PkTT+SZUbzq0^6>I{Dv2neAm@f5 zn=t!npH(~<73ratlr%f!ez%?jN`7^PDeuty^Uu;!_@-yGs~^LI5mdVMz_-SL-3iqh z{KkmHe3NV632A?w>jo23asQ=Od9u7P0!Swz8 zcjhzP0k=)ldVC5;Z`)f3dU{|ZNl}x##(xPWW�!?F(ON%Ah~fGc)k=uoaGz72+_ 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�mjCbmXhMHf`#V445c~EeiQ#KK0a6y)0qb4waekg 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

Arj2WxOjWDmt1Je*12g`SpUz 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 VbzmkUY5+CB2MYjr$P7X+{XZ84_j~{V diff --git a/tools/__pycache__/content_tools.cpython-310.pyc b/tools/__pycache__/content_tools.cpython-310.pyc index 97642e3b29f14922122f6fdab5d122a7415974df..ce2cb704a1fd4e59d74428da31db05a51a048e9b 100644 GIT binary patch delta 1407 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 delta 5707 zcmb7I4RBP)k$&^`?Z0-lTJ7o={Q`nTKOh8>kZ?r;AqkL$kk$fZu-aeQ{{!Z&stm&27v>=fqmV@Ek(92|Vam(gqPfv>tg4MI5GKia>+R+ z-SZ^j*tqVps{N*Cx~IFRr>AFDU;hI+^J7w(^mtqnd>$*ifAr^Hl%$_x=l!2T=(NCh z+W%1HyCliild<3=Em5m!P^}(TXeli_V;$H`r}*bdZJN;v;8dwwX*GOn;JZ<^t2X$n z&X@3yZi0S2w6)MSK)YGB#2S%H>tF=ipz0b9&@FT;=-o!^RhJl1Xaj9LqYO0BXqVd(w3F@z{!YO)L$`ix`dvf zdK>K7AiWDlZXc6|i5T^R_K4a#Y@>fiqoA!@j2u)j&qU8a zkFYfo-#^hi&N%U#jt=d2*=}hO!N=*gTMq$fWQGN_er5+i<+YN$;{$x z&WptLaY(W7H3G<6^Lo=mPN0@Qc|dsJyA!_C{T4~mBwad9Qj$inJuIi3DVOe?&Z0zj zJuaOC?Q^ab8Cl4>4@ik(Mba#@+lZ9PAkv&)Qz-Brm#9Uv>KUgA%v4SjA{~$pr6sDQ zGEQbBtY&+R9Fyi8)T+BTEC#XL(L~5@lw4j0l61O9rzv zMR$Wa+lo2MlDQ9AOCOWKJ3F$egF55R30KN1Xcy4#RHmTa@r(&i$~WOnWldzJ{1d)Z zHaPMdT{%nGNi9o<)wD^22E-?j3hDu!(2QJZ+{(@qDe)@sgM$AO@N-hRdX6qH@t+}S zDRCLR%sox0XIy4qn|c!5@#+EaK2y&D^qE`;nGKyZd&|*T@Po0O^Kv8`R%{0?GLdvU zdr!A71Wd{EguMs6T+oztPDTxSHub|&9j7g*C5=H|RucQVM~hupaQzL377t2=6}K8!P*W>E)5ti2z9E z3CSUlT=UVAdgh1qMAoLKo}79_x8gqPejP%*tRPmQ2O#~{LHe!5_;EA1wY}HoFH7ogvLA(7gGX3wQpB zRPkp^N-b|ZcR#;cQl38orhs>4i7HbU*i%?oF>}c)2h<%nVsX z9>B0^(Iatnn#Hl>*sIR&Vl2swOqv`zUZW;vCTfHL<2d7Cgj$405Y{4m3gJ_Mz^z}Q8tR)DTEn>IfN4k353G{h9jcJ)d@ABvC}wq24R+Wm6e7jkbE3v z{6|%$jSWTPk!XBuBq5~lMeYLtp*((nSxtQd_8Sp&gk}JPjK9zOTRA?@e^<8M#z5BL z=8fewyJcb{K9WI{CG?VFl1E&`PrRgxl#>dw33{dQ#c_GwMskQU?}JgtynMqUD}+5I zeBj?Izfgj4F=HUYVx895*rZ{LPEM)`%0A0KxjKIpdTRtGqbxeYqLZW35iJ>E>O>Nj zJkPJJt|I~d&gzo-ub`OR7B(DX!;uMO7bP$7qP*Z9a=lIj+j&T#T*gmTmX7D z)`}Q&q4ZG+deE99=1e#m3X$;dkfgbR1L>azWBZ}bWu^RjmgWI4<6ppkcNGM*YD3%+^6a9Q}0M+LU_4!j>Q#s&$Asp<2*-LP&bD*4OYK7FQt#NwngA%G8P=uEo>_aq#LksJt%SP3;fZh}5>C_Gj-?>-hhu)e3bl zlxe5#;TtQ0mFwobT8S>{vTo58-73sDbmwVj$_qBi&~>Ou6=;P|RRp)1Zd+Gs&xhQG z1Sr*|^LPb#MfLLNp2bTQdt^737WNs0hqy0PMn?JDn~KQicuy!dD9)}(ZE>>iKq`1Q)N3gHO)aMR6@jZqx93&EVp>#J%A<7!n2`R3w%RmIBQXOW3T*N~4eL(yg@ zRrYD@DwEL>bxt|fbcC^gK_PrqF+0N75YT~8$gIqwD2u?Bd=7cfBm8Z_{VYr|EE<%K z9-LfaQ%MrEdNq{4|$2-s4w>k8~vzAtYnhcHUvbXl)FEW7{Oa5#yS4wh63AnaQ=7s zs|{O2Vw2~wFMKk$8@s0v?nW@L2wvT|k$i^_Hl84_EnaQ>Apxt;GzC0YLBz23?(XOe zvkCsarZw3@rMQHU$518T)Dq;y&8tWyZ*Hz6Kj9T*u`l07Djy*SL2OPCs8ANW!vFDOoyGIeF_iYM)(*pZd}cJ7G@RlFj*QXc>;z_Ce?Hg?2fXLdYqmmUR`IHV z3I|5>DGSTy0|RxrjTSf-m^Tg?&yXJ;bdX)O{E2~<8Zl=RP86Fh;5M{`j8>e835e5R zN+I{(`BtU5I2e5gS?~sb;~QMu5aN}4&5N_~o!JhRsr>Mr!7&^tLKC7mEX5|(khe?J z%14lWczF^N)$0@36^~+E2&9OJPbrSpp`vX-;RVE^>=eI#cmrwY1%oA|d9i6Qi?q!t zHL=MNz{$i&I7AHR*mPtFp4}?z4q43#-h-+{%6%Lud`gBC)5>-SIzzhUQ`q{%@7Wbd%y!phLuwi5BP?Aw`SDK?|KhIh~ z6zseRjd?G95~=5K)M@6!%RHr)ctkaM6^C=7a6F|}ljryk)h5!y{lgnc7T+PLTWCKtPi6EV5MY>xkQtgNCQ`3(q-0HJJi zd&g1i1KGCk7TIRF+TbVP&SX5vrVZ976E(F17&24g z*X}I;)bTasrNv9f`$?rp@OCg`C`XdXxM3ZRC!?BS?}=(~A`<4~^ed?0GT%P8A^if9 zxc7!4E-p+%h9`mj1OYE!aWgSL=wy`$RR{($s*$Qi5QU`~DUpsMJ8DtnQG`Kc904%w n_#<4KjI$ve8YBGr+*)!k51y!V^w#-XhkY4cyyrx>oFV@O*}{r1 diff --git a/tools/content_tools.py b/tools/content_tools.py index 67f6ca7..44264a2 100644 --- a/tools/content_tools.py +++ b/tools/content_tools.py @@ -307,16 +307,16 @@ async def add_table(filename: str, rows: int, cols: int, data: Optional[List[Lis except Exception as e: return f"Failed to add table: {str(e)}" -async def add_picture_to_table( +def add_picture_to_table( target_doc: Document, target_filename: str, row: int, col: int, image_path: str, table_num: int = -1, - width: Optional[float] = None + width: Optional[float] = None, + height: Optional[float] = None ) -> str: - """ä¿®æ­£ç‰ˆå›¾ç‰‡æ·»åŠ å‡½æ•°ï¼ˆè§£å†³å›¾ç‰‡ä¸æ˜¾ç¤ºé—®é¢˜ï¼‰""" from PIL import Image from io import BytesIO import requests @@ -361,13 +361,13 @@ async def add_picture_to_table( # 添加图片(带异常æ•获) try: if width: - run.add_picture(final_bytes, width=Inches(width)) + run.add_picture(final_bytes, width=Inches(width), height=Inches(height)) else: run.add_picture(final_bytes) except Exception: final_bytes.seek(0) # 冿¬¡é‡ç½®æŒ‡é’ˆ if width: - run.add_picture(final_bytes, width=Inches(width)) + run.add_picture(final_bytes, width=Inches(width), height=Inches(height)) else: run.add_picture(final_bytes) @@ -618,7 +618,7 @@ async def delete_paragraph(filename: str, paragraph_index: int) -> str: paragraph = doc.paragraphs[paragraph_index] p = paragraph._p p.getparent().remove(p) - + doc.save(filename) return f"Paragraph at index {paragraph_index} deleted successfully." except Exception as e: @@ -627,68 +627,32 @@ async def delete_paragraph(filename: str, paragraph_index: int) -> str: def search_and_replace(filename: str, find_text: str, replace_text: str) -> str: """æ›¿æ¢æ‰€æœ‰find_text为replace_text - + Args: filename: Path to the Word document find_text: Text to search for replace_text: Text to replace with """ filename = ensure_docx_extension(filename) - + if not os.path.exists(filename): return f"Document {filename} does not exist" - + # Check if file is writeable is_writeable, error_message = check_file_writeable(filename) if not is_writeable: return f"Cannot modify document: {error_message}. Consider creating a copy first." - + try: doc = Document(filename) - + # Perform find and replace count = find_and_replace_text(doc, find_text, replace_text) - + if count > 0: doc.save(filename) return f"Replaced {count} occurrence(s) of '{find_text}' with '{replace_text}'." else: return f"No occurrences of '{find_text}' found." except Exception as e: - return f"Failed to search and replace: {str(e)}" - -def add_jf_picture_table( - typical_picture_dict : dict, - defect_picture_dict : dict, - TYPICAL_MUBAN_DIR : str, - DEFECT_MUBAN_DIR : str, - output_dir : str, - ): - """添加金风版本的图片展示表格 - 逻辑: - å…¸åž‹å›¾æ¨¡æ¿æ˜¯ä¸‰è¡Œäº”列的表格。一列对应一张典型图图片信æ¯ã€‚ - ç¼ºé™·å›¾æ¨¡æ¿æ˜¯äºŒè¡Œäº”列的表格。一列对应一张缺陷图图片信æ¯ã€‚ - 1.æ¯æ¬¡å¾ªçŽ¯æ·»åŠ ä¸€æ¬¡å…¸åž‹å›¾ç‰‡ã€‚ - 第一行为dictçš„key - ç¬¬äºŒè¡Œä¸ºå›¾ç‰‡ï¼Œå¦‚æœ‰ç¼ºé™·ï¼Œåˆ™ä¸æ˜¯å›¾ç‰‡url,而是字符串 æŸä¼¤n处,详è§ä¸‹è¡¨ã€‚æ­¤æ—¶è¦æœ‰å˜é‡è®°å½•总æŸä¼¤æ•°ã€‚ - ç¬¬ä¸‰è¡Œçœ‹æƒ…å†µï¼Œå¦‚æžœæ­£å¸¸ï¼Œåˆ™ä¿æŒé»˜è®¤ï¼Œå¦‚果有缺陷,则字段为: æŸä¼¤ç±»åž‹n处。 - 2.如果上一次循环没有缺陷图,则回到1,å¦åˆ™å‰å¾€3。 - 3.如果上一次循环中,有缺陷图存在,则进入对应的缺陷图添加模å¼,使用缺陷图表格模æ¿ã€‚ - æ ¹æ®ä¸Šä¸€è¡Œæ¯åˆ—的总缺陷数é历缺陷字典。 - 当缺陷数大于5时,也è¦è°ƒç”¨æ¨¡æ¿è¿›è¡Œä¸‹ä¸€è¡Œçš„æ·»åŠ ã€‚ - 缺陷图表格使用缺陷图模æ¿ã€‚第一行为defect_picture_dictçš„key,第二行为图片url,第三行为æŸä¼¤ç±»åž‹ã€‚ - - Args: - typical_picture_dict: #æœ‰ä¸¤ç§æƒ…况 - { - str(图片æè¿°) : str(图片地å€), #情况一 - str(æŸä¼¤æœ‰n处,è§ä¸‹è¡¨) : str({缺陷类型}n处), #情况二 - ... - } - defect_picture_dict: #åªæœ‰ä¸€ç§æƒ…况 - { - str(图片æè¿°) : str(图片地å€), - } - TYPICAL_MUBAN_DIR: 典型图模æ¿è·¯å¾„ - DEFECT_MUBAN_DIR: 缺陷图模æ¿è·¯å¾„ - """ \ No newline at end of file + return f"Failed to search and replace: {str(e)}" \ No newline at end of file diff --git a/tools/document_tools.py b/tools/document_tools.py index 97cb1a6..46122af 100644 --- a/tools/document_tools.py +++ b/tools/document_tools.py @@ -208,7 +208,7 @@ def add_documents(target_filename: str, source_filename: str) -> str: -def write_table(target_filename: str, rows: int, cols: int, table_num: int, data: Optional[List[List[str]]] = None, ifadjustheight: Optional[bool] = True, height: Optional[float] = 1, key_words: re.Pattern[str] = None, ALIGMENT: Optional[str] = 'CENTER') -> Document: +def write_table(target_filename: str, rows: int, cols: int, table_num: int, data: Optional[List[List[str]]] = None, ifadjustheight: Optional[bool] = True, height: Optional[float] = None, key_words: re.Pattern[str] = None, ALIGMENT: Optional[str] = 'CENTER', width: Optional[float] = None) -> Document: """填写word文档里的表格,返回填写åŽçš„æ–‡æ¡£ Args: @@ -252,25 +252,49 @@ def write_table(target_filename: str, rows: int, cols: int, table_num: int, data for j, cell_text in enumerate(row_data): if j >= cols + 1: break + + if cell_text.endswith((".png", ".jpg", ".jpeg")): + target_doc.save(target_filename) + target_doc.tables[table_num].cell(i,j).text = "" + print(f"在[{i},{j}]处添加图片{cell_text}") + if os.path.exists(cell_text): + if height: + target_doc.tables[table_num].cell(i,j).add_paragraph().add_run().add_picture(cell_text, height=Inches(height), width=Inches(width)) + else: + target_doc.tables[table_num].cell(i,j).add_paragraph().add_run().add_picture(cell_text,) + continue + else: + print(f"本地没有图片{cell_text},从æœåŠ¡å™¨ä¸‹è½½å›¾ç‰‡") + if height: + add_picture_to_table(target_doc, target_filename, i, j, cell_text, height=Inches(height), width=Inches(width)) + else: + add_picture_to_table(target_doc, target_filename, i, j, get_full_picture_url(cell_text)) + continue + if str(cell_text) == "": continue - print(f"在[{i},{j}]处写入{str(cell_text)}") + + print(f"在的[{i},{j}]处写入{str(cell_text)}") target_doc.tables[table_num].cell(i,j).text = str(cell_text) + print(key_words, cell_text) if key_words and key_words.search(str(cell_text)): - print(f'{cell_text}包å«å…³é”®ä¹‹ï¼Œå·²ç½®çº¢') + print(f'{cell_text}包å«å…³é”®å­—,已置红') target_doc.tables[table_num].cell(i,j).paragraphs[0].runs[0].font.color.rgb = RGBColor(255, 0, 0) + target_doc.tables[table_num].cell(i,j).paragraphs[0].runs[0].font.name = "Times New Roman" #设置英文字体 - target_doc.tables[table_num].cell(i,j).paragraphs[0].runs[0].font.size = Pt(10.5) # å­—ä½“å¤§å° - target_doc.tables[table_num].cell(i,j).paragraphs[0].runs[0]._element.rPr.rFonts.set(qn('w:eastAsia'), '仿宋') #设置中文字体 + target_doc.tables[table_num].cell(i,j).paragraphs[0].runs[0].font.size = Pt(9) # å­—ä½“å¤§å° + target_doc.tables[table_num].cell(i,j).paragraphs[0].runs[0]._element.rPr.rFonts.set(qn('w:eastAsia'), '宋体') #设置中文字体 + if ALIGMENT == 'CENTER': target_doc.tables[table_num].cell(i,j).paragraphs[0].paragraph_format.alignment = WD_TABLE_ALIGNMENT.CENTER elif ALIGMENT == 'LEFT': target_doc.tables[table_num].cell(i,j).paragraphs[0].paragraph_format.alignment = WD_TABLE_ALIGNMENT.LEFT + target_doc.tables[table_num].cell(i,j).vertical_alignment = WD_ALIGN_VERTICAL.CENTER - if ifadjustheight: - target_doc.tables[table_num].rows[i].height = Cm(height) + except Exception as e: print(f"写入{target_filename}tables.cell({i},{j})失败:{str(e)}") + print("表格写入完æˆ") return target_doc @@ -290,7 +314,7 @@ def set_document_para(target_doc: Document) -> Document: return target_doc -def add_table_to_document(target_filename: str, source_filename: str, rows: int, cols: int, table_num: int, data: Optional[List[List[str]]] = None, ifadjustheight: Optional[bool] = True, height: Optional[float] = 1, key_words: re.Pattern[str] = None, ALIGMENT: Optional[str] = 'CENTER', if_merge : Optional[bool] = True, Report_Enum = 'DT', if_para : Optional[bool] = True) -> str: +def add_table_to_document(target_filename: str, source_filename: str, rows: int, cols: int, table_num: int, data: Optional[List[List[str]]] = None, ifadjustheight: Optional[bool] = True, height: Optional[float] = None, key_words: re.Pattern[str] = None, ALIGMENT: Optional[str] = 'CENTER', if_merge : Optional[bool] = True, Report_Enum = 'DT', if_para : Optional[bool] = True, width : Optional[float] = None) -> str: """å¤åˆ¶æºæ–‡ä»¶ä¸­çš„æ–‡å­—与表格(先文字åŽè¡¨æ ¼æ ¼å¼ï¼‰åˆ°ç›®æ ‡æ–‡æ¡£ Args: target_filename: 目标文档路径 @@ -358,10 +382,11 @@ def add_table_to_document(target_filename: str, source_filename: str, rows: int, copy_table(source_doc.tables[0], target_doc, ifadjustheight, height, if_merge, REPORT_ENUM=Report_Enum) except Exception as e: print(f"添加表格失败:{str(e)}") + target_doc.save(target_filename) print(f"{target_doc}写入表格{source_doc.tables[0]}æˆåŠŸ") if data: try: - target_doc = write_table(target_filename, rows, cols, table_num, data, ifadjustheight, height, key_words, ALIGMENT) + target_doc = write_table(target_filename, rows, cols, table_num, data, ifadjustheight, height, key_words, ALIGMENT, width) except Exception as e: print(f"{target_filename}写入{data}失败:{str(e)}") target_doc.save(target_filename) @@ -617,7 +642,7 @@ async def add_dynamic_table(output_doc, output_dir, table_num, TABLES, JIANCHA_X try: print(f"添加 {picturedir} {type(picturedir)}到表格{table_idx}") resize_and_reduce_quality(picturedir, picturedir) - await add_picture_to_table(output_doc, output_dir, 4, 0, picturedir, i, 4.7232) + add_picture_to_table(output_doc, output_dir, 4, 0, picturedir, i, 4.7232) except Exception as e: print(f"添加图片失败:{e}") @@ -672,7 +697,7 @@ async def process_images_table(data_dict, output_dir, start_i, JIANCHA_NEIRONG_P if picture_index < picture_num: pic_path = items[picture_index][1] # 图片路径 print(f"当å‰ä¸ºå›¾ç‰‡è¡¨æ ¼ï¼Œåœ¨(0,{k})ä½ç½®æ’入图片: {pic_path}") - print(await add_picture_to_table(output_doc, output_dir, 0, k, pic_path, i, 1.8898)) + print(add_picture_to_table(output_doc, output_dir, 0, k, pic_path, i, 1.8898)) picture_index += 1 i += 1 print(message) @@ -747,7 +772,7 @@ async def process_server_images_table(data_list, image_source_list, output_dir, if picture_index < picture_num: pic_path = items[picture_index][1] # 图片路径 print(f"当å‰ä¸ºå›¾ç‰‡è¡¨æ ¼ï¼Œåœ¨(0,{k})ä½ç½®æ’入图片: {pic_path}") - print(await add_picture_to_table(output_doc, output_dir, 0, k, get_full_picture_url(pic_path), i, 1.8898)) + print(add_picture_to_table(output_doc, output_dir, 0, k, get_full_picture_url(pic_path), i, 1.8898)) picture_index += 1 i += 1 print(message) @@ -988,4 +1013,126 @@ def add_auto_toc_at_end(doc_path): } } doc.render(context) - doc.save(doc_path) \ No newline at end of file + doc.save(doc_path) + + +def add_jf_picture_table( + typical_picture_list: list, + defect_picture_list: list, + TYPICAL_MUBAN_DIR: str, + DEFECT_MUBAN_DIR: str, + output_dir: str, + total_table_num: int, +): + """添加金风版本的图片展示表格 + + Args: + typical_picture_list: æ¯åˆ—æœ‰ä¸¤ç§æƒ…况 + [ + [str(图片æè¿°), str(图片æè¿°), ...], + [str(图片地å€), int(n), ...], + [str(""), str(缺陷类型), ...] + ] + defect_picture_list: åªæœ‰ä¸€ç§æƒ…况 + [ + [str(图片æè¿°), str(图片æè¿°), ...], + [str(图片地å€), str(图片地å€), ...] + ] + TYPICAL_MUBAN_DIR: 典型图模æ¿è·¯å¾„ + DEFECT_MUBAN_DIR: 缺陷图模æ¿è·¯å¾„ + """ + def add_table(table_type, data, rows, cols): + nonlocal total_table_num + template = TYPICAL_MUBAN_DIR if table_type == "typical" else DEFECT_MUBAN_DIR + key_words = re.compile(r'æŸä¼¤|处') if table_type == "typical" else re.compile(r'æŸä¼¤') + + print(f"添加{table_type}表格:{data}") + add_table_to_document( + output_dir, + template, + rows, cols, total_table_num, + data, + Report_Enum='JF', + if_merge=False, + height=1.4173, + width=1.8898, + if_para=False, + key_words=key_words + ) + total_table_num += 1 + return list(list("" for _ in range(5)) for _ in range(rows)) # 返回新表格 + + print(f"获得典型图列表:{typical_picture_list}") + print(f"获得缺陷图列表:{defect_picture_list}") + + # åˆå§‹åŒ–表格 + typical_table = [[""] * 5 for _ in range(3)] # 三行五列 + defect_table = [[""] * 5 for _ in range(2)] # 二行五列 + + typical_col_idx = 0 + defect_count = 0 # éœ€è¦æ·»åŠ çš„ç¼ºé™·å›¾æ•°é‡ + pending_defects = False + + # 处ç†å…¸åž‹å›¾ + while all(typical_picture_list) and all(len(lst) > 0 for lst in typical_picture_list): + desc = typical_picture_list[0].pop(0) + content = typical_picture_list[1].pop(0) + defect_type = typical_picture_list[2].pop(0) + + # 检查是å¦éœ€è¦æ–°å»ºè¡¨æ ¼ + if typical_col_idx >= 5: + typical_table = add_table("typical", typical_table, 3, 5) + typical_col_idx = 0 + + # 如果有待处ç†çš„ç¼ºé™·å›¾ï¼Œå…ˆå¤„ç† + if pending_defects: + defect_col_idx = 0 + while defect_picture_list[0] and defect_picture_list[1] and defect_count > 0: + if defect_col_idx >= 5: + defect_table = add_table("defect", defect_table, 2, 5) + defect_col_idx = 0 + + defect_table[0][defect_col_idx] = defect_picture_list[0].pop(0) + defect_table[1][defect_col_idx] = defect_picture_list[1].pop(0) + defect_col_idx += 1 + defect_count -= 1 + + if defect_col_idx > 0: + defect_table = add_table("defect", defect_table, 2, 5) + + pending_defects = False + + # 填充典型图表 + if isinstance(content, int): + typical_table[0][typical_col_idx] = desc + typical_table[1][typical_col_idx] = f"æŸä¼¤æœ‰{content}处,详è§ä¸‹è¡¨" + typical_table[2][typical_col_idx] = f"{defect_type}{content}处" + defect_count += content + pending_defects = True + else: + typical_table[0][typical_col_idx] = desc + typical_table[1][typical_col_idx] = content + + typical_col_idx += 1 + + # 添加剩余的典型图表 + if typical_col_idx > 0: + add_table("typical", typical_table, 3, 5) + + # 处ç†å‰©ä½™çš„缺陷图 + if pending_defects and defect_picture_list[0] and defect_picture_list[1]: + defect_col_idx = 0 + while defect_picture_list[0] and defect_picture_list[1] and defect_count > 0: + if defect_col_idx >= 5: + defect_table = add_table("defect", defect_table, 2, 5) + defect_col_idx = 0 + + defect_table[0][defect_col_idx] = defect_picture_list[0].pop(0) + defect_table[1][defect_col_idx] = defect_picture_list[1].pop(0) + defect_col_idx += 1 + defect_count -= 1 + + if defect_col_idx > 0: + add_table("defect", defect_table, 2, 5) + + return total_table_num \ No newline at end of file diff --git a/tools/esay_docx_func.py b/tools/esay_docx_func.py index 79ef1da..1d2b023 100644 --- a/tools/esay_docx_func.py +++ b/tools/esay_docx_func.py @@ -91,7 +91,7 @@ async def process_images_table(data_dict, output_dir, start_i, JIANCHA_NEIRONG_P if picture_index < picture_num: pic_path = items[picture_index][1] # 图片路径 print(f"当å‰ä¸ºå›¾ç‰‡è¡¨æ ¼ï¼Œåœ¨(0,{k})ä½ç½®æ’入图片: {pic_path}") - print(await add_picture_to_table(output_doc, output_dir, 0, k, pic_path, i, 1.8898)) + print(add_picture_to_table(output_doc, output_dir, 0, k, pic_path, i, 1.8898)) picture_index += 1 i += 1 print(message) @@ -128,7 +128,7 @@ async def add_dynamic_table(output_doc, output_dir, table_num, TABLES, JIANCHA_X try: print(f"添加 {picturedir} {type(picturedir)}到表格{table_idx}") resize_and_reduce_quality(picturedir, picturedir) - await add_picture_to_table(output_doc, output_dir, 4, 0, picturedir, i, 4.7232) + add_picture_to_table(output_doc, output_dir, 4, 0, picturedir, i, 4.7232) except Exception as e: print(f"添加图片失败:{e}")