웹페이지를 여러 페이지의 PDF로 저장하는 방법
크롬에서 PDF 저장이 이상할 때 (이미지 누락)
크롬(Chrome)이나 엣지(Edge) 같은 크롬 기반 브라우저에서 웹페이지를 PDF로 저장하려는데, 텍스트만 나오고 이미지가 텅 비어버리는 현상을 겪었다. 브라우저 설정을 건드려봐도 해결되지 않아, 결국 브라우저를 바꿔서 해결하는 우회로를 택했다.
1단계: 파이어폭스(Firefox)로 갈아타기
크롬이 말썽이니 파이어폭스를 사용한다. 윈도우 패키지 매니저인 Scoop을 사용하면 설치가 간편하다.
PowerShell
# 파이어폭스 설치
PS > scoop install firefox
# 파이어폭스 실행
PS > firefox
2단계: FireShot 확장 프로그램 설치
파이어폭스만으로는 긴 웹페이지를 한 번에 깔끔하게 PDF로 만들기 어렵다. FireShot 확장 프로그램을 설치한다.
- 설치 링크: FireShot for Firefox
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를 얻을 수 있다.