Re: CUPS filter pstopcl without rasterisation (vector only)?
Till Kamppeter <[email protected]> Thu, 14 Apr 2005 18:28:53 +0200
| Newsgroups | gmane.linux.mandrake.cooker.devel,gmane.linux.printing.general |
|---|---|
| Message-ID | <[email protected]> |
It is really strange, PCL-5e printers exist for years and many
GhostScript drivers for PCL 5e were written (GhostScript's "ljet4", HP's
HPIJS, Gimp-Print, the "rastertohp" filter of CUPS, IBM's Omni), but all
these drivers are raster drivers. No one has written a vector driver for
PCL 5e. For PCL 6/XL there exists a vector driver for long time already:
the "pxlmono"/"pxlcolor" in GhostScript. And one cannot simply say that
PCL 5e is obsolete because of the existence of PCL 6/XL. There are still
many printers produced which do only PCL 5e, and except the speed they
usually work well with free software.
Anyone here on the list wants to volunteer writing a vector driver for
PCL 5e and PCL 5c (color)?
Note that there is no vector driver API in CUPS, CUPS filters usually
convert the CUPS raster format (produced by GhostScript with the "cups"
device) into the printer's native language. Up to now vector drivers
only exist as drivers compiled into GhostScript. A CUPS filter has to
convert PostScript directly to the printer's language here, usually by
calling GhostScript. Example filters here are foomatic-rip and pstopxl,
both in the /usr/lib/cups/filter/ directory, the latter only available
beginning from Mandriva LE 2005 (in ESP GS 8.15.x, the ghostscript-8.15
RPM package).
For now one should check whether the printer in question understands PCL
6/XL or PostScript and use the "pxlmono"/"pxlcolor" drivers or the
original PostScript PPD of the manufacturer.
Till
Aleksander Adamowski wrote:
> Hi!
>
> I've been extensively playing with CUPS lately (I'm admining a central
> CUPS server in a large company), on Mandrake Linux and SuSe.
>
> I've noticed that there exist no CUPS filters that would convert
> PostScript data to _vector_ PCL data.
> Is that correct?
>
> I can see that the conversion path that CUPS server chooses for PCL-only
> printers is always pstoraster -> rastertohp.
> So it first rasterizes a vector PostScript job to a bitmap, and then
> prepares a PCL job containing a bitmap. Then submits this large raster
> job to a printer.
>
> This makes it virtually impossible to print in high resolutions on some
> PCL printers (the job doesn't fit in their memory and is plainly
> dropped), and in other cases makes the job progress very slowly.
>
> I also have a problem with setting up a non-standard printer because of
> this.
>
> It's an Oce VarioPrint 2065 printing system, a large multi-function
> heavy duty printing machine:
> http://www.oce.com/en/Products/Printers-copiers-plotters/Black+and+white/General+office/VP2045-55-65/default.htm
>
>
> It has only a PCL5 interpreter installed, because PostScript is an
> option (expensive, I suppose).
>
> I've modified the PPD for it (attaching). It works in CUPS, but it
> converts vector PostScript to raster, and ends up quite ugly on paper
> (low resolution, I'm not sure why, possibly foomatic-rip ignores the
> 600DPI resolution from the PPD?).
>
>
>
> There already exists opensource code for generating vector PCL, it's in
> the Xprint sources currently hosted on freedesktop.org (they have been
> merged with X.org recently):
>
> http://cvs.freedesktop.org/xorg/xc/programs/Xserver/Xprint/pcl/?only_with_tag=XPRINT
>
>
> Could this code be used to create an opensource "pstohp" filter for CUPS?
>
>
> ------------------------------------------------------------------------
>
> *PPD-Adobe: "4.3"
> *%
> *% =============================
> *% Adobe Systems PostScript(R) Printer Description File
> *% Copyright 2003 Oce-Technologies B.V.
> *% =============================
> *%
> *% Permission is hereby granted, free of charge, to any person obtaining
> *% a copy of this software and associated documentation files (the
> *% "Software"), to deal in the Software without restriction, including
> *% without limitation the rights to use, copy, modify, merge, publish,
> *% distribute, sublicense, and/or sell copies of the Software, and to
> *% permit persons to whom the Software is furnished to do so, subject to
> *% the following conditions:
> *%
> *% The above copyright notice and this permission notice shall be
> *% included in all copies or substantial portions of the Software.
> *%
> *% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> *% EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> *% MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> *% NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
> *% LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
> *% OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
> *% WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
> *%
> *% [this is the MIT open source license -- see www.opensource.org]
> *%
> *% Oce identification: name=OCVP65_3.PPD version=1.4 date=01-12-2003
> *%
>
> *FileVersion: "1.4"
> *FormatVersion: "4.3"
> *LanguageEncoding: ISOLatin1
> *LanguageVersion: English
> *Manufacturer: "Oce"
> *ModelName: "Oce 3165/VarioPrint 2065-70"
> *PCFileName: "OCVP65_3.PPD"
> *Product: "(Oce 3165/VarioPrint 2065-70)"
> *cupsFilter: "application/vnd.cups-postscript 0 foomatic-rip"
> *cupsFilter: "application/vnd.cups-raster 0 rastertohp"
> *PSVersion: "(3015.102) 12345"
> *ShortNickName: "Oce3165VP2065-70" PS3
> *NickName: "Oce 3165/VarioPrint 2065-70 PCL" PS3
>
[...]