티스토리 뷰

작성자: 롭 레일리, 2004년 6월 15일
번역자: 운영자, 2004년 6월 23일
원문: View PDFs with a browser using pdftohtml


수화기를 드니 저쪽에서 목소리가 들려왔다.

"롭, 좀 도와줄 수 있겠어? PDF 파일을 읽을 수가 없어."

베버리 힐에서 변호사를 하고 있는 동생이었다. 1MB PDF 파일을 웹 기반 이메일 클라이언트에서 받았는데 어떻게 다운로드를 하고 어떻게 읽어야할지를 모르겠다는 것이었다. 더욱이 그는 아크로벳 리더도 설치하지 않은 상태였다. 문서 하나 읽는 데 뭐가 이리 골치아프냐며 우리 둘은 아크로뱃에 대해 투덜거렸다. 얼마 지나지 않아 필자는 이 골치아픈 문제를 아주 속시원하게 해결하는 방법을 발견했다. 별로 알려지지 않은 프로그램 pdftohtml 덕분이었다.

pdftohtml은 일반 .pdf 파일을 .png 파일과 각각의 HTML 파일을 가리키는 인덱스들로 변환한다. 그리고 최종적으로 이 모든 것들을 하나의 편리한 메인 HTML 파일로 묶는 것이다. 그 메인 HTML 파일은 어느 브라우저에서나 볼 수 있고 각각의 페이지를 보려면 해당 링크를 클릭하면 된다.

pdftohtml을 사용하려면 우선 그 소프트웨어의 tar.gz 파일(http://sourceforge.net/projects/pdftohtml/ )을 다운로드해서 설치한다(역주- 윈도우즈 바이너리도 있다). 현재 가장 최신 버전은 0.36이다. 필자는 수세 리눅스 8.2 프로페셔널 버전을 랩탑에서 사용하는데 수세 CD에서 YAST2를 사용해 pdftohtml 버전 0.35-22를 설치했다.

pdftohtml로 작업하기

pdftohtml은 명령행에서 옵션을 주어 실행시키는 방식이다. 기본 명령 방식은 다음과 같다.

rreilly> pdftohtml [pdf file name]

이렇게 명령을 주면 간단한 HTML 파일을 만든다. 해당 PDF 파일의 텍스트 내용을 읽고 복사할 수 있는 정도다. 여러분은 브라우저에서 텍스트를 긁어 다른 애플리케이션에 붙일 수 있다. PNG 파일은 전혀 만들지 않기 때문에 그래픽은 하나도 보이지 않는다. 어도브 파일에서 텍스트만 축출하는 데는 아주 유용하게 쓰일 수 있다.

그래픽을 보고 싶으면 -c (complex) 옵션을 사용하면 된다.

rreilly> pdftohtml -c [pdf file name]

이렇게 옵션을 주면 각각의 HTML 파일들을 만든다. PDF 파일의 각 페이지들에 HTML 파일들이 하나씩 배정되고 PNG 파일들이 링크된다. 원 PDF 파일에 있던 그래픽들을 브라우저에서 볼 수 있고 텍스트 또한 잘라서 붙일 수 있다. 이렇게 -c 옵션으로 만든 HTML과 PNG 파일의 총 용량은 원 PDF 파일 용량과 대충 비슷하다.

필자는 OpenOffice.org 임프레스에서 만든 PDF 파일을 포함해서 다양한 파일을 가지고 pdftohtml을 적용시켜 보았다. 결과적으로 썩 좋은 변환 품질을 보여주었고 컬러도 처리해주었다.

하지만 그냥 지나칠 수 없는 아쉬운 점들도 있었다.

- 원 PDF 파일의 텍스트와 그래픽 품질이 나쁘다면 (스캔한 페이지 등) 결과로 생성된 웹 페이지의 품질도 나빠 내용을 알아볼 수 없을 수도 있다. 이 문제를 해결하는 한 가지 방법은 생성된 PNG 파일을 Gimp로 불러 콘트라스트를 조정하는 것이다. 또한 몇몇 내장 확장 필터를 사용해볼 수도 있다.

- 다른 제한점은 pdftohtml 변환기가 기본으로 PNG 파일을 1.5배 크게 만든다는 것이다. 그래서 변환한 임프레스 슬라이드는 브라우저에서 한눈에 보기에 너무 커서 전체 슬라이드를 보려고 상하좌우로 스크롤을 해야했다. 모질라 1024x768 해상도 세팅에서 그랬다! 이건 쉽게 처리할 수 있다. 명령을 줄 때 줌(zoom)을 1.0으로 설정하면 된다.

rreilly> pdftohtml -c -zoom 1.0 [pdf file name]

- 변환된 자료의 포맷이 원 PDF와는 세세한 부분에서 약간 다르다. 줄 간격이 좀더 벌어져 있거나 글꼴이 기본 글꼴로 변환되어 있는 경우가 있다. 모질라(버전 1.6)는 생성된 HTML과 PNG 파일을 아주 잘 보여주는 것 같다. 동일한 웹 페이지를 컹커러 3.3.1로 보았을 때는 상황이 달랐다. 아마도 버전이 올라가면 좀 더 잘 보여줄 것 같다.

- pdftohtml은 변환 작업에 다소 시간을 요구한다. 특히 페이지가 많은 PDF 파일이고 -c 옵션을 사용할 때 그렇다. 필자의 구형 300MHz 랩탑에서 60페이지 PDF 문서를 HTML과 PNG 그래픽으로 변환하는 데 거의 5분이 걸렸다.

이 밖에도 여러 명령행 옵션이 있으니 한번 시도해보기 바란다. 예를 들면 -noframes, -nomerge 등이 있다. 옵션 목록을 보고 싶으면 옵션을 주지 말고 그냥 pdftohtml이라고만 입력하면 된다.

변환된 페이지를 웹 서버에 올리기

이제 우리는 PDF 파일에서 HTML과 PNG 파일을 만들었다. 마지막 단계는 그것들을 서버에 올려 다른 이들이 볼 수 있게 하는 것이다.

파일을 ISP 웹 서버에 보낼 때는 그냥 gftp나 다른 FTP 프로그램을 사용하여 HTML과 PNG 파일을 올릴 수 있다.

필자는 필자의 랩탑에서 웹에 연결되어 있는 아파치 서버로 그 파일들을 복사하는 데 scp를 사용했다. 조금 번거롭다고 느낄 수도 있겠지만 필자는 타이핑을 즐기니 별 문제없다.

웹 서버에 디렉토리 구조도 만들었다. 각각의 디렉토리 이름은 원 PDF 파일 이름을 따랐다. 다른 여러 문서들도 변환해야 할 일이 있을 것이라는 생각 때문이었다. pdftohtml은 무조건 PDF 파일 이름을 따라 변환된 파일들에 이름을 붙인다. 변환된 파일들을 모두 한 디렉토리에 집어넣을 수도 있겠지만 그럴 경우 금방 혼란스러워 질 것이다. 한 문서 당 하나의 변환 디렉토리를 할당한다면 관리하기에 훨씬 쉽다. 정말 편하게 하려면 HTML 메뉴 문서를 재빨리 작성해서 그 URL을 사용자에게 전달할 수 있다.

해결된 문제

내 동생의 PDF 파일을 그가 읽을 수 있는 형태로 만드는 데는 그리 많은 작업이 필요치 않았다. 조금만 손을 쓰면 가끔 도움을 받을 수 있는 방법이다. 정리하자면,

동생은 파일을 내려받는 데 전혀 신경 쓸 필요가 없었다. 필자가 해당 URL을 그에게 메일로 알려주었다.
그는 메일 계정의 용량 제한에도 신경 쓸 필요가 없다.

매 페이지가 HTML과 PNG이기 때문에 동생은 아주 경쾌하게 브라우저로 불러들여 원하는 대로 페이지를 하나씩 살펴볼 수 있었다.

결국 그는 자신의 윈도우즈 XP 박스를 아크로뱃 리더에게서 영향을 받지 않는 자유롭고 깨끗한 영역으로 남겨둘 수 있었다.

롭 레일리는 전문 기술 기고가이자 컨설턴트로 여러 리눅스 미디어 아울렛에 기사를 기고하고 있다. 전문적인 글을 쓰거나 리눅스 데스크탑 애플리케이션, 휴대형 컴퓨팅, 프리젠테이션 기술에 관해 세미나 서비스를 제공하기도 한다. 주된 관심은 유익한 리눅스 이야기를 쓰는 데 있다. robreilly AT earthlink.net 으로 메일을 보내거나 그의 홈페이지(http://home.earthlink.net/~robreilly)를 방문할 수 있다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크