From 78d2bc06e97c077b241c9182945ae69bd526fdd3 Mon Sep 17 00:00:00 2001 From: shoaib Date: Wed, 31 Mar 2021 15:38:16 -0700 Subject: [PATCH] complete add image to temp --- services/user.js | 12 ++++++--- template/Hform4.docx | Bin 26767 -> 43545 bytes tools/addImageToWord.js | 57 +++++++++++++++++++++++++++++++--------- 3 files changed, 52 insertions(+), 17 deletions(-) diff --git a/services/user.js b/services/user.js index 8b920ff..b788aeb 100644 --- a/services/user.js +++ b/services/user.js @@ -3,7 +3,8 @@ const jalali = require("jalali-moment"); const persianjs = require('persianjs') const docxTemp = require('../tools/docxtemp') const imageResizer = require('../tools/imageResizer') -const addImageToWord = require('../tools/addImageToWord') +const addImageToWord = require('../tools/addImageToWord'); +const { result } = require('lodash'); let methods = {} @@ -43,7 +44,7 @@ methods.addUser = (userInfo,imgOriginalName) => { imageResizer(imgOriginalName) .then(()=>{ - models.User.create(userInfo) + return models.User.create(userInfo) }).then((user) => { resolve(user) @@ -60,10 +61,11 @@ methods.addUser = (userInfo,imgOriginalName) => { methods.completeForm =(userId)=>{ return new Promise((resolve, reject) => { + let userInfo; privates.findUser(userId) .then(user=>{ - let userInfo = user + userInfo = user userInfo.fullName = user.firstName + ' ' + user.lastName @@ -88,7 +90,9 @@ methods.completeForm =(userId)=>{ return docxTemp(userInfo, userInfo.fileName) }).then(docxFileName=>{ - addImageToWord(docxFileName, userInfo.fileName + '.png') + return addImageToWord(docxFileName, userInfo.imageFileName + '.png') + }).then(result=>{ + resolve(`localhost:3000/users/download/${result}`) }).catch(err => { if (err.eText) { diff --git a/template/Hform4.docx b/template/Hform4.docx index de8daba53349d9773a0b8bb4f162749359283bee..628eb8286787aa23ca15d92e33dd31f2b7a1e5e3 100644 GIT binary patch delta 30525 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ΠGnr6LiVb5E>c>8z7Vy5H*sC(S@j)!wkPqHqk@Sy3qF z&{>CtVR@&k_qEjiJ8%ge7Yd&m97jH8;4 z^PF+wYU8U{z7Y3Wt!;&T%c!`IZ-FVBMeC*H$9jSeDavRM23dIPoMHZ|=Vg^g%MN|7 z&V9|w-<>QoUa)w!2GYqEOqkzMfthjhYI~Hbc$v+Znd+W59f=Q1NYUAuYc37 zf%q-Z>%NGBG0;fR2iiB^zfm>cLGth*K7q(A@j={L3;>(nzrYcLIwhu7-7_oo)wU9i zd8UpRjI`#RF(vHam+1&i&xOOXTDO(9K=GZVvn6O8<~+MW9?4LPd+~G(`X#5Lo2Ly@ z)Mn&J%MrucQa|~5xiZ39kq4C|G4ijEFq4MWBuczDu{-fB_iX^Yls!vGLT9Cx8bI36 zJ1H?d?e&Dfrd=L0Is2J3QR8T5VH2XAAJGW9JPaA39oN!*!T#Nq=M5Sw!~LHKofG!q z8B+>*&Mg8h#;@C6@}HdIZ0q}v-*hUU_^o-qvBl+l&meeHt?<2%-1{%qxi?ibSkRCq zYC*6*By1RwTx~*KjSdYY;HT0%si5dN!>Nd5XGtSrZd6h+W)yEgup~xV2fmM$KIU>Q zy!e}cR-s%Ig7fuQyH~BHUZrq4zfTx?Or1iHWwe=5(#(KE@{Y3~=#4^K(z>BMD};Jc zf~xFjKTgdnPw)Hlh9C?ldYxIV>ZdL$T}hTtF*e9C(RGsV*hO6x|trkdr z%acIv?`jH(^;moU?7$$kGP%Qb@m1vdd=&}kkCeL{N^y+hR$D13e!C*IY|Zx<)chZ5 zpD5E2?Up^}J_@CuO&;d7Er-2=TWVIzvExgB%jfy|7{7y2_U zsbuT^_9@h@b2L+b4_5cOWut%N`8NQYJIoefn|Ymy({U+&f!q&v#{PgM^fECk@)v+^ zo#Iy`C=j9*dR?Lc0u;;=;>XW*xken2fLg{=D5?HP2)H~qX-n{HCvZAw{2ZTKg9%9y%p`Z)Aa z-OE?vb(nqf+|aM+Au(kxaR({UQVn5B1BgjXnmV}r5iq^6Ese8CXPMrI-4q#`fZ4#G z41xB!EmxGre5}l94_$>Z>T-s@rE%F0FjaZi(iGw6hlOdJr~(rMj8(+)>c^;kzQP4P z2#?ZdWRY~165ToaRtSKvPTax19Vue;h4_)jgf?TWZzmnUWYZ={ zI4v#&89?`^96b?kNhmn>0>ZQQOngv+ek&?fp7;)umfOyIS;v{M7PZnqD=DXOUgli> znm=P^8n#YO86JDFjCrm|iEMx5)Zg)m*L+B>oru`{OoumdkhlM_)GM zmh(@e$&<6%ulcHJJ{e@TSLH1pP_`*9(mw>Bpe|EYA&7T2!vDhR{2QQCMFA3u3F03* z(0>>sAs~qUT4VqBK?eWMRzU(!1hO_mC;W%R5CQ_@zeWB^tb!8FsObL_p!pw>+jqi* z|H*FwA~(mT|4%lBf5aQ`|0Vt}WYNFGiT)Fv^B?gLQV^Co#s8ytDe`|Sp8fCq{>CPL zAE%?<@dW?9HL#SR-)59Ve}mh;3naV?yu%Crj{}Puq-st8IyFOL{ZClbf262r|5fO} zfuw?r%<$>|?@ht^^lvTa_^YP0|Mz~KrTZTZ1Cf~Hf||_P`3j(M|AP8h33`?Bw(p-n)td>|eN&5CrePbH(=~{@LvVL@g1ZC=?(XjHaM9rU!#%jWJHg$9y9EpGwt3#&t>@dfcK*6m zJ#*?-PxVyw>2op`A>!x2ah1M9LSccyfWd)*fsug?_5@#+f`ftW!`9=HK>$rD@`?kj zNIx#6-@@rNn=JMN(R4)wbgt^WqM8N~#7N}qG48@tSVWP7<`5dH!v+DOM z#wLpCOYDCiyY{G}_ZP8Xpa;*XkPbc1m$T@FAgjuZyDMa#B`DAuD~1uS8X6ULmRd+v z=X;@{UxpSlejF9xfm(IFR|k)6FGU(XB^(Sp)2!J)K7-#T*T* zcJcd#BuM7}7-j$Fd=-^Iwnu$@_{DUNMLzclaOj*VM1(Rxo_xaNZ~wgslnxdG`#PNi z=g8`R9=iwfrjfo7gxZ7 zis+Ef3ZPyNt{s&oB~!G2pwFvB0c{T+;b!-wZ>Oj$8kA=tm$2S~bV~d-xA#%GejwD0 zFO4Wrq>u<`7R!_>|L#r&rjZAh9vrAjnNk>FMGL)@?h-%XcUH-NE0bY?E7zpO(B$5t z#J=WhXcgHejxMuC7~0#}S2)N}+?Q|A3OHr*~fk?X42oFDdG9`#S&;;@ZqKofv`DS1zg zzthN=<;s6=beL$_kObYxaB{ocN&K;If2yN?WmHiOQ-q1GXPtL}9A+PgP$Ejt7U8{S zI`CxuV+1s5Ht~;!c-gk?92F-R-oCb)Vht3(6pd7o3_pIjg@5i|M5(ip1I2=EAO;gi;*lx z4%W)voy>3*wq(v;-zIe9GBz|W0c7u|Bu-P)(XjLj8Y(UwsC(9}9k4KitYHqxR$vrT+v~PcuF21P z=%yr_<+1Z-V5^b??6@gd3!&FG65BKuzaW=$!laNT!_(}?I|hTv*X2Fnf%P*y0OtCFLy*S>YE`yKkH#IR2hG9^}lkV{i>HZh}Z z%$#1U*Fop7==Ix6Zyx>>DY4Wcd=&mqc;HAOJ?9>$Hq1x;XsRY~k)#pE@vO9RaVMtp zR24$_PdZh2rVjL;Two{G0NAht=kA7alVwbP`CR_y!sCy+*@jxM3CtTFYYR>@V$TS0 z?3I-9M-TUL>FW9HJ+bPsCSUbgZqQ@we+Xk+XKb->ZqTe*1ebRb0f?P=SXT0pLnh?y z?)PtI@j^RykH zDSnl4Z_XIwyva_O7+yO0TG%8Q3rS;x09#vgteM}%X--%lpiS|@+~ru#ZbfBG5YIsD zDIg$#10FAx@kb?`9T3%!w}q`!xGFupIuUZ>PML}@xSlJss?Zl#ZAtu8a@oA-anTeV z1Iuk!6VjADZiN3??53s<1B?^csI94*Jth*)=ejG_(&3{e$-+r2SbdTW3diDV^`jHU zQ4n4kgg@boaVkC0zdUsg>}JIT$ETJ3K09^rw7RX^{QAY#7NE$&jxL6{GVc1#(h*4A zCzJtUizelP$HvEz@ZF?C2_uA5cvn9e5>dR#EznM`xbFrd7z*l(i%H9YEH-}gdXyR0 zM#*S;QhJDo6-%GxM=RH!C<&Sm*jS)$Fr!fxd_~OHL^QW~=z&cQs>%^8GDvbYIe5}V z2L3O~SgOQuCqVxP5#{%kOeCNDxCC~Z#maV6b`HT~u^RLcy_wnt9at>Y@^qNl@S8(f zJb{2khVE72_XYaFqSnOMH?| zehTC!TL8t|aqNhiQ`h-v?^$qr2(gca+iy%ZXbRcxL?*8JpX9RXwCo6Qzco@}XXe_N zWFJ{`06TOGQEo*lGBxMow+SL0s`*^RRmb(&L*wt<#IY24)zPu@#k**-XiR~JNqD&l zCkZjhc5>*PK@(bW^-y}V+JP!)k-8Bk^mZgMhJaS+j(S6QmgL;WlDBo|f`EhQqG9ne5{SUs0!kHZM#Vccl%MNUw=^T@FVP>+DaSnV>$* zej(=o1eI&`!S^s%v(F#&R4d2Rs1G##yutJJw}tNvr6a^EBM-2zceiKo_6`rLP7zx5%4*F~Y{ zH=Vjq@F*`NRGIz&L>=#gE;#Z+m6;O66kuhQXw(LEq+JR_MG}WEG^{M%_2V+F-EdTa z%iiFR7X011pu8^_ydo{VMd7II?A5#M>K<2eTf$7~X-!@n<~KO4;|Kl-qY%~=h4IcL zg_H`>$k*|7z4Je|*Dz%~7VnB@VIfomWANpH{a zfixm5R;)*Dd?>zhV%G>&cPwgEj;ktBZ;r8sBi8vkawdsF!E{fmS8;XAv%^Nxsib}Z z?T?(Mym95T90h^+U#wrKk?QrzsK9=B>L5L8o_n*s;{5fx2QqsJ+yhZ3F2n_YlOU6f zHAAu8&z;=hNRD*h=;OSnq@yTZyhQW9bv@dnrSU((UKzE;2+!usZ^7Bna%(%E!p`q6 ziyxuBR9iL=u#?GThA11zFQ@mV_iRba@kIV>^NaccJ@=xu>nbasRmX}rLx7w85Kb8f zZ@mUGhrB_O^I>MYO$RprOg7HjUEexuTTLZJ1krmUMHwc8ECen;Rgi;`q?*rR>f|+T zgllNlGL2V-iHjwH=iY@U4&*B&bMduQ0_$Y%uRba=Jr6@S!U69ul$q+7G~toBqv0_{=?v!+WYnf}65 z-5{1KvmetSt?5aQWiOQ5;qFzgnNboLH4BqeI5a7x_L}d+*FY(=fL55QGaa(cwc>^hW>V_8LrdsW)@k%mu?f2}_LH56DF5ETQ%OGL5E z7Iqj+;4oyuQ05!f+0bhY>&Kh^?&2bb;e6S}MCw1)DrFuvnpvSZ5+XxTW~nk{7bC6V z#=95PRlDAzY@%WJ%Jq%aSzy^EL?5MXVmeXV1mgzrhK^4si|;Z`?rqy;SOJdwu3&c6!PiUngP9 zy%pzs=*`hYD={=?y@zn8FCu|7+!{=}F*LBFodMo~$1mb+4xcv3c^Bs9( z&-BwFhA!YV(&ho~*Fp6s64PteUrBO@(EZ1jtL0nA^I!$_C{=+pT`cGUg0Uvp5Hix+ z6N}&x7sYeJ4hb#PjOaf><3eyZ=~3sow{s}xOsBC^ zpam#K!vm%YGg;Ix>bKcjD76HgR)aU)tgf{|x2uWcB?6!9Go$E;y@dxK_uq4Scg*rh z+a?lF1!`Lj=N9$-g+x#XLrG9Y=i5l~?55wJaH}=%_rc}oi}#cYh}&paJ3XK0Lwz4v z%reimdW{z2;?#g$XEC8?V)=ph?|iJq!J+UChd{nwdBSuF;&o!vVQIV<(6?78%`o{9 zSw4nTsfnm5U2kj=b|PSK-0)*^Sm1RJS?)q3Y)03}4zi~go+F#12LUGI&R4)OywWJ` zc((G?_cmjX6>E6cSKs0~V(2=X1kAe+y9B~$l+_bYGrY2&dt#|lZ`8N2s|S4O?bFy8 z0ERY>u^)v=`dQw)2ua*93vxl9-US~l|2l!s&jXDqhcywjfG@U&V5XQ(O0iH_Ys5Na zD&>}@EIZ>~)tk^54uX_ZL1};B@8`?XgrebD7FJ0xKh~5Mp(=>4&SNYsdY>&koes!J zMhI1tE4y&htfOV;DA_EB+s-*~mSQ}&fWhbit#-G?#_1w6%qx8F#ArsmHuKpJ(!2!w%dpQv0}%&DPg;x4LJNUp5qlXu zkALidL7t`6&F_rjE5AFAb@6MAK$N>Bjs>B>#}!FSk9yLthnnyn%1$TcW`#Cbz{B1q zynECE>UW#oL48NuYx~FFQq@V)E2C$uOdOzN}kwnJZP+U z1Gr^ZtJ@IJgt%!TWs?{);R@7P9CF`q)sMJO>;mj39g(|bdxP3Cwo4lC{(d;HaZv`* zgC>0$-%?&{15aMxFyCqxR;jB1Akfy7P2RGvF|aosV%zg}rti(9LnAs9z0@rvU|*$) z=rujf&OZOcB}RM5)z>!Wg13s;R6R2{cS-;Dl~zx#FN2d^e2Y0=nxSh-o z(e;ng6pbe$OOEv{VET=(P`*}XUuW?}u2f@VXsx5uOrF2CuEf^Aj1=erW`@jHj;jyB zH!wG#q2Mb`Q?kX>3;vk0^fkqHrthtc47=1-uqTL47=y+7VOnX)T#AVhMWd>WGNW=- z&145#@Sb$vL$NAg)bStNcsiqrFqK81>}Deo-@$omZqdsz(`Upfb%tJjY34pq(Ra|K zz}k>(m1&(|byP{@yY|u2)qvw+xA|rqBZ=_UIq?nqH*l7!=7)hkdWOuaTn=3UDXty_ z3-i4JCF)Bl#lE;%@NzH?5jk8k0n{KMIUs_Dx~fa|_%qBynLTr2I#tg@+KCDWjh(RX zOZ6MnfBIW!cxtVcEf6jRF)-$^&WiTq68Z)O;_@ri05e3t3yM480XF3YBrBFVIyx_u zjQ0JyXBig(5>3w?xdX@c8wZ7p|E;F_oTwI!s3m2_2qi|QIP<*_1rTugkC|}EJ;_$j zmz0Y8m6$cP6z>i~$g#cpB^fcxY>zY}ebOyM=iY@C)!v@85ghVs2H>SdkR)r*M_$Qh z-lKG|9EQM|HtsT%BT1(aRPZkfLdQo%tc&v2TN6~D>{+z<;Wp6amzr|-&1^&%7Rjur zh3^8rQCZ1JhF|oZ)oaCd&x2Warx|0d6}|k+7aOn(S?dzcp6>$#E`fv!RL)9EM$74D z-rA@wsa!mAeXa+`IRL1F@31sd#!u=SgvlMxw_oe&As9nNxe!1lXKhqgRS%3-7i{{w z`BZzOQdT52OX22OTH+Un2OKSbkYVW&Gv=)tdkDAE^<6-1f5S1t7vl-?Dj%!>+lCB- z>@u16x%?o^AKFL#7#m66QWi3{mQIl@Iv?rii$0xgJ^C=w9$K~x2pXCn`(xrOIu{ya zHHa3(cDUKbgwO@(3|)OAWGE;pNL0FvBSWS{SdD9tKeM=qHu;D18~Gb@L|-pdUl{pO z*1qevI*u>A%I$x$&nZ&nN&94WP6_{qE&?J;HLV~1(HKUIU|?wfFO6YkZfs`m!uCHb zhR$l-zO;uw_YQ!@8ED9N??YzdtcXkpY`Wiv6KP}bMh0tZv5xq#A`*-g6zs# zaJ%Z|@!Ena!yL_)srBSJ%u}TG^3gbD659^IH8n!O6qc}Zw2-1Kd0xdimsN>Y%G>*} z#kHXMjH7pOy*<%3F~tE@b|#KV(ywC%MjNjtP}#$Hdw(m?@aIRr@NF|w^p#F#p`z>Y zHmK7Ka$txw=cCkM;+8zN#mq>C!bphA&SUp>G*(Va3pldg|* z0Yr)9!u=F*dwhGUYF>QDl9;-jIU|w66P(<`#p!vlBEqm&cPxOb0&H92V}wNjp3V%f zLH%sW2cDKC%{DXB6T3O~k3aoHRui$gf7?Wo8OzY!w83?{1Alcqp(Mp>O5-OKB|rNo zQf7P=Z)OD-uy-{M_2=L z;epZp6h`YSO@-D)MTvt*^c>OXE;FVLFu&0doBB^nWpG%M)LDac?vfdYVPTQ$r#{cX@%Q4p^g1kNF zmQt;TXVtR)`#Tq`4@74G%vq$!V$dJFnZ(O(36Krr@VTT9!m%q_q!)Q`C`^IQT z1vuzc-L@IB>rIS$;2n!iBH#-e1csJ(G$yI4fsu{VB7z3tq}TTtq4r|A^jg##^39bA zD|;$n{FlFo?Cp_=Xp|brd(Hl0(u+~a6A|&L#@o+c3~cUsX5E+okfXYZhMxZ z2ppVS%-eqa1A{gx-lx0vyiz)=Q%}^-m#YEbRT!K2C!|1n*KSg=0@JoyMh7z13OR7(){RIQYr*78T2ig5)e`Nul(NehkQmQ(TQvUf2ac_%i2 zmriiK*IOXmE^R!M6vWvh{mTwhUo%kjA}6XQq+K&tRVIiz%5R3U>(x z{-rdO|GHC+p;B(J&`dK);1O)J?xO32>WX`=tBbDDu^uY_;JtLH;x~J*wFHUhh{CaC zGNlbTwAb*A(!ICma4fb(60yu8vg;0jRWV=2h*K#c0Eh;np>b3&`7TNEp1Q0=mH^ws z98#R78{MdRgluxCzsgL6dJFKg*68CD3KG{}xY0zw@%7n^X^qV{_Wju;8b@pPMHIe` z=d2QW-$)%+erP>rCC96GX)B5(a{8rCB?jD@C0fQZm!|%p6@7>kyRR;`F%ALz2*eio z=h)p#gLJlz3_1q7)tWzkSajK%{_%$z16{K~(G)_iz1gMaPh78>^R=MnyL zVgrdAS+^m6aO=XiVQB~4Uo=yI-^!4WCo9AhW)bw959h%*sK3l}+alBf^kK9E$-)RO zCjsDl3$Y>4wP5YAjzf8#L!REWJN7V*9R*tS2%P%gzep254yiMsc?Aq#^DXc1EM;+7 zznd|`5ou5}5q~f%zy2T`N#bbT$!qzmGZw(F@gojh_I=2&r2>H>*YR@`a8&tgpCd3D z`Fs6N)6RYP1iOhPJO6yTP4QG_J0s?%&GIH4o~)Ca zamlqd8hS{N#nbqCzGL`MfWfFQvKfk*wWVpvAtRMZ@lQKD3aUKymo@iVJf=pX8IGhe z*+$uf_V)&Z?a5K3T+?ux96Z{oYA#%26K~bZG`1ZRuItuFR}-jw{>{2xIhuYsTV$V! z3M0g5byYdg>4vAxl8!sc%B`|~@$!S(;YiBp_Rxfrs^H*}Xl;BXfCTvvQcaKQKhI(h z^}9y&77;2jrVTY`NIgO_EkB|0h2x-#%w{|FHFc3_NW9e1Sfrevm-w5#Ft0NO1wH(= z1K)BB5u41^z&s<-sKU8Bq_O21g|qlyb{)vOGWNr7CQxbIz}|_rn75@!l!$N zN1JGu4{xd(fz4Vi<4%5J+i9~xWb7W9lt&#V26+l3X{P0AHSQt{_AM=)HOzSI5s2XUEA$$kh1#Jpa0q$tk%E0hd6$kPw)r|y;f@(CM z0=L-gP4OgI<+XtB_4n)zwZW zh%`D)1eCLQ_jAK_AAoMlSvh<>Z2u_Oxd_(r_0UD(a}dtR{@j2%(_XBljaj5oxYw6C z)8O;vzuDbdp}i15nQH2Ah;@f=fH?^-JWa*0;NzE(G8GcMYiK?lUC1QiyNdjZ)InxW zEk&dN@YlqJ@1L6e$pXz8vl(FekQ^wm>0-v=SWs^2xH5Ti=JDvpt2ewCG+$`hUmT=y zbj*)qW0;Plnm(_G@fe-cwe-t2g>e^E(Q;N|^OQ47L!PrW&Ze#cm|qqEcGU$Mn8Q@xL#tg@_x?Y}P`2`a&}a)o zA3OK0@|RRhSs(a8DQ1%@#$5_4rn5CO-*UaJ6o$Xc=Jy9P*9aS2-P?Sq)v{1Qrp3Ykj6uYpVk5C|4JyLcTHxNwo7lr)kV;Cb#wJA29 z;6sw;zqMHtj%^2h9^N=I*BW%--T1Dl~0mpT~nyNUD<>~6gj%|8jmt@SsqNkgo3vs z4!WP%B{pRa;5`mDg6OQ#?ujaZsszid(MH8u+-5_JrPYZt_5gGz%$%>JuEr^b`J6O6 zk^=4IO?8NP$J&?Uqb#=1CU1i6nNMJ$BCg0M-c_@5E!%&|o5i7L+w6swq41rCm(WCN z=ci$}xA#S#tRZrKQ9iD}COBS-_iR0qaVz_H8%&vBi*x(X1AbWFno)ZJ^8=}_>*rX( zt37dLG5zE48ds3wP2s`)SRw&5b25RdLPqImayyZjp2FW z0=K%5X3ES;8CQo+rBmxmzZb&vV|3E;%JnRFvrDtbN0d_vvVii}>u`|?2}8|t{77+R zjU#j)#}HvUzy6Z6n{5l=YIWo3`|WL-ZKxLR%?%(P{DE0?dWo2j-z(nreziaFc=>s_ zoPUC?&fKVI^#Xla$gL7TZ7K7Rbqk;$7qY~xc>U?7R)YL8XoD^}hXy(^q2A-=o& zP3w7gw-$A~u*tv+gMd4_HbN^I&n7)nTI3+Uwyk2u#N%te$r#k zVTPyNUZWl;{uia#t=0l2Cqpx5vUn$i6!T>D$#haN3lust2c~ZHYu<+iVPa3_q4@}x?hK7ev*bqPh#Ik??$zb3gw%n@`Ky~#A z+xu$xpN<)N!X?ps2SiOp0!;lQMvz7>Asf~fr_rzW-;7-7NwsF5EAgQC1;GCKhR;;3>NMF6_+b^3;u>Z~=NbUMmE3s`h-Q zwxsEK#*3{gNan7QP~nVKHboSk_gokaT!E@SYwTG!-HHrf>vO1+ROn~M6eM4>QsE?O zVxUNYb`flNd7gOUi5?mC47`C~b5NnOzqWbxtpl%$$kv$`f+f-LK~(2{dPLTP{tHXJ% zz(9f+Y;tMA?RooW&c0f52>;7gp1@%BkVT^Xi`_&2(2(x1G8tbzJzN*jJZ`?(`Kp}| ze!P70WF}Z>O{yExC0@w%$LKxErfb>Bzza`0sr-UIgQBCY{O5#y%Vg9AjAJ6Wick(K3 zT$Hh|qAhe4Q;;!5iGo@(6fwhRJd)epmXuRI7w^<7)Nn?97{WJKR~x89t=sPn>jwT6 zou&(a9WCFGv-Fo<)jJ&?JX;&{gb!@FJNX`#0`%?I{r&lUE8-h3x8Cnr97&ExIxel( zuA`)Z^Z47%QxA{r$MEN=DQ9=X%ZmN12c=8+ji$|-(-T`y&&JA*c+~JS^-g{@|3j0ca0*^6TwjO9*?rREWj1=R0H7ZwXurxU%-l8;QUxoLwQ_jQ$z@75z( zHCq^{7av~R{|5ifo0r8>JMYp53yws43l99iwC}+=LEP(#$Jq=+Pgu8c|4&=Z`)g^0 zHT!QcS?{;Qrwn3wj{)MohH+lxk`uiA{x3@}HM%~IU58TPCm;wEpFTQ>Ctr%~No$u|?^Ilgw{fh9?IYTv0FV)_Xzu3wD( zQ+=&>kO#-#cGj#VddE?ea-I383fjG*F1gIL!e-u;llN4&CFpHx>NlUBIXIVTNL1TB z`Y$_-c%MDw*&8O6dlp6BM!mYXw$-Az3t$TM_^waK5A>Or?k|;kza!S`*JkDFUCvf{ zF0r(7^e2#RL8&bu3f+T#yhP)40d8T2%KvfLqTUP%R`F%xW@4?;%blIa^ zX4TksUOw8o1PR+WS~QmPujP}a`6#BYxLxeaOn;VDaup{Fw_Q%9SxCU!_&40`4)l(h zjFiWmRC#MyD!|_18Asvel9{w|9zqpt4&oQ91fdU14k7i5-9T|MykixZaH2WKP<6%c z_jFmEeNm|+#E|0gL?;g_j(Cg +eF2WWVtH59XHIH=f~CqY=ab7AeF+i7se!FcfK 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 EFO`@;z5oCK diff --git a/tools/addImageToWord.js b/tools/addImageToWord.js index 5a6f243..854b7c9 100644 --- a/tools/addImageToWord.js +++ b/tools/addImageToWord.js @@ -1,16 +1,47 @@ const exec = require('child-process-promise').exec; +const fsPromises = require('fs').promises; +const path = require('path') -module.exports = function (docxFile, image){ - return new Promise ((resolve, reject)=>{ - exec('mkdir word/media') - .then(function (result) { - var stdout = result.stdout; - var stderr = result.stderr; - console.log('stdout: ', stdout); - console.log('stderr: ', stderr); +module.exports = function (docxFile, image) { + return new Promise((resolve, reject) => { + let zipName = docxFile.slice(0, -5) + '.zip' + let filePath = path.join(__dirname + '/../public/files') + exec('mkdir -p word/media') + .then(function (result) { + + return Promise.all([ + fsPromises.copyFile(path.join(__dirname + '/../public/images/resized/' + image), + path.join(__dirname + '/../public/files/word/media/image2.png')), + + fsPromises.rename(path.join(__dirname + '/../public/files/' + docxFile), + path.join(__dirname + '/../public/files/' + zipName)) + + ]) + + }).then((result) => { + + return exec(`zip -d ${zipName} ./word/media/image2.png`, { + cwd: filePath + }) + }).then((result) => { + return exec(`zip -u ${zipName} ./word/media/image2.png`, { + cwd: filePath + }) + }).then((result) => { + + return fsPromises.rename(path.join(__dirname + '/../public/files/' + zipName), + path.join(__dirname + '/../public/files/' + docxFile)) + }).then(() => { + resolve(docxFile) + }) + + .catch(function (err) { + + reject({ + eCode: 500, + eText: err + }) + + }); }) - .catch(function (err) { - console.error('ERROR: ', err); - }); - } - )} \ No newline at end of file +} \ No newline at end of file