Note: it is recommended that the order of the receive-control-file
subcommand and the receive-data-file sub-command be configurable
because either order fails for some print systems. Some print systems
assume that the control file follows all data files and start
printing immediately on receipt of the control file. When such a
print system tries to print a data file that has not arrived, it
produces an error. Other print systems assume that the control file
arrives before the data files and start printing when the first data
file arrives. Such a system ignores the control information, such as
banner page or copies.
NOTE: This specification does not define the mapping between the IPP
printer-uri and the LPD printer-name.
The mapper SHALL send the IPP operation attributes and job template
attributes received from the operation to the LPD printer by using
the LPD receive-control-file sub-command. The mapper SHALL create the
LPD job-number for use in the control file name, but the receiving
printer MAY, in some circumstances, assign a different job-number to
the job. The mapper SHALL create the IPP job-id and IPP job-uri
returned in the Print-Job response.
NOTE: This specification does not specify how the mapper determines
the LPD job-number, the IPP job-id or the IPP job-uri of a job that
it creates nor does it specify the relationship between the IPP job-
uri, IPP the job-id and the LPD job-number, both of which the mapper
creates. However, it is likely that the mapper will use the same
integer value for both the LPD job-number and the IPP job-id, and
that the IPP Job-uri is the printer's URI with the job-id
concatenated on the end.
The mapper SHALL send data received in the IPP operation to the LPD
printer by using the LPD receive-data-file sub-command. The mapper
SHALL specify the exact number of bytes being transmitted in the
number-of-bytes field of the receive-data-file sub-command. It SHALL
NOT use a value of 0 in this field.
If the mapper, while it is transmitting a receive-a-printer-job
command or sub-command, either detects that its IPP connection has
closed or receives a Cancel-Job operation, the mapper SHALL terminate
the LPD job either with the abort sub-command or the remove-jobs
command.
This document does not address error code conversion.
RFC 2569 Mapping between LPD and IPP Protocols April 1999
5.2 Print-URI
The mapper SHALL handle this operation in the same way as a Print-Job
operation except that it SHALL obtain data referenced by the
"document-uri" operation attribute and SHALL then treat that data as
if it had been received via a Print-Job operation.
5.3 Validate-Job
The mapper SHALL perform this operation directly. Because LPD
supports very few attributes, this operation doesn't have much to
check.
5.4 Create-Job
The mapper SHALL handle this operation like Print-Job, except:
- the mapper SHALL send the control file after it has received the
last Send-Document or Send-URI operation because the control
file contains all the document-name and document-format values
specified in the Send-Document and Send-URI operations.
- the mapper SHALL perform one receive-data-file sub-command for
each Send-Document or Send-URI operation received and in the
same order received.
- the mapper SHALL send the control file either before all data
files or after all data files. (See the note in the section on
Print-Job about the dilemma of sending the control file either
before or after the data files.
5.5 Send-Document
The mapper performs a receive-data-file sub-command on the received
data. See the preceding section 5.4 "Create-Job" for the details.
5.6 Send-URI
The mapper SHALL obtain the data referenced by the "document-uri"
operation attribute, and SHALL then treat that data as if it had been
received via a Send-Document operation. See the preceding section 5.5
"Send-Document" for the details.
5.7 Cancel-Job
=10= |