웹페이지를 여러 페이지의 PDF로 저장하는 방법

크롬에서 PDF 저장이 이상할 때 (이미지 누락)

크롬(Chrome)이나 엣지(Edge) 같은 크롬 기반 브라우저에서 웹페이지를 PDF로 저장하려는데, 텍스트만 나오고 이미지가 텅 비어버리는 현상을 겪었다. 브라우저 설정을 건드려봐도 해결되지 않아, 결국 브라우저를 바꿔서 해결하는 우회로를 택했다.

1단계: 파이어폭스(Firefox)로 갈아타기

크롬이 말썽이니 파이어폭스를 사용한다. 윈도우 패키지 매니저인 Scoop을 사용하면 설치가 간편하다.

PowerShell

# 파이어폭스 설치
PS > scoop install firefox

# 파이어폭스 실행
PS > firefox

2단계: FireShot 확장 프로그램 설치

파이어폭스만으로는 긴 웹페이지를 한 번에 깔끔하게 PDF로 만들기 어렵다. FireShot 확장 프로그램을 설치한다.

FireShot을 이용해 웹페이지 전체를 통 PDF로 저장한다. (이미지가 아주 잘 나온다.) 하지만 FireShot 무료 버전은 ‘페이지별 분할 저장’ 기능을 지원하지 않아, 결과물이 세로로 엄청 긴 통짜 PDF 파일이 된다.

3단계: mupdf(mutool)로 PDF 분할하기

긴 PDF를 A4 용지 등에 맞춰 나누기 위해 mupdf라는 툴을 사용한다. 역시 Scoop으로 설치한다.

PowerShell

# mupdf 검색 (extras 버킷에 있음)
PS > scoop search mupdf
'extras' bucket:
    mupdf (1.19.0)

# mupdf 설치
PS > scoop install mupdf

설치가 완료되면 mutool이라는 명령어를 사용할 수 있다. 이 툴의 poster 기능을 이용하면 긴 PDF를 원하는 등분으로 자를 수 있다.

[사용법] mutool poster -y [등분할 수] [입력파일] [출력파일]

  • -y: 세로로 분할 (가로 분할은 -x)

  • 5: 5개 페이지로 나누겠다는 뜻

[실행 예시] FireShot으로 캡처한 긴 파일이 input.pdf라면 아래와 같이 입력한다.

PowerShell

PS > mutool poster -y 5 input.pdf output.pdf

명령어를 실행하면 세로로 길었던 input.pdf가 5페이지로 균등하게 잘린 output.pdf로 저장된다. 이제 이미지가 포함된 깔끔한 분할 PDF를 얻을 수 있다.