Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

리눅스에서 XPS 파일을 PDF로 변환하는 2가지 방법

어느 날 갑자기, 누군가 청구서를 PDF가 아닌 XPS 파일로 보내왔습니다. XPS는 Open XML Paper Specification의 약자로, 마이크로소프트가 개발한 고정 레이아웃(fixed-layout) 문서 형식입니다. 게다가 Windows 8부터는 OXPS라는 변형 형식까지 등장하면서 상황은 더욱 복잡해졌습니다. 어느 쪽이든, 운영체제에 알맞은 소프트웨어가 설치되어 있지 않으면 이런 파일을 열거나 읽는 일이 상당히 번거로울 수 있습니다. 그런 점에서 PDF야말로 훨씬 현명하고 안전한 선택이라 할 수 있습니다.

이 가이드에서는 XPS 파일을 PDF 형식으로 변환하는 두 가지 방법을 소개합니다. 변환만 해두면 사실상 어떤 기기에서든 문서를 손쉽게 열어볼 수 있습니다. 여기서는 리눅스 도구를 활용합니다. 지금부터 함께 살펴보겠습니다.

방법 1: GXPS 도구 패키지 활용하기

대부분의 최신 리눅스 배포판에는 저장소(repositoriy)에 GXPS 관련 도구가 포함되어 있습니다. 예를 들어 Fedora 25에서는 필요한 유틸리티들이 libgxps-tools 패키지로 제공되므로, 먼저 이를 설치하면 됩니다. 다른 배포판에서도 명령어가 매우 유사합니다. 많은 글에서 우분투(Ubuntu)를 예로 들지만, 저는 특별하고 독특한 존재가 되고 싶었기에(적어도 엄마께서는 항상 그렇게 불러주셨습니다) 페도라를 사용해 보겠습니다.

dnf install libgxps-tools

설치가 끝나면 xpstopdf 명령어를 실행하면 됩니다. 사용법이 무척 간단한 프로그램입니다:

xpstopdf <원본 파일> <대상 파일>

변환된 PDF 파일은 원본과 폰트가 다르게 렌더링될 수 있습니다. 무료 도구에는 XPS 파일을 만들 때 사용된 일부 상용 폰트가 포함되어 있지 않기 때문입니다. 그럼에도 불구하고 전반적으로 결과물은 충분히 읽기 좋고 깔끔하게 나옵니다.

방법 2: GhostPDL (GhostXPS) 직접 빌드하기

Ghost 도구들은 이미 낯설지 않습니다. 이전에 LaTeX, LyX 등을 테스트할 때도 사용한 바 있습니다. Ghostscript 다운로드 페이지를 살펴보면 PCL, PDF, XPS 인터프리터 및 렌더러 등 여러 도구가 있는데, 이 모든 유틸리티가 하나로 묶인 GhostPDL 번들도 제공됩니다. 저희는 모든 기능이 다 들어있는 이 번들을 받아 사용하겠습니다.

GhostPDL은 소스 코드 형태로 배포되므로 직접 컴파일해야 합니다. GitHub에서 내려받은 뒤, 먼저 압축을 풀어줍니다:

tar xvzf ghostpdl-<버전>.tar.gz

그다음 ./configure를 실행하고, 마지막으로 make all을 입력해 모든 바이너리를 빌드합니다. 원한다면 시스템에 설치할 수도 있고, 생성된 실행 파일을 원하는 디렉터리에 직접 옮겨도 됩니다. 빌드 중 오류가 발생한다면 개발 도구나 헤더 파일이 일부 누락된 것이니, 해당 패키지를 먼저 설치해 주세요. 필자의 Fedora 25 환경에서는 아무 문제 없이 순조롭게 진행되었습니다. 리눅스 명령어와 환경 설정이 익숙하지 않다면, 예전에 작성한 리눅스 기본 명령어 가이드를 참고하는 것도 좋습니다.

./configure
make all

빌드가 완료되면 압축을 푼 소스 디렉터리의 bin 하위 폴더에서 gxps 실행 파일을 찾을 수 있습니다. 사용법은 다음과 같습니다:

gxps -sDEVICE=pdfwrite -sOutputFile=file.pdf -dNOPAUSE file.xps

언뜻 복잡해 보이지만 실제로는 어렵지 않습니다. 다만 Ghostscript 문서 페이지가 방대하고 얽혀 있어 적절한 자료를 찾는 데 시간이 걸릴 수 있으니 참고하세요. 각 옵션의 의미는 다음과 같습니다.

  • -sDEVICE: 사용할 출력 장치를 지정합니다. 여기서는 PDF writer, 즉 'PDF 프린터'라고 생각하면 됩니다.
  • -sOutputFile: 이름 그대로 출력 파일 경로를 지정합니다.
  • -dNOPAUSE: 대화형 확인 절차를 비활성화하고, EOF 문자를 만나거나 Ctrl+C로 실행을 중단해도 안전하게 종료되도록 합니다.

핵심만 짚자면, 출력 파일을 먼저, 입력 파일을 나중에 지정한다는 점을 기억하세요. 원본과 비교했을 때 서식이나 폰트에 차이가 있을 수 있지만, 결과물은 상당히 유사하게 나옵니다. 이것으로 변환 작업은 끝입니다!

마치며

저는 GS(Ghostscript), LaTeX 같은 도구를 다루는 글을 좋아합니다. 이들은 그 구조가 워낙 정교하고 복잡해서 그 아름다움과 난해함 면에서는 온전한 운영체제에 필적합니다. glibc와 gcc가 하나의 거대한 세계인 것과 마찬가지입니다. 어쨌든, 이제 여러분에게는 XPS 파일을 변환할 수 있는 방법이 하나가 아니라 두 가지 생긴 셈입니다.

솔직히 이 작업은 처음에 좀 지저분한 과정이었습니다. 온라인을 한참 검색했지만 마땅한 해결책을 찾지 못했습니다. 그러다 리눅스가 구세주로 등장했습니다. 단순히 XPS 파일을 열거나 변환하기 위해 서드파티 도구를 설치하고 싶지 않다면, 리눅스는 비교적 간단하고 깔끔한 두 가지 방법을 제공합니다. 게다가 '진짜 리눅스 답게' 문제를 해결했다는 성취감과 지식까지 얻을 수 있으니 일석이조입니다. 즐겁게 변환하세요!

P.S. 홈 페이지의 PDF 아이콘은 Mimooh의 작품으로, CC BY-SA 3.0 라이선스로 제공됩니다.