일하다 보면, 특히 AI를 많이 활용하게 되는 요즘같은 때, 한국에서는 한글(HWP) 문서를 PDF로 바꿀 일이 참 많습니다. 한두 개야 한글에서 그냥 [PDF로 저장] 하면 그만인데, 스무 개 서른 개가 쌓이면 이야기가 달라지죠. 하나씩 열고, 저장하고, 닫고… 생각만 해도 아득합니다.
그래서 예전부터 알려진 무료 일괄 변환 프로그램을 받아서 실행해 봤는데, 실행 자체가 안 되더군요. ㅠ_ㅠ
이벤트 뷰어까지 열어서 원인을 파봤더니, 그 프로그램은 옛날 한글 기준으로 만들어져 있어서 한글 2024와 연결 방식이 어긋나 첫 호출부터 죽는 것이었습니다. 인터넷에 나오는 대로 레지스트리를 고쳐봐도 소용이 없었고요.
없으면 만들면 되죠. 요즘은 대(大) 바이브 코딩의 시대잖아요. 그래서 직접 만들었습니다. 이름은 hwp2pdf+ 입니다. ^^
✨ 주요 기능
- 여러 개를 한 번에 — HWP·HWPX 파일 여러 개, 또는 폴더를 통째로 던져 넣으면 하위 폴더까지 싹 찾아서 변환합니다.
- 드래그 & 드롭 — 창에 끌어다 놓고 버튼 한 번이면 끝입니다.
- 진행 상황이 보입니다 — 파일마다 대기 / 변환 중 / 완료 / 실패 상태가 표시됩니다.
- 출력 폴더 지정 — PDF를 원본 옆이 아니라 원하는 폴더에 모아서 저장할 수 있습니다.
- 설치가 필요 없습니다 — 파일 하나만 받아서 실행하면 됩니다. 지울 때도 그 파일만 지우면 끝이고요.
- 무료 & 오픈소스 — 개인이든 회사든 기관이든 아무런 제약 없이 쓰셔도 됩니다. 소스도 전부 공개해 두었습니다.
📌 준비물 (중요!)
- Windows 10 또는 11
- 한컴오피스 한글 2010 SE 이상이 설치되어 있어야 합니다.
- HWPX 파일을 변환하려면 한글 2020 이상이 필요합니다.
이 프로그램은 자체 변환 엔진을 갖고 있지 않습니다. 컴퓨터에 설치된 한글을 대신 컨트롤해서 문서를 열고 PDF로 저장시키는 방식이에요. 그래서 한글이 없는 PC에서는 동작하지 않습니다. (반대로 말하면, 변환 결과물은 한글이 직접 저장한 PDF와 똑같습니다.)
⬇️ 다운로드
아래 링크에서 hwp2pdf-plus.exe 파일 하나만 받으시면 됩니다.
페이지 아래쪽 Assets 항목에 있는 hwp2pdf-plus.exe 를 클릭하면 받아집니다. 소스 코드가 궁금하신 분은 저장소에서 전부 보실 수 있습니다.
🖱️ 사용법
1단계: 파일을 끌어다 놓습니다
변환할 HWP·HWPX 파일이나 폴더를 프로그램 창에 그대로 드래그하면 목록에 추가됩니다. [파일 추가] 버튼으로 골라도 되고요. 같은 파일을 두 번 넣어도 알아서 걸러줍니다.

2단계: [PDF 변환] 을 누릅니다
누르면 한글이 뒤에서 조용히 돌면서 하나씩 변환합니다. 파일마다 상태가 변환 중 → 완료 로 바뀌고, 아래쪽에 진행률이 표시됩니다. 변환하는 동안에는 창이 위로 올라와 있으니 진행 상황을 그냥 보고 계시면 됩니다.

3단계: 끝!
변환된 PDF는 원본 파일과 같은 폴더에 생성됩니다. 다른 곳에 모으고 싶으시면 아래 옵션을 쓰시면 됩니다.
⚙️ 옵션 세 가지
- 기존 PDF 덮어쓰기 — 같은 이름의 PDF가 이미 있을 때 다시 만들지 정합니다. 꺼두면 건너뜁니다.
- 출력 폴더 선택 — 켜고 폴더를 지정하면 PDF를 그 폴더에 전부 모아서 저장합니다.
- 현재 저장된 PDF 설정으로 출력 — 평소에는 꺼두시면 됩니다. 기본값은 항상 문서 전체를 PDF로 만듭니다. 반대로 한글에서 직접 설정해 둔 PDF 설정(변환 범위 등)을 그대로 쓰고 싶을 때만 켜세요.
⚠️ 실행이 막힐 때
제가 개인이 만들어 무료로 배포하는 프로그램이다 보니 코드 서명 인증서가 없습니다. 그래서 윈도우가 “모르는 앱”이라며 막을 수 있습니다. 바이러스라서가 아니라, 인증서가 없는 앱에 윈도우가 보내는 기본 경고입니다.
① “Windows의 PC 보호” 창이 뜨는 경우
창에 있는 작은 글씨 [추가 정보] 를 누르면 [실행] 버튼이 나타납니다. 이 버튼을 누르면 됩니다. (많은 분들이 [추가 정보] 링크를 못 보고 그냥 닫으시더라고요.)
② “스마트 앱 컨트롤이 차단했습니다” 라고 뜨는 경우
이 경우는 [계속 실행] 버튼 자체가 없습니다. 윈도우 11의 스마트 앱 컨트롤 기능이 켜져 있는 PC에서 나타나는데, 잠깐 껐다가 실행한 뒤 다시 켜시면 됩니다.
- 시작 버튼을 누르고 스마트 앱 컨트롤 을 검색해서 엽니다.
- 끄기 를 선택합니다.
- 프로그램을 실행합니다. 실행한 뒤에는 보안을 위해 다시 켬 으로 돌려두시는 것을 권합니다.
설정 앱에서는 설정 → 개인정보 및 보안 → Windows 보안 → 앱 및 브라우저 컨트롤 → 스마트 앱 컨트롤 순서로 들어가셔도 됩니다.


2026년 4월 윈도우 업데이트부터는 스마트 앱 컨트롤을 껐다가 다시 켤 수 있습니다. 그 이전 버전에서는 한 번 끄면 되돌리기가 어려우니, 윈도우를 최신으로 업데이트한 뒤 진행하시는 것이 좋습니다.
⌨️ 덤: 명령줄로도 됩니다
배치 파일이나 자동화에 넣어 쓰실 분들을 위해 명령줄 모드도 넣어두었습니다. 파일이나 폴더를 인자로 주면 창 없이 변환합니다.
hwp2pdf-plus.exe "C:\문서\보고서.hwp"
hwp2pdf-plus.exe "C:\문서폴더"마무리하며
사실 저 하나 편하자고 만들기 시작한 프로그램인데, 만들다 보니 비슷한 일로 답답해하실 분들이 떠올라 정리해서 공개하게 되었습니다. 개인·기업·기관 어디서든 무료로, 아무 제약 없이 쓰시면 됩니다.
다만 몇 가지는 미리 말씀드려요. 변환 품질과 모양은 설치된 한글이 저장하는 PDF 그대로이고, 암호가 걸린 문서 같은 일부 파일은 변환에 실패할 수 있습니다. 중요한 문서라면 변환된 PDF를 꼭 한 번 확인하고 쓰시는 것을 권합니다.
쓰시다가 안 되는 파일이 있거나 이런 기능이 있으면 좋겠다 싶은 게 있으면 댓글로 알려주세요. 소스가 공개되어 있으니 GitHub 이슈로 남겨주셔도 됩니다. 도움이 되었다면 저장소에 별(⭐)도 하나 눌러주시면 큰 힘이 됩니다. (별이 쌓이면… 오픈소스 무료 코드사인이 되면… 스마트 스크린이 언젠가… 없어지겠죠? ㅠㅠ^^)






















































![[ 안드로이드 크롬은 넥서스에는 기본 브라우저로 들어가 있고, 성능이 굉장히 좋은 안드로이드 브라우저입니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/09/01.png)
![[ 이 기능이 도움이 되시는 분들도 많으시겠지만, 저에게는 정말 싫은 기능이었습니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/09/02.png)
![[ 갤럭시 S7 기준 애플리케이션 관리자 들어가는 방법 ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/09/03_new.png)
![[ Chrome을 찾아 클릭합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/09/04.png)
![[ 알림에 들어갑니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/09/05.png)
![[ 알림 허용이라고 되어 있는 부분을, 꺼짐으로 설정합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/09/06.png)

![[ apt-get 명령어를 통해 설치를 시작합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/09/01_apt_get.jpg)
![[ 어차피 나중에 내용을 전면 수정해야 하므로 대충 대답해주셔도 괜찮습니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/09/02_setup_ddclient.jpg)
![[ 잘 적용되면 이 부분의 IP가 현재 IP와 일치하게 바뀝니다. (ifconfig 명령어 등 활용하여 현재 IP 확인 후 비교) ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/09/03_cloudflare_success.jpg)
![[ 다음과 같이 재부팅시 실행될 수 있도록 입력해 줍니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/09/04_crontab.jpg)

![[ PuTTY는 SSH 툴로써 오늘날에도 널리 사용되고 있는 클라이언트입니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/02/1_PuTTYMain.jpg)
![[ Charset이 UTF-8이 아니면, 한글 등이 적절히 표현되지 않습니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/02/1-1_PuTTYutf8.jpg)
![[ 글꼴 설정을 변경하여 SSH 내 한글 글꼴이 정상 표현되도록 합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/02/2_FontSetting.jpg)
![[ 여기서는 D2Coding을 활용하지만, 여러분들이 좋아하는 폰트를 사용하셔도 됩니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/02/3_fontsize12.jpg)
![[ 여러분 컴퓨터의 해상도에 따라 이 값은 적절히 변경해 주세요. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/02/4_window_size.jpg)
![[ 여기서는 기본 설정을 변경하도록 저장합니다. 필요에 따라 원하시는 설정값에 저장해 주세요. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/02/5_setting_save.jpg)
![[ PuTTY 기본 설정값, 내용 출처는 생활코딩(Opentutorials)입니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/02/6-1_PHPsample.jpg)

![[ 구글 개발자 도구에서 Network 탭을 눌러, 트래킹을 시작합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/01/02_devtool_ready.jpg)
![[ 측정하길 원하는 웹 어플리케이션에 접속해, 트래킹을 기다립니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/01/03_devtool_fin.jpg)
![[ 이름 표시줄에서 오른쪽 버튼을 눌러, Protocol 이름 표시를 켜 줍니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/01/04_enable_protocol.jpg)
![[ Protocol 항목에서 여러분들의 웹 어플리케이션이 어떤 통신 규약에서 작동하는지 확인할 수 있습니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/01/05_protocol.jpg)

![[ SSH로 접속하여, 위와 같이 명령어를 쳐 주고, root 비밀번호를 입력합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/1_puttylogin.jpg)
![[ ### BEGIN /etc/grub.d/10_linux ### 라고 되어있는 부분을 찾습니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/3_linux-10-fixed.jpg)
![[ menuentry "Linux Mint ~" 라고 되어있는 부분 바로 아래의 linux 를 찾으셔야 합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/4_menuentry.jpg)
![[ 다른 부분을 건드시면 문제가 되니, quiet splash 뒤에 text만 입력합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/5_text_fixed.jpg)
![ASUS 공유기에서 개인도메인 CloudFlare DDNS 설정하기 (멀린롬 사용) [2016/07/24 전면개정]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/putty_fin.jpg)
![[Download를 누르고 다운로드 사이트 서버 중 하나를 선택합니다.]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/1_downmerlin.jpg)

![[ 최신 버전의 펌웨어를 꼭 다운받도록 합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/3_merlin_down2.jpg)
![[압축을 풀어 여러분들이 원하는 곳에 파일을 둡니다.]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/4_unpacking.jpg)
![[이어서 통상 펌웨어 업그레이드를 하는 것처럼 진행하시면 됩니다.]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/5_merlin_admin_page.jpg)
![[ JFFS2, SSH 부분을 다음과 같이 설정해 줍니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/7_setup_comp.jpg)
![[ SSH ID랑 비밀번호는 여러분들 공유기 관리자 ID와 비밀번호와 같습니다. PuTTY 사용법은 인터넷에 찾아보면 많이 나옵니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/7_setup_comp_2.jpg)
![[ A 레코드는 꼭 설정되어있어야 합니다. CNAME도 이와 같이 설정되어 있는 것이 정상입니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/new01_cloudflare.jpg)
![[ My Account를 눌러 나온 곳에서, View API Key를 눌러 API Key를 확인합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/new02_APIKey.jpg)
![[ ZONE 이름은 클라우드플레어 페이지에서 찾으실 수 있습니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/new_zone_name.jpg)
![[ 이전보다 레코드 ID를 알아내는게 쉽게 되었습니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2016/07/new_record_id2.png)
![[ 이와 같이 A 레코드에 여러분들의 WAN IP가 들어가 있다면 성공한 것입니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/comfirm.jpg)


![[ 사진 선택을 눌러 몇 장의 사진을 선택할 수는 있지만, 전체 선택을 할 수는 없었다 (...) ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/2-2_icloud_choosephoto.png)

![[ Windows용 iCloud를 다운로드 받아 설치합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/4_windows_icloud_download.png)
![[ iCloud 설정에서 사진을 체크하고 옵션을 누릅니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/6_icloud_setting1.png)
![[ 사진 옵션에서 빨간 상자의 옵션을 체크합니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/7_icloud_setting2.png)
![[ iCloud 트레이 아이콘을 누르면 사진 다운로드가 있습니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/9_icloud_setting_fin.png)
![[ 모든 콘텐츠를 누르면 모든 콘텐츠가 선택됩니다. ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/10-fin.png)
![[ 이상한 사진이 있어 모자이크를 한 것이 아닙니다. (웃음) ]](https://blog.gomgom.net/wordpress/wp-content/uploads/2015/12/11-download-complete.png)