From d0a75259ad04f3af3e1040eeafb4710788f40905 Mon Sep 17 00:00:00 2001 From: tolag3 Date: Fri, 4 Aug 2023 15:22:05 +0900 Subject: [PATCH] first commit --- HWPToPDF.py | 61 +++++++++++++++++++ PDFToJPG.py | 10 ++++ __pycache__/HWPToPDF.cpython-311.pyc | Bin 0 -> 2179 bytes __pycache__/PDFToJPG.cpython-311.pyc | Bin 0 -> 794 bytes __pycache__/reqeustFile.cpython-311.pyc | Bin 0 -> 1010 bytes app.py | 76 ++++++++++++++++++++++++ reqeustFile.py | 23 +++++++ 7 files changed, 170 insertions(+) create mode 100644 HWPToPDF.py create mode 100644 PDFToJPG.py create mode 100644 __pycache__/HWPToPDF.cpython-311.pyc create mode 100644 __pycache__/PDFToJPG.cpython-311.pyc create mode 100644 __pycache__/reqeustFile.cpython-311.pyc create mode 100644 app.py create mode 100644 reqeustFile.py diff --git a/HWPToPDF.py b/HWPToPDF.py new file mode 100644 index 0000000..256c2d4 --- /dev/null +++ b/HWPToPDF.py @@ -0,0 +1,61 @@ +from flask import request + +import os + +import win32com.client +import pythoncom + +from PDFToJPG import converPDFToJPG + +class converHWPtoPDF(): + def HWPtoPDF(fileNm): + pythoncom.CoInitialize() + + hwp_path = "E:/data" + hwp_fileNm = fileNm + pdf_path = "E:/pdf" + + try: + os.mkdir("E:/data") + except: + pass + + try: + os.mkdir(pdf_path) + except: + pass + + # load hwp api + hwp = win32com.client.gencache.EnsureDispatch('HWPFrame.HwpObject') + hwp.RegisterModule('FilePathCheckDLL', 'FilePathCheckerModule') + + # file_list = [f for f in os.listdir(hwp_path) if re.match('.*[.]hwp', f)] + # for file in file_list: + # file = os.listdir(hwp_path) + + # pre, ext = os.path.splitext(file) + + src = f'{hwp_path}/{hwp_fileNm}' + oriFileNm = hwp_fileNm.replace('.hwp','') + dst = f'{pdf_path}/{oriFileNm + ".pdf"}' + + # open hwp file + hwp.Open(src) + # set save filename + hwp.HParameterSet.HFileOpenSave.filename = dst + # hwp.HParameterSet.HFileOpenSave.PrintMethod = '0' + # set save format to "pdf" + hwp.HParameterSet.HFileOpenSave.Format = "PDF" + + # hwp.HParameterSet.HPrint.PrintMethod = f'PrintType("Nomal")'; + # hwp.HAction.GetDefault("Print", hwp.HParameterSet.HPrint.HSet) + # hwp.HParameterSet.HPrint.PrintMethod = "0" + # hwp.HAction.Execute("Print", hwp.HParameterSet.HPrint.HSet) + + # save + hwp.HAction.Execute("FileSaveAs_S", hwp.HParameterSet.HFileOpenSave.HSet) + print(f'convert {src} to {dst}') + + hwp.Quit() + pythoncom.CoUninitialize() + return dst \ No newline at end of file diff --git a/PDFToJPG.py b/PDFToJPG.py new file mode 100644 index 0000000..5a3c0bb --- /dev/null +++ b/PDFToJPG.py @@ -0,0 +1,10 @@ +import os +from contextlib import suppress +from pdf2jpg import pdf2jpg + +class converPDFToJPG(): + def PDFToJPG(file): + #파라미터로 pdf 파일의 절대경로를 받는다. + dest = "E:/jpg" + pdf2jpg.convert_pdf2jpg(file, dest, dpi = 300, pages ='ALL') + #pdf가 여러 장으로 되어있다면 모든 장을 jpg로 바꾼다. \ No newline at end of file diff --git a/__pycache__/HWPToPDF.cpython-311.pyc b/__pycache__/HWPToPDF.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..acad5e6a471ae1b330406c64c7534ecfae908550 GIT binary patch literal 2179 zcmah~Uu@Gx7(f4sb4eZdUl@X-5>X9WtqTPPlh8J)YH3ShC0&^|BBaRJhBzd4u-z6S zSK@((FjX3FR6>*T#5(b^$Gz@-4^Cx?=p>{{d)iy3Zc@e5zO(D5DWIJ{-}n3O`*YuS zzB~V%N+l7rl{UTW0fYz_~mh@K`j3IGLd$6q8&H`XbF^v_?%1zJQH0N`( z%AQNWm_1=94d6M_P@Yi{q`*8uc`gXaMgDW&H*1($t+e&W_*F55_S z>^n$}tGN5at_dy|cnWHw28Mxu9A*x-SjRI&ZtQUFF4&fOBD<0pp+YJ`YVrdXQe*-8 z-Uv7PB6N_eJ@1cE>W{3tt74Gzail>=72O!rm~!J#9sf=Rd}FX<+d+qSRoC95+c{{5 zt=u>q6KSCqzjFDkDm!vb08mx$)&^jI&scIr%g(J(qibMKl^s<(do#IqcQ|?b+ zzfO*HjcC@_rn+3#-ZE!ve73k+B?ve~BODwQB2wcec}1JF3rjT|9z!Qn<1>z#89PD} z)kjXzG!(N!#3}Qtp*y-<)@vGJO`F6j_f_2@cvUwpoTny&Qr0!YA^4tVD6&%2h;+rU zmo05tx2v+F6p8eWc2BpRC@XpiRLioW5&lM1Ge~MKC({DKU`ca8r0G!&O_AWcAQ_-0 z!i;HEWQWA(CKX3F4HCcdP*av2h%-kWV^vFsJov?B-67JH`K_Vvr#^;>Km#pQ2!{12 zKw?Fbq$nDN)d@#Ax?Y@ZDI{T9I?V-~IMsG+dZ;pc?d_0u`Syyfn5vcwR_iu=rGaqv7gCay9~V>)SS5BahJ=-0$PzCeHXc$POm*$(&HD9_`=UTYuH9o$Dk9$L(dS_>vc-F_W9-eLYp@HL`GzzpaA965G55G>I z-b$ZttZd$CrqB85bM-{4|ClFD0Bu~|6q+Zpp-|`A0!oNK;vev{!KbP9R6VtQ;ZmLR z@i8Bt@$m$x&wt*LvoK*oT!&iU5m+!h>bG9BQm_aQ_AEK##0XXh(18pre5a};HauR|09DbekKpK!Y0;l{IQaxc zK|q?&Tl__s`d8LP5b4j#cA;x?48ye0F|V7pQQ~p%Y@?67h+3%6i)b5-c-_?IFECKm PyWQV(?4S22g6#eS0g?b< literal 0 HcmV?d00001 diff --git a/__pycache__/PDFToJPG.cpython-311.pyc b/__pycache__/PDFToJPG.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3e92676d82fcc589cc96d610dcc90bd1b8b2e07a GIT binary patch literal 794 zcmZ`$&ubGw6n^t#(=ph_Lm`JATJWF?Qo&;oQAk@Tr3Cb}6vmjD*3?aQ-PsgdTF9Y? z{s+DGRFQh{=pW%BLJwg;5IlK{#8Xec+09l1_07!pzS;NQ&i7{C&(4+s&3pMpy&(WU z+@>%-A>*e=PCA z3e$_@L>q&ACRW>zcH^DaBsp^^B(w26x>L{)5Cs8M2sd0C)v~;zgYg>D!6)D}=PhUsf ztwQ~Byl+LZIjByzwp;{UTjm}@AHG+rC;XeJT#Cgrex^R%{j3L~{#Dd3MIA{#$C!#2 z&aIHL+w5p5ZCT1rq{AtSgM z^PjkS-?KC_wu}v>`du2fUnTBcvOCKUa4-D#&@1scm-i&8V!*wV=^~66A!G=*`q>!5 b;$V6XVPP;mN1PL<@Mip#egFNRXr|{6^u4mc literal 0 HcmV?d00001 diff --git a/__pycache__/reqeustFile.cpython-311.pyc b/__pycache__/reqeustFile.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ee2f69043a68bb75ced7383d93ffd2a4fb1a9445 GIT binary patch literal 1010 zcmZuvK~EDw6n?Y2Ed>@@gC%MVHu1EO)Dt8UHO52?2OA@vHki%Q8KAK3(%D@MO-*{> zfW|~)H09ud6Kc5o2fTVHh69;X6XU^KO+9h)&2HOJ;LXf8Z{EE3=DjcTd1Pb=P-?G! z(C-SsFL~&S)=}E`QKlMtyZj#5-jHPlr{Gc^Ss0oAsF#`ZDO0j@~Q7*!X* zi2spCgNUTZ@&RYoa=~FGyU5Tq5R}S+>$6g<{GAUb)A2sLQMK~KH8yZhkh@I+&H z;&^PbF*X?*TM!$(_B(xj_t~fChv})K^wiGWv7UN6|9bx8(ubA0^WNFJ{bl)ZeEMj7 z`cR)a(q|g_Ompn&&f{h>y))9r{E#y=k+3ZJc`Qo|Sys`dfg^R@vdV$&L^omCUx8o3 z5T24C`v@U{igy#C)*CHlG&bIX^AN?$P-J=Z1>@@#7OZ3gzu