HWPtoPDF/HWPToPDF.py
2023-08-04 15:22:05 +09:00

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