[cups.general] Error: No %%BoundingBox: comment in header!

Ambrose Li ambrose.li at gmail.com
Sat Mar 24 20:31:15 PDT 2007


On 24/03/07, Michael Sweet <mike at easysw.com> wrote:
> Since Adobe's standards are, um, not always fully specified, you have
> to "read between the lines".  As I mentioned before, most applications
> produce a bounding box comment, it *is* required for some variants
> of the DSC (including the single page EPSF format), and it is the
> *only* widely-implemented document comment that can be used to
> properly position and scale pages when doing N-up or fit-to-page
> output.

Yes, EPS is indeed a variant (special case I would say) of DSC. But
you can't do the opposite and force EPS semantics on non-EPS DSC.

Perhaps I should summarize the points:

- DSC applies to print jobs
- EPSF does not apply to print jobs (or at least not intended for print jobs)
- %%BoundingBox specifies the bounding box, which need not (although
  it usually does) correlate to the page size
- DSC does not specify that %%BoundingBox be mandatory
- Apple's MacOSX does not generate %%BoundingBox in its print jobs
  which claim DSC compliance
- CUPS needs %%BoundingBox (and ignore other hints) to do n-up

Which means:

- Apple is not wrong (it did not violate the correct specification which is
  DSC and not EPSF)
- CUPS' reliance on %%BoundingBox rests on an assumption (that the
  bounding box must correlate to the page size) which is not necessarily
  true
- DSC-compliant jobs without %%BoundingBox exist in the real world
  and so on a practical side should be considered

> It is also required by the (still incomplete) CUPS standards
> for PostScript documents.

This is something our views about what CUPS should be diverges:
IMHO CUPS should always be able to emulate "no spooler". If
PostScript documents printed through CUPS has to be formatted
in a certain way or else rejected, or if printing completely stops until
user intervention when the printer went offline for several seconds,
then CUPS is unable to emulate "no spooler" and would be very
confusing for desktop users. I would even say this is very confusing
even for long-time Unix users (myself being one).

> If you have more complex requirements, then you'll just have to
> generate your PS/PDF output accordingly and not use the CUPS-
> provided number-up and fitplot options.

The fact that Apple now generate PostScript that actually conforms to
the DSC and that CUPS is not able to (or claims to be not able to) handle
properly points to an interoperability problem with CUPS. These are not
my "complex requirements", but a real-world situation that is valid and
will be occuring increasingly often.

In any case any extra requirements CUPS needs should not be mislabelled
as DSC requirements. The spec says "all comments are optional" and the
only requirement is that any comment used be used correctly.

-- 
cheers,
-ambrose

Gmail must die. Yes, I use it, but it still must die.
PS: Don't trust everything you read in Wikipedia. (Very Important)





More information about the cups mailing list