| 238 | */ |
| 239 | |
| 240 | static void |
| 241 | dsc_header(int num_pages) /* I - Number of pages or 0 if not known */ |
| 242 | { |
| 243 | const char *job_name = getenv("IPP_JOB_NAME"); |
| 244 | /* job-name value */ |
| 245 | |
| 246 | |
| 247 | #if !CUPS_LITE |
| 248 | const char *job_id = getenv("IPP_JOB_ID"); |
| 249 | /* job-id value */ |
| 250 | |
| 251 | ppdEmitJCL(ppd, stdout, job_id ? atoi(job_id) : 0, cupsUser(), job_name ? job_name : "Unknown"); |
| 252 | #endif /* !CUPS_LITE */ |
| 253 | |
| 254 | puts("%!PS-Adobe-3.0"); |
| 255 | puts("%%LanguageLevel: 2"); |
| 256 | printf("%%%%Creator: ippeveps/%d.%d.%d\n", CUPS_VERSION_MAJOR, CUPS_VERSION_MINOR, CUPS_VERSION_PATCH); |
| 257 | if (job_name) |
| 258 | { |
| 259 | fputs("%%Title: ", stdout); |
| 260 | while (*job_name) |
| 261 | { |
| 262 | if (*job_name >= 0x20 && *job_name < 0x7f) |
| 263 | putchar(*job_name); |
| 264 | else |
| 265 | putchar('?'); |
| 266 | |
| 267 | job_name ++; |
| 268 | } |
| 269 | putchar('\n'); |
| 270 | } |
| 271 | if (num_pages > 0) |
| 272 | printf("%%%%Pages: %d\n", num_pages); |
| 273 | else |
| 274 | puts("%%Pages: (atend)"); |
| 275 | puts("%%EndComments"); |
| 276 | |
| 277 | #if !CUPS_LITE |
| 278 | if (ppd) |
| 279 | { |
| 280 | puts("%%BeginProlog"); |
| 281 | if (ppd->patches) |
| 282 | { |
| 283 | puts("%%BeginFeature: *JobPatchFile 1"); |
| 284 | puts(ppd->patches); |
| 285 | puts("%%EndFeature"); |
| 286 | } |
| 287 | ppdEmit(ppd, stdout, PPD_ORDER_PROLOG); |
| 288 | puts("%%EndProlog"); |
| 289 | |
| 290 | puts("%%BeginSetup"); |
| 291 | ppdEmit(ppd, stdout, PPD_ORDER_DOCUMENT); |
| 292 | ppdEmit(ppd, stdout, PPD_ORDER_ANY); |
| 293 | puts("%%EndSetup"); |
| 294 | } |
| 295 | #endif /* !CUPS_LITE */ |
| 296 | } |
| 297 |
no test coverage detected