[AI 왕초보편, 경험담] 한글 문서(hwp, hwpx)에서 퍼페티어를 통해 pdf 변환해보기

요즘 AI 단톡방을 10군데 정도 참여 또는 눈팅하고 있습니다.
영상 위주인 곳도 있고, GPTers도 있고요.
그러다 제가 좋아하는 틸노트(Tilnote) 단톡방에서 흥미로운 이야기를 봤습니다.
"한글 문서를 Puppeteer로 PDF 변환한다"는 것입니다.
솔직히 퍼페티어(Puppeteer)가 뭔지도 몰랐습니다.
근데 직접 해보니까 나름(?) 흥미로운 작업이었습니다.
오늘은 hwp 파일을 PDF로 변환하는 과정을 공유해볼게요.
뭐 그냥 한글 프로그램에서 그냥 바꾸면 되는 거 아니냐라고 하실 수 있지만
html이 pdf로 변환되는 것도 신기한 부분이어서 해봤습니다.
그냥 hwp를 pdf로 바꾼 것과
이런 작업을 통해서 pdf로 바꾼 것의 차이가 궁금하기도 하구요.
코딩 왕초보 수준도 안 되는 제가 했으니까, 누구든 이 정도는 가능한 작업이라고 생각합니다.
1. Node.js 설치
가장 먼저 Node.js를 설치해야 합니다.
공식 사이트에서 Windows 설치 프로그램을 다운로드합니다.


설치는 그냥 "다음" 버튼만 누르면 끝이에요.
별다른 설정 없이 기본값으로 진행하면 됩니다.
2. puppeteer 설치
이제 명령 프롬프트(cmd)를 열어야 해요.
저는 C드라이브 → users → 내 이름 폴더 → AI 폴더 → test 폴더로 이동했어요.
폴더 주소창에서 "cmd"를 입력하면 바로 프롬프트가 열립니다.
거기에 아래 명령어를 순서대로 입력해요.
mkdir pdf-converter
cd pdf-converter
npm init -y그 이후 바로 해당 프롬프트 창에서
npm install puppeteer입력합니다.
아래는 거기에 따른 결과물입다.

3. convert.js 파일 만들기
그 다음에는 아래처럼 메모장을 열고 아래 코드를 복사해서 붙여넣습니다.

아래와 같이 입력합니다.
const puppeteer = require('puppeteer');
const path = require('path');
async function htmlToPdf() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
const htmlPath = path.resolve(__dirname, '문서.html');
await page.goto(`file://${htmlPath}`, {
waitUntil: 'networkidle0'
});
await page.pdf({
path: '결과물.pdf',
format: 'A4',
printBackground: true
});
await browser.close();
console.log('PDF 생성 완료!');
}
htmlToPdf();그러면 아래 처럼 메모장이 만들어질 것입니다.

저장할 때 중요한 포인트가 있어요.
파일 형식을 "모든 파일 (.)"* 바꿔야 합니다.
안 그러면 convert.js.txt로 저장돼서 실행이 안 될 수 있습니다.
파일명은 convert.js로 저장하면 됩니다.

4. 테스트할 한글 파일 만들기 → html로 저장
이제 변환할 한글 문서를 준비합니다.
저는 테스트용으로 아무 내용이나 복사해서 넣었어요.

그냥 아무 거나 위 내용을 긁어보기
한글 파일에 복사 붙여넣기를 하고

한글 프로그램에서 "다른 이름으로 저장"을 선택하고요.
파일 형식을 HTML로 바꿔서 저장합니다.
저장 위치는 아까 만든 pdf-converter 폴더 안이에요.

5. html을 pdf로 변환하기
아까 작성한 노트패드를 열어봅니다. 아까 만든 convert.js 파일을 열어요.

실제 파일명 변경은 convert.js 노트패드의 작은 따옴표 사이에다가 합니다.
확장자까지 입력합니다.
아래 붉은 부분을 모두 바꿔줍니다.
하나는 업로드 파일명이고 하나는 출력 파일명이라고 하네.

pdf로 변환! "PDF 생성 완료!" 메시지가 뜨면 성공이에요.

폴더를 확인해보면 PDF 파일이 생성되어 있습니다.

pdf 파일 변환 완료

마무리하며
hwp → HTML → PDF 순서로 변환되는 게 핵심일까요.
퍼페티어(Puppeteer)는 헤드리스 브라우저라고 한다고 하는데 잘 모릅니다.
쉽게 말하면 눈에 안 보이는 브라우저로 HTML을 열어서 PDF로 출력하는 거라는데... 음...
처음엔 "이게 되나?" 싶었는데 막상 해보니 오래 걸리는 작업은 아니었습니다.
실제 사용기는 어떻게 될지 모르겠지만 하나 배웠네요^^