next up previous
Next: PC 쪽의 파일을 UNIX Up: 삼바의 활용 방안 Previous: PC 쪽의 네트웍 프린터

고스트스크립트와 연동한 인쇄 방법

때로는 포스트스크립트가 지원되지 않는 프린터를 이용하여 포스트스크립트 파일을 인쇄할 필요성이 생기는 경우가 있다. 특히 윈도즈 95에 달랑 매달려있는 컬러를 지원하는 잉크 젯 프린터로 워크스테이션 파일 시스템쪽에 담겨있는 포스트스크립트 파일을 출력해야 할 경우 겪었던 쓰라린 경험을 누구나 한번쯤은 가지고 있을 것이다. 이제 삼바와 고스트스크립트를 동시에 사용하여 이런 골치아픈 문제를 해결하는 방법을 소개한다.

삼바가 설치되었다면, 삼바 서버가 동작할 동일 호스트에 고스트스크립트도 존재하는지 지역 관리자에게 물어본다. 만일 삼바가 설치될 호스트에 고스트스크립트가 없다면 다음 URL을 참조하여 최신 버전의 고스트스크립트 패키지를 공수해서 직접 컴파일하여 시스템에 설치한다. 여기서 프린터가 달려있는 윈도즈 PC에 고스트스크립트를 설치하는 것이 아니라 삼바가 동작할 워크스테이션에 고스트스크립트를 설치해야 한다는 사실을 노파심에서 다시 한번 강조한다.

http://www.cs.wisc.edu/~ghost/

이글은 고스트스크립트 설치에 관련된 문서가 아니므로, 설치에 필요한 각종 세부적인 절차는 생략하고 네트웍 인쇄를 위한 설정으로 바로 넘어가도록 한다.

삼바가 정상적으로 동작하고 고스트스크립트도 정상적으로 동작한다면, PC에 물려있는 프린터 디바이스 이름을 알아낸다. 다음은 몇가지 많이 사용되는 디바이스에 대한 심볼 이름이다. 아래 표에 나와있지 않은 프린터를 가지고 있다면, 메뉴얼을 참조하여 호환 모드를 알아낸 다음 이를 이용하여 심볼 이름을 결정한다.

  table101
Table: 고스트스크립트 4.01에서 지원하는 각종 프린터 디바이스 이름

심볼 이름을 결정했다면, 이제 다음에 소개할 간단한 C 쉘 스크립트를 환경에 맞추어 각자 고치도록 한다.

--------------------- gslpr -----------------------------------------------
#!/bin/csh

# This is a sample ghostscript formatter for Samba network printers.
#
# Written by Park, JaeHo (Dept. CSE at POSTECH)
# Copyright (C) 1996 by Park, JaeHo

# You must change the -r, -sDEVICE, -sPAPERSIZE -sOUTPUTFILE options
# before installation.

# -r defines resolution
# -sDEVICE defines printing device
# -sPAPERSIZE defines a4
# -q means "quite"
# -sOUTPUTFILE defines the output file

gs -r300dpi -sDEVICE=cdj550 -sPAPERSIZE=a4 -q -sOUTPUTFILE=\|slpr $1 <<^

quit
^
---------------------------------------------------------------------------

고쳐야 할 대상은 gs 뒤의 선택사양 부분이다. 특히 sDEVICE와 sOUTPUTFILE은 반드시 고쳐야 한다. sDEVICE에는 앞서 결정한 프린터의 심볼 이름을 넣고, sOUTPUTFILE에는 삼바를 경유하여 인쇄하도록 설정된 프린터 필터 이름을 넣는다. (일례로 smbprint를 사용할 경우 프린터 필터가 lpr로 되며, slpr 쉘 스크립트를 사용할 경우 프린터 필터가 slpr로 된다.) 여기서 표준 출력 기호인 | 앞에 붙은 탈출 문자인 \를 잊지말도록 한다. gs의 명령행에서 선택사양 q는 반드시 들어있어야 한다. q가 빠지면 프린터가 오동작을 일으키거나, gs가 시동될 때의 초기 메세지로 종이 한장을 그냥 낭비하게 될 가능성이 있다 (독자를 위한 힌트: << 기호를 사용하여 gs에 quit 명령을 간접적으로 내리는 트릭에 주목하라.).

이 시점에서 포스트스크립트 형식의 파일을 하나 골라 시험 인쇄를 한다. 컬러가 들어있는 호랑이 그림 (/usr/local/lib/ghostscript/examples/tiger.ps)이 좋은 예가 될 것이다. 만일 삼바가 바르게 동작함에도 불구하고 몇분동안 프린터에 반응이 없으면, 문제가 생긴 것이다. 이럴때는 이 단원 및 gs (1)의 메뉴얼 페이지를 차근차근 읽어보고, 그래도 해결이 안되면 /usr/local/lib/ghostscript/doc 밑의 각종 문서를 읽어보도록 한다.

일반적으로 포스트스크립트 파일을 비포스트스크립트 프린터에서 사용할 파일로 변환하면 그 크기가 매우 커지므로, 버어클리 표준 lpr 명령을 사용하게 되면 스풀을 제대로 못할 경우가 생긴다. 이럴 경우, 프린터를 연결하는 PC쪽에서 스풀을 수행하는 slpr 쉘 스크립터를 사용하기 바란다.

고스트스크립터가 복잡하고 사용하기 어렵다고 생각되면, 포스트스크립트 레벨 2 엔진을 갖춘 프린터를 이번 기회에 새로 하나 장만하기 바란다.



박재호
1999년2월26일 (금), 오후 3시9분25초