HP 5100tn Printer Job Language - Technical Reference Manual - Page 203

Determining If Printer, Status Readback is, Available

Page 203 highlights

The other primary use for printer status readback is to allow applications to monitor the state of the printer. In particular, applications can inform the user when the printer requires intervention (e.g. fill paper trays). If the application enables unsolicited PJL device status, the printer will inform the application whenever the printer's status changes. Since the printer informs the application using unsolicited status, even when the printer is processing a print job from a different I/O interface, the application gets timely printer status information. If printer status readback is unavailable, the application will not be able to provide the user with current printer state information. Another use for printer status readback is to determine what volatile resources (e.g. soft fonts) are available in the printer right before a print job is sent to the printer. If an application optimizes the printer job using printer status readback (i.e. does not send soft fonts if the printer already has the font), then if printer status readback is unavailable, the application should assume worst case (i.e. the font is not in the printer) when generating print jobs. In summary, the application should be designed to take advantage of printer status readback, if available, but still function if it is unavailable. Determining If Printer Status Readback is Available If the application sends a PJL ECHO command (preceded by the Universal Exit Language command, of course) to the printer and receives the expected response, then the application can assume bi-directional communication with the printer is available and supported solicited status queries will be answered in a timely fashion. However, under some conditions the application will send, or attempt to send, a PJL ECHO command and not receive a timely response because of one of two reasons: the printer may not be accepting data (due to the printer processing a print job from a different I/O interface or the printer being off-line), or the printing system does not support printer status readback to the application. If the application does Programming Tips 10-23

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309

The other primary use for printer status readback is to
allow applications to monitor the state of the printer. In
particular, applications can inform the user when the
printer requires intervention (e.g. fill paper trays). If the
application enables unsolicited PJL device status, the
printer will inform the application whenever the printer’s
status changes. Since the printer informs the application
using unsolicited status, even when the printer is
processing a print job from a different I/O interface, the
application gets timely printer status information. If
printer status readback is unavailable, the application will
not be able to provide the user with current printer state
information.
Another use for printer status readback is to determine
what volatile resources (e.g. soft fonts) are available in the
printer right before a print job is sent to the printer. If an
application optimizes the printer job using printer status
readback (i.e. does not send soft fonts if the printer already
has the font), then if printer status readback is unavailable,
the application should assume worst case (i.e. the font is
not in the printer) when generating print jobs.
In summary, the application should be designed to take
advantage of printer status readback, if available, but still
function if it is unavailable.
Determining If Printer
Status Readback is
Available
If the application sends a PJL ECHO command (preceded
by the Universal Exit Language command, of course) to the
printer and receives the expected response, then the
application can assume bi-directional communication with
the printer is available and supported solicited status
queries will be answered in a timely fashion.
However, under some conditions the application will send, or
attempt to send, a PJL ECHO command and not receive a
timely response because of one of two reasons: the printer
may not be accepting data (due to the printer processing a
print job from a different I/O interface or the printer being
off-line), or the printing system does not support printer
status readback to the application. If the application does
Programming Tips
10-23