수많은 사내 hwp 문서를 pdf로 변경해야 하는 일이 생겼습니다.
파일 한개씩 하다보니 너무 오래 걸리네요.
디렉토리에 있는 파일 전체를 pdf로 변경하고 싶은데,
마땅한 방법이 없는듯 합니다.
알고 계신 Tip 있으면 공유 해주시면 감사하겠습니다. ^^
해당 질문의 문제를 해결, 도움이 되는 선택된 답변이 있습니다.
작성된 다른 답변도 확인해 보시기 바랍니다..
수많은 사내 hwp 문서를 pdf로 변경해야 하는 일이 생겼습니다.
파일 한개씩 하다보니 너무 오래 걸리네요.
디렉토리에 있는 파일 전체를 pdf로 변경하고 싶은데,
마땅한 방법이 없는듯 합니다.
알고 계신 Tip 있으면 공유 해주시면 감사하겠습니다. ^^
21개의 답변이 있습니다.
네, 오토핫키(AutoHotkey)를 사용하여 한글(HWP) 문서를 PDF로 일괄 변환하는 자동화 스크립트를 작성할 수 있습니다. 이 작업을 수행하기 위해서는 한글 프로그램 자체의 'PDF로 저장' 기능을 활용하거나, PDF 가상 프린터를 사용하는 방법이 있습니다.
다음은 한글 프로그램의 'PDF로 저장' 기능을 사용하는 오토핫키 스크립트의 예입니다.
모든 문서를 안정적으로 변환하려면 각 단계를 신중하게 구현해야 합니다. 예를 들어, 다음과 같이 오류 처리와 사용자 알림 기능을 추가할 수 있습니다:
#Persistent
SetBatchLines, -1
SendMode, Input
SetTitleMatchMode, 2
HWP_Path := "C:\Program Files (x86)\Haansoft\Hwp\Hwp.exe" ; 한글 실행 파일 경로
Folder_Path := "C:\Documents\HWP_Files" ; HWP 파일들이 있는 폴더 경로
Loop, Files, %Folder_Path%\*.hwp
{
FileName := A_LoopFileFullPath
Run, %HWP_Path% "%FileName%", , Max, HWP_PID
WinWaitActive, ahk_pid %HWP_PID%
; PDF로 저장하기
Send, ^p
Sleep, 1000 ; 기다리기
; PDF 가상 프린터 선택
Send, {Tab}
Send, {Down} ; PDF 가상 프린터로 이동
Sleep, 1000
Send, {Enter}
Sleep, 1000
; 인쇄 시작
Send, {Enter}
Sleep, 2000 ; 인쇄 대기 시간 늘림
; 파일 이름 설정 및 저장
OutputPDF := RegExReplace(FileName, ".hwp$", ".pdf")
SendInput, {Raw}%OutputPDF%{Enter}
Sleep, 2000 ; 파일 저장 대기
; 한글 닫기
Send, ^q
Sleep, 1000 ; 닫기 대기
}
MsgBox, 모든 HWP 파일이 PDF로 변환되었습니다!
ExitApp
유료 프로그램이 있어 수작업할때는 필요없겠지만
프로개발단에서 할때는 유용하겠네요.
참고하겠습니다.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입답변 참고하겠습니다.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입저희도 필요한데 마땅히 없길래 그냥 하나 만들었어요
시간 되시면 코드가 엄청 복잡하진 않아서 자체 개발도 추천드립니당
개발 없인 안되는 거 같습니다. ㅠㅠ
파이썬 사용중이라 연습겸 다른 사업부에서 필요하다고해서 만들었는데 저는 파일 선택보다는 폴더 단위로 변환하는 프로그램으로 만들었습니다. 저는 이것저것 하느라 오래 걸렸지만 그게 아니면 금방 만드실거에요
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입와우 코파일럿에게 물어봤더니 아래와 같이 답을 주네요 ..
1. HWP -> HTML
import os
from hwp5.binmodel import ModelStream
from hwp5.dataio import ParseError
from hwp5.txt import TextDumpWriter
from hwp5.xmlmodel import Hwp5File
def hwp_to_html(hwp_path, html_path):
hwp5file = Hwp5File(hwp_path)
model = ModelStream.open(hwp5file.olefile, 'BodyText')
with open(html_path, 'w') as f:
TextDumpWriter(f).dump(model)
for file in os.listdir('.'):
if file.endswith('.hwp'):
hwp_to_html(file, file.replace('.hwp', '.html'))
2. HTML -> PDF
import pdfkit
def html_to_pdf(html_path, pdf_path):
pdfkit.from_file(html_path, pdf_path)
for file in os.listdir('.'):
if file.endswith('.html'):
html_to_pdf(file, file.replace('.html', '.pdf'))
위의 코드를 실행하기 전에, 필요한 라이브러리를 설치해야 합니다. 'pyhwp’와 ‘pdfkit’ 라이브러리는 pip를 통해 설치할 수 있습니다. 또한, ‘pdfkit’ 라이브러리를 사용하기 위해서는 wkhtmltopdf도 설치해야 합니다.
이 방법은 HWP 파일의 원래 형식과 레이아웃을 완벽하게 보존하지는 않을 수 있습니다. 따라서, 변환된 PDF 파일의 결과를 확인하고 필요한 경우 수동으로 수정해야 할 수도 있습니다.
hwp5.txt 모듈이 존재하지 않는다는 오류가 발생하네요.
느낌상, 할루시네이션이 아닐까 싶어 보이네요.
hwp5.txt 모듈이 없기 때문에
from hwp5.txt import TextDumpWriter 명령을 통해 TextDumpWriter을 로드 시킬 수 없게 되겠고...
TextDumpWriter(f).dump(model) 명령을 실행하지 못해 HTML 파일로 저장하지 못해서 변환이 불가한 상태가 될 걸로 보이네요.
아래 링크는 hwp5 패키지 설명서가 되겠는데요.
https://pythonhosted.org/pyhwp/hwp5.html
hwp5 패키지 설명서에도 hwp5.txt라는 모듈이 존재하지 않는 걸로 봐서는...
코파일럿이 착각속에서 코드를 만들어 낸 것 같네요. ^^;;
챗GPT에게 도움을 많이 얻고 있는데...
문제를 해결하기 위한 힌트를 얻는데는 많은 도움을 얻을 수 있지만... 정답을 제공해 준 적은 없었던것 같네요.
제공해 주는 코드는 항상 어딘가에 오류가 있어서 그 오류를 대체할 수 있는 다른 방법들을 다시 찾고 찾아야 겨우 겨우 원하는 목적을 달성할 수 있었던 것 같네요.
물론 누구나 알 수 있는 간단한 질문에 대한 코드는 정답을 바로 알려 주기도 하지만...
어느 정도 난이도 있는 코드 작성에 대한 질문에 대해서는...
아직까지는 항상 중간 중간에 환영으로 만들어 낸 코드를 집어 넣어서 환영으로 제시한 내용을 해결할 다른 방법을 찾아야 하도록 만들더군요~
유료 프로그램이 있어 수작업할때는 필요없겠지만
프로개발단에서 할때는 유용하겠네요.
참고하겠습니다.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입hwp2pdf라는 일괄변환 프로그램이 있습니다 그거 쓰시면 편하게 할 수 있어요~
https://blog.naver.com/darkwalk77/223002653018 다운로드 및 사용법이 나와 있는 링크입니다!
보안 때문인지 설치는 안되더라고요.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입하나씩은 되지만 동시에 동일
이름으로 변경하는 프로그램은
저도 못봤습니다.
어도비 쪽 프로그램은 동시에 설정 가능하지만
창이 하나씩 열려 하나씩 별도 저장해야 합니다 ㅠㅠ
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입여기 저기 찾아봐도 한번에 여러기의 파일을 동시에 할 수 있는 사이트나 프로그램은 아직 못찾겠네요. ㅜㅜ
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입툴로 하시는게 가장 속도감이 있을것 같아요 무료/유료의 차이겠네요
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입파일 변환 하는 프로그램이 따로 있으니 구글링해보시고 온라인 사이트도 있으니 참고 하시기 바랍니다.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입이미지, ms 문서는 adobe에서 여러문서 개별 pdf로 변환 기능을 이용하면 되는데요.
hwp는 지원하지 않습니다.
별도의 3rd party 툴이나 rpa 솔루션을 이용하여 변환 모듈 사용하면 가능합니다.
가장 쉽게 할 수 이는 건 온라인 무료 프로그램인데, 내부 문서를 외부 클라우드에 업로드 하는 것이
보안적으로 문제가 없다면 아래 사이트 참고해보세요.
https://allinpdf.com/kr/hwp-to-pdf
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입여러가지 툴이 있는데, 일단 한글에서 제공해주는건 버전이 낮아서. 구글링하시어 원하는 프로그램 사용하시면 될 것 같습니다.
엄청 많은 프로그램들이 있습니다.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입hwp 자체 에서 가능 할걸로 보입니다만 직접 해 본적은 없습니다.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입HWP 파일을 PDF로 변환하는 기능은 HWP 한컴 워드프로세서 내의 기능을 이용하는 것이 일반적이죠.
한컴에서 HWP를 PDF로 변환해 주는 전용 툴이 제공되고 있다면 해당 툴을 이용해서 일괄 변환 가능하겠고요.
한컴이 아니더라도 제 3의 툴을 이용하는 방법도 찾을 수 있을 것 같아 보이네요.
아래 웹 사이트에서 제공하는 일괄 변환 기능을 이용해도 될 것 같고요.
https://hwp2pdf.io/
만약, 한컴 워드를 이용해서 HWP 파일을 PDF로 일괄 변환하고 싶은 경우라면 RPA와 같은 매크로 툴을 이용해서 파일을 읽고, 변환하는 작업들을 반복하도록 만들어서 처리하는 방법도 있을 것 같네요.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입Adobe acrobat 변환 기능에서
여러 파일을 하나의 PDF로 변환하거나 여러 파일을 개별 PDF로 일괄 변환하는 기능이 있습니다.
해당 프로그램 변환 기능 쓰면 좀 더 손쉽게 진행하실 수 있을 듯 합니다.!
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입