You are on page 1of 3

CREATING SOLARIS PCL FILTERS

In some of the more recent versions of the Solaris Distribution, there is no longer a PCL
filter included. When attempting to print a PCL file, the following error will be returned:
UX:lp: ERROR: There is no filter to convert the file content.
TO FIX: Use the lpstat -p -l command to find a printer that can handle the file type
directly, check your filters using lpfilter -f all -l, orconsult with your system administrator.

This whitepaper will outline the steps to perform in creating a Solaris print queue on a
generic Solaris system that is NOT using JetAdmin from HP or CUPS print services for use
with Banner AND FormFusion.
You can also look up more information on setting up filters and print queues from :
http://developers.sun.com/solaris/articles/basicprinting.html

Important Note: The following steps need to be performed as user "root" on your Solaris
system.
1. CD to a directory called /opt/local/bin using:
cd /opt/local/bin
2. If this directory does not exist please create it. Also, if you have to create it yourself,
make sure the permissions on this directory are 755.

3. From the /opt/local/bin directory create a file called "pcl.sh" and place the following lines
in the file:
#!/bin/ksh
#
echo "^[&k2G"
cat # end of file
**IMPORTANT NOTE: ^[ in this file is a symbol for the "escape" character. This can be
created in a "vi" session by holding down the control key and pressing V, and THEN
pressing the Escape Key on your keyboard. You cannot cut and paste this from this
document.
4. After creating the pcl.sh file you will then need to make sure it has 755 permissions on it
by typing:
chmod 755 pcl.sh

CREATING SOLARIS PCL FILTERS

5. cd to the /etc/lp/fd directory by typing:


cd /etc/lp/fd
6. Create a file called "pcl.fd" and place the following lines in it. Be careful to preserve all
spaces in this file.
Input types: any
Output types: pcl
Printer types: any
Printers: any
Filter type: slow
Command: /opt/local/bin/pcl.sh

7. Register the filter with the lp subsystem by typing:


lpfilter -f pcl -F /etc/lp/fd/pcl.fd

8. Create a print queue by typing:


lpadmin -p printqueue -o protocol=tcp,dest=192.168.0.1:9100 -v /dev/null -m netstandard -T
unknown -I pcl
(where "printqueue" is the name of the print queue AND where 192.168.0.1:9100 = the ip
address of the printer and the port it is using for printing. Typically, this is port 9100 )
9. Enable the print queue by typing:
enable printqueue
(where "printqueue" is the name of the print queue)
10. Now tell the lp print service to accept jobs to this print queue by typing:
accept printqueue
(where "printqueue" is the name of the print queue)

CREATING SOLARIS PCL FILTERS

NOTES:
A. At this point to create additional print queues you can just do steps 8-10.
B. You will most likely want to make sure you are using the Korn-Shell by typing "ksh"
before typing "enable printqueue" and "accept printqueue". These commands require you
to be using the Korn-Shell before they will run correctly.
C. You can see the IP addresses that the various printers are using by cd'ing into the
appropriate "/etc/lp/printers/printqueuename" directory (where "printqueuename" is the
name of a valid print queue on your system) and then looking at the file called
"configuration".
D. You can remove a print queue by typing "lpadmin -x printqueuename"

You might also like