[cups.general] eps printing broken
Helge Blischke
h.blischke at srz.de
Wed Jun 28 03:59:04 PDT 2006
David Bishop wrote:
> On Tuesday 27 June 2006 13:51, Kurt Pfeifle wrote:
>
>>David Bishop <dbishop at micron.com> wrote (Tuesday 27 June 2006 20:21):
>>
>>>>But your problem may be much simpler... just let us see the EPS
>>>>files that fail to print...
>>
>>The test.ps definitely is b0rken:
>>
>> a) not compliant to DSC specification ("Document Structuring Conventions")
>> b) not compliant to EPS specification
>>
>>You can find the specs here:
>>
>> http://partners.adobe.com/public/developer/ps/index_specs.html
>>
>>Quotes from my 5001.DSC_Spec.pdf file:
>> "DSC comments are specified by two percent characters (%%) as the first
>> characters on a line (no leading white space)."
>
>
> I'll forward that link to our vendors. Oh, how I wish there was no such thing
> as proprietary software. Didn't Stallman's original "itch" have to do with
> printing?
>
>
>>One EPS-required DSC-comment is "%%BoundingBox", but that appears as
>>"%BoundingBox" (single percent sign only).
>>
>>
>>>Absolutely. Thanks a ton for helping me figure this out.
>>
>>On 2 PostScript printers near me the b0rken file still prints with "-o
>>raw":
>>
>> lp -d printername -o raw test.ps
>>
>>Not sure if you do have PostScript printers?
>
>
> We use almost exclusively PostScript printers. Mainly HPs with JetDirect
> cards. The only exceptions are some huge Canon copy/scanner/printer/fax/dog
> walking machines. Sending that file in raw mode worked on an HP LaserJet
> 8150N, but did *not* work on a 5Si (on the 5Si, it didn't do anything at
> all). So I'll probably end up putting the ps2ps filter in place, at least
> until our vendors fix their crap. By the way, would you happen to have an
> example of an eps file that works? I'd like to show the PHBs that eps
> printing works, if we could just feed it right.
>
> Again, thanks for the help.
The following Perl script should convert it into a DSC conformant EPS:
---snip---
#!/usr/bin/perl -w
if (scalar @ARGV) == 6)
{
$input = $ARGV[5]; # input file name given
open (INPUT, "$input") || die ("ERROR: $input: $!\n");
}
elsif (scalar §ARGV == 5)
{
open (INPUT, "<&STDIN") || die ("ERROR: dup STDIN: $!\n");
}
while (<INPUT>)
{
if (/^\s*%/)
{
# comment line, possibly needs to be modified
s/\s*%BoundingBox/%%BoundingBox/;
s/^\s+%%/%%/;
}
print;
}
exit 0;
---snip---
this script (untested, but should work out of the box) may be directly
used as a CUPS filter.
Helge
PS: BTW, your EPS as well as the modied one (according to the above rules) both
printed at our site (CUPS 1.1.19, but with the alternate pstops filter).
--
Helge Blischke
Softwareentwicklung
SRZ Berlin | Firmengruppe besscom
http://www.srz.de
More information about the cups
mailing list