1. Introduction to Printing in the Oracle Solaris Operating System
2. Planning for Printing (Tasks)
3. Setting Up Network Printing Services (Tasks)
4. Setting Up and Administering Printers by Using Solaris Print Manager (Tasks)
5. Setting Up Printers by Using LP Print Commands (Tasks)
6. Administering Printers by Using LP Print Commands (Tasks)
7. Customizing LP Printing Services and Printers (Tasks)
8. Administering the LP Print Scheduler and Managing Print Requests (Tasks)
9. Administering Printers on a Network (Tasks)
10. Administering Character Sets, Filters, Forms, and Fonts (Tasks)
Administering Character Sets (Task Map)
Alerts for Mounting Print Wheels or Font Cartridges
How to Define a Print Wheel or Font Cartridge
How to Unmount and Mount a Print Wheel or Font Cartridge
How to Set an Alert to Mount a Print Wheel or Font Cartridge
How to Set Up an Alias for a Selectable Character Set
Administering Print Filters (Task Map)
Writing a Print Filter Program
Handling Special Printing Modes
Requirements for a Print Filter Program
Creating a Print Filter Definition
lpfilter Output Types Argument
lpfilter Printer Types Argument
Defining Print Filter Options With Templates
How to Create a New Print Filter
Administering Forms (Task Map)
How to Create a New Printer Form Definition
Adding, Changing, or Deleting Forms
How to Unmount and Mount a Form
Defining Alerts for Mounting Forms
How to Set an Alert to Mount a Form
How to View Information About a Form
How to View the Current Status of a Form
How to Limit User Access to a Form
How to Limit Printer Access to a Form
Administering Fonts (Task Map)
Managing Printer-Resident Fonts
Downloading Host-Resident Fonts
Installing and Maintaining Host-Resident Fonts
How to Install Downloaded PostScript Fonts
How to Install Host-Resident PostScript Fonts
11. Administering Printers by Using the PPD File Management Utility (Tasks)
12. Printing in the Oracle Solaris Operating System (Reference)
13. Troubleshooting Printing Problems in the Oracle Solaris OS (Tasks)
Print filters are programs that convert the content type of a file to a content type that is acceptable to the destination printer.
The LP print service uses filters to complete the following tasks:
Convert a file from one data format to another format so that it can be printed properly on a specific type of printer
Handle the special modes of printing, such as two-sided printing, landscape printing, draft-quality, and letter-quality printing
Detect printer faults and notify the LP print service, so that the print service can alert users and system administrators
Not every print filter can perform all these tasks. Because each task is printer-specific, the tasks can be implemented separately.
The LP print service provides the PostScript filters listed in Table 10-3. The filter programs are located in the /usr/lib/lp/postscript directory. For PostScript printing, you usually only need to install the filter programs when setting up a print server. Solaris Print Manager automatically enables the supplied filters. However, if you administer other printers, you might need to administer print filters for them.
To create a new print filter, you must write a print filter program and create a print filter definition. Filters contain input types, output types, and complex options that provide a language to process command-line arguments within the filter. For more information and step-by-step instructions, see Creating a New Print Filter.
Print filters are added, changed, deleted, or restored on the print server only.
You can use the lpfilter command to manage the list of available filters. System information about filters is stored in the /etc/lp/filter.table file. The lpfilter command gets the information about filters to write to the table from filter descriptor files. The filter descriptor files that are supplied (PostScript only) are located in the /etc/lp/fd directory. The actual filter programs are located in the /usr/lib/lp directory.
The LP print service imposes no fixed limit on the number of print filters you can define. You can remove filters that are no longer used to avoid extra processing by the LP print service. (LP examines all filters to find a filter that works for a specific print request.) If in doubt, do not remove a filter.
As you add, change, or delete filters, you can overwrite or remove some of the original filters provided by the LP print service. You can restore the original set of filters, if necessary. You can also remove any filters you have added.
SunOS software provides a default set of PostScript filters. Solaris Print Manager automatically adds these filters to a print server. Some of the TranScript filters used with LPD-based print services have SunOS equivalents, but other TranScript filters do not. The following table lists the default PostScript filters and identifies the equivalent TranScript filters, where applicable.
Table 10-3 Default PostScript Filters
|
The SunOS software does not provide the following filters:
TEX
oscat (NeWSprint opost)
Enscript
The postreverse, postprint, postio, and dpost filters are provided in place of Enscript.
Solaris Print Manager adds the default PostScript filters to a print server. If you have printing needs that are not met by these filters, see How to Create a New Print Filter. This section provides information about writing a custom print filter.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
# lpfilter -f filter-name -F filter-definition
Specifies the name you choose for the print filter.
Specifies the name of the print filter definition.
For more information, see the lpfilter(1M) man page.
The print filter is added in the print server's /etc/lp/filter.table file.
# lpfilter -f filter-name -l
Example 10-9 Adding a Print Filter
The following example shows how to add the daisytroff print filter that has the daisytroff.fd print filter definition.
# lpfilter -f daisytroff -F /etc/lp/fd/daisytroff.fd
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
# lpfilter -f filter-name -x
Specifies the name of the print filter to be deleted.
Deletes the specified filter.
The print filter is deleted from the print server's /etc/lp/filter.table file.
# lpfilter -f filter-name -l
You should receive an error indicating that no filter by the specified name exists.
Example 10-10 Deleting a Print Filter
The following example shows how to delete the daisytroff print filter.
# lpfilter -f daisytroff -x
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
# lpfilter -f filter-name -l
Specifies the print filter for which you want to view information. Specify all for filter-name to view information about all available print filters.
Displays information about the specified filter.
Information about the specified print filter or filters is displayed.
Example 10-11 Viewing Information About a Print Filter
This example shows how to request information for the postdaisy print filter. Sample command output follows.
# lpfilter -f postdaisy -l Input types: daisy Output types: postscript Printer types: any Printers: any Filter type: slow Command: /usr/lib/lp/postscript/postdaisy Options: PAGES * = -o* Options: COPIES * = -c* Options: MODES group = -n2 Options: MODES group\=\([2-9]\) = -n\1 Options: MODES portrait = -pp Options: MODES landscape = -pl Options: MODES x\=\(\-*[\.0-9]*\) = -x\1 Options: MODES y\=\(\-*[\.0-9]*\) = -y\1 Options: MODES magnify\=\([\.0-9]*\) = -m\1
Example 10-12 Viewing Information About All Print Filters on a System
This example shows how to display all the print filters that have been added to the system. Sample command output follows.
# lpfilter -f all -l | grep Filter (Filter "download") Filter type: fast (Filter "postio") Filter type: fast (Filter "postior") Filter type: fast (Filter "postreverse") Filter type: slow
Example 10-13 Redirecting Information About a Print Filter
This example shows how to redirect information about the daisytroff filter to a file. This task is useful if a filter definition is removed unintentionally.
# lpfilter -f daisytroff -l > daisytroff.fd