리눅스 환경에서 PDF 문서를 분할하는 효율적인 방법 중 하나는 Evince나 Ocular와 같은 GUI 기반 도구를 사용하지 않고 터미널을 활용하는 것입니다. 특히 PDFtk라는 터미널 앱은 PDF 파일 분할뿐만 아니라 편집 및 수정 기능까지 제공하는 강력한 도구입니다.
PDFtk 설치 가이드
PDFtk는 오랜 기간 사용되어 온 안정적인 애플리케이션으로, 대부분의 리눅스 배포판에서 쉽게 설치할 수 있습니다. 터미널을 열고 아래 안내에 따라 설치를 진행해 보세요.
참고: PDFtk 설치는 Ubuntu, Debian, Arch Linux, Fedora 또는 OpenSUSE 환경에서 지원됩니다. 다른 리눅스 배포판을 사용하고 계시다면, 하단의 소스 설치 지침을 참고해 주세요.
우분투
sudo apt install pdftk
데비안
sudo apt-get install pdftk
아치 리눅스
아치 리눅스에서는 PDFtk를 AUR(Arch User Repository)을 통해 설치해야 합니다. 먼저, Pacman 패키지 관리자를 사용하여 최신 버전의 Git 도구를 설치합니다.
참고: AUR에는 소스 코드를 직접 빌드하는 대신 미리 컴파일된 패키지를 제공하는 PDFtk 패키지가 있습니다. GCC-GCJ 패키지에서 문제가 발생할 수 있으므로, 이 방법은 권장하지 않습니다.
sudo pacman -S git
Git 설치 후, Git을 사용하여 최신 PDFtk AUR 스냅샷을 다운로드합니다. 터미널에서 ‘git clone’ 명령어를 실행하여 빌드 지침 파일을 내려받으세요.
git clone https://aur.archlinux.org/pdftk.git
‘cd’ 명령어를 사용하여 작업 디렉터리를 홈 디렉터리에서 다운로드한 pdftk 폴더로 변경합니다.
cd pdftk
PDFtk 소스 폴더 내에서 ‘makepkg’ 명령어를 실행하여 빌드 프로세스를 시작합니다. 이 명령어는 필요한 종속성 파일을 자동으로 다운로드, 컴파일 및 설치합니다. 만약 종속성 파일이 자동으로 다운로드되지 않는 경우, 수동으로 설치해야 할 수도 있습니다. 필요한 모든 종속성 정보는 여기에서 확인할 수 있습니다.
페도라
현재 Fedora 소프트웨어 저장소에는 PDFtk 패키지가 제공되지 않습니다. 하지만 OpenSUSE 패키지를 활용하여 설치할 수 있습니다. 먼저, ‘wget’ 명령어를 사용하여 필요한 패키지를 다운로드합니다.
wget https://ftp.gwdg.de/pub/opensuse/distribution/leap/42.3/repo/oss/suse/x86_64/pdftk-2.02-10.1.x86_64.rpm wget https://ftp.gwdg.de/pub/opensuse/distribution/leap/42.3/repo/oss/suse/x86_64/libgcj48-4.8.5-24.14.x86_64.rpm
‘cd’ 명령어를 사용하여 터미널의 작업 디렉터리를 다운로드 폴더로 이동합니다.
cd ~/Downloads
마지막으로, ‘DNF’ 패키지 관리자를 사용하여 PDFtk를 설치합니다.
sudo dnf install libgcj48-4.8.5-24.14.x86_64.rpm pdftk-2.02-10.1.x86_64.rpm -y
오픈수세
sudo zypper install pdftk
소스 코드에서 빌드
PDFtk는 소스 디렉터리 내에 미리 구성된 빌드 파일이 있기 때문에 소스 코드에서 빌드하는 과정이 비교적 간단합니다. 우선, ‘wget’ 다운로드 도구를 사용하여 소스 코드를 다운로드합니다.
PDFtk를 제대로 빌드하기 위해서는 GCC, GCJ 및 libgcj가 시스템에 설치되어 있어야 합니다.
wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip
‘Unzip’ 명령어를 사용하여 다운로드 폴더에 PDFtk zip 파일의 압축을 해제합니다. 만약 ‘unzip’ 프로그램이 설치되어 있지 않다면 패키지 관리자를 통해 설치하세요.
cd ~/Downloads unzip pdftk-2.02-src.zip
PDFtk 소스 zip 아카이브를 압축 해제하면 다운로드 폴더 내에 ‘pdftk-2.02-src’ 폴더가 생성됩니다. ‘cd’ 명령어를 사용하여 해당 폴더로 이동합니다.
cd pdftk-2.02-src
루트 PDFtk 폴더에서는 별다른 작업을 수행하지 않습니다. 컴파일을 진행하려면 ‘pdftk’ 하위 폴더로 이동해야 합니다.
cd pdftk
PDFtk 하위 폴더에는 다양한 운영 체제에서 자동으로 빌드할 수 있는 Makefile이 있습니다. ‘ls’ 명령어를 사용하여 디렉터리의 내용을 확인합니다.
ls
사용하는 시스템에 맞는 Makefile을 찾은 후, 아래 명령어를 사용하여 빌드 프로세스를 시작합니다. ‘Makefile.filename’은 사용하는 Makefile의 이름으로 변경해야 합니다.
make -f Makefile.filename
PDFtk 사용법
PDFtk의 주요 기능 중 하나는 PDF 파일을 결합하고 분할하는 것입니다. 예를 들어, PDF 파일의 각 페이지를 별도의 파일로 분할하려면 ‘burst’ 명령어를 사용합니다.
pdftk testfile.pdf burst
PDFtk는 분할된 파일을 원본 파일과 동일한 위치에 저장합니다.
분할된 모든 PDF 파일을 다시 하나로 합치고 싶으신가요? 먼저, 원본 PDF 파일의 이름을 변경하여 백업해 두는 것이 좋습니다.
mv testfile.pdf testfile.bak
이제 원본 PDF 파일이 안전하게 백업되었으니, PDFtk를 사용하여 모든 파일을 다시 결합해 보겠습니다. 먼저 ‘ls’ 명령어를 사용하여 디렉터리에 있는 파일들을 확인합니다.
ls
다음으로, ‘ls’ 명령어를 다시 실행하되, 모든 PDF 파일 이름을 저장하는 데 사용합니다.
ls *.pdf >> pdf-filenames.txt
pdf-filenames.txt 파일의 내용을 Bash 변수에 할당합니다. 와일드카드 대신 변수를 사용하면, PDF 파일을 다시 결합할 때 페이지 순서를 유지할 수 있습니다.
value=$(<pdf-filenames.txt)
마지막으로, PDFtk와 $value 변수를 사용하여 파일을 결합합니다.
pdftk $value cat output recombined-document.pdf