61 lines
1.7 KiB
Python
61 lines
1.7 KiB
Python
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 |