[cups.general] eps printing broken

David Bishop dbishop at micron.com
Tue Jun 27 11:21:57 PDT 2006


On Tuesday 27 June 2006 10:28, Kurt Pfeifle wrote:
> David Bishop <dbishop at micron.com> wrote (Tuesday 27 June 2006 16:53):
>
>
> First off, please note that Foomatic is a third party addon to CUPS.
> It is not created by CUPS.org, but by Linuxprinting.org, and is only
> supported by Linuxprinting.org.

Ah, okay.  Well, I just grepped, and we're only using foomatic on about half 
of our 84 printers, and the problem is there whether we use foomatic or not.

> Second, it would be interesting to see the type of EPS files you are
> using, and what program produced them.

The program(s) are Undertow (a waveform viewer from Veritools) and Simvision 
(also a waveform viewer from Cadence).  I attached a sample file that views 
fine in kghostview, but prints out as a single blank page.  I also attached 
the same file after it's been ps2ps'ed.

> That said, I'll try to answer your questions...

Thank you!

<snip good info on filtering>

> IIRC, you had stated you print with foomatic-rip?
>
> Your printer's Foomatic PPD should contain a line like
>
>    *cupsFilter:  "application/vnd.cups-postscript 0 foomatic-rip"

*nod*

> which says that the pstops result will then go to the foomatic-rip
> filter.
>
> So it *seems* that "ps2ps" succeeds where "pstops" fails. My suspicion
> is that your EPS files are not really EPS spec compliant.

That is very possible.  

> What you could do:
>
>  a) define a rule that recognizes your b0rken EPS files in a
>     "my_eps.types" file as "application/vnd.my-eps"
>  b) use your "ps2ps" as the filter, that handles your new mime
>     type and produces "application/postscript", defined in
>     "my_eps.convs"

Quick note, I thought ps2ps was a 'standard' command.  If it's not, (i.e., 
it's a redhatism), it's just a shell script.  Here is all it does:

gs -q -sDEVICE=pswrite "-sOutputFile=$2" -dNOPAUSE -dBATCH -dSAFER "$1"

In fact, all it's doing is 'un-encapsulating' the postscript, right?  I guess 
here is where I admit my complete lack of postscript knowledge :-)

>  c) to succeed in using ps2ps as a cups filter, you need to
>     use a wrapper script "ps2ps.sh" that calls the real "ps2ps"
>     and that conforms to the expected behaviour of CUPS filters
>     (see "man filter").

I can do that, if needed.

> I can't tell for sure what the content for your my_eps.types file
> should be without knowing more about your EPS files.
>
> Your "my_eps.convs" would look like this:
>
>   application/vnd.my-eps application/postscript  0  ps2ps.sh
>
> This would effectivly construct a filtering chain of
>
>   EPS=application/vnd.my-eps -->                 # my_eps.types
>   --> (ps2ps.sh) --> application/postscript -->
>   --> (pstops) --> application/vnd.cups-postscript -->
>   --> (foomatic-rip) --> printer
>
> instead of your current one
>
>   EPS=application/postscript -->                 # mime.types
>   --> (pstops) --> application/vnd.cups-postscript -->
>   --> (foomatic-rip) --> printer
>
> But your problem may be much simpler... just let us see the EPS
> files that fail to print...

Absolutely.  Thanks a ton for helping me figure this out.  Cups makes printing 
so much easier than it used to be, it's almost a shock when we have an issue 
that isn't fixed by just upgrading ppds or restarting the server.

-- 
Some people remind me of slinkies.  Completely useless,
but it's fun to push them down the stairs. (Anon)

David Bishop
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_fixed.ps
Type: application/postscript
Size: 48909 bytes
Desc: not available
URL: <https://lists.cups.org/pipermail/cups/attachments/20060627/92a7ead1/attachment-0001.ps>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.ps
Type: image/x-eps
Size: 51586 bytes
Desc: not available
URL: <https://lists.cups.org/pipermail/cups/attachments/20060627/92a7ead1/attachment-0001.bin>


More information about the cups mailing list