On Sun, 11 Jun 2006 21:46:58 +0100, Alex Bligh wrote: > > I've been doing some investigations re printing on Linux. > An excellent thing to do. I haven't read through this whole thread yet, but I do want to make some comments on the background material you present here, to ensure you're aware of current developments in the area of printing on free software operating systems. The conclusion that PostScript is the current standard for printing and won't be changing soon is correct, (there was some talk of moving to PDF at the recent Desktop Printing Summit but it's clear that there's a fair amount of work that will need to be done there). > There are moves afoot to add Cairo as an underlying printing technology, > but this isn't there yet. Postscript will continue to be supported. That cairo for printing "isn't there yet" is technically correct, I suppose. But it is close enough that I think it should be seriously considered for any new development. This involves new code in both GTK+ and cairo, which is currently available in development snapshots (GTK+ 2.9 and cairo 1.1) but will very shortly be available in stable releases (GTK+ 2.10 and cairo 1.2). I think both of these releases are expected before the GUADEC conference at the end of the month (I know cairo's is). "Postscript will continue to be supported" is definitely the case. And this also isn't independent of cairo. If you are doing printing through GTK+ 2.9 with cairo it will still emit PostScript for the underlying print system. > The printer driver technology also supports printing to PDF, in as > much as the postscript is simply turned into PDF. The cairo stuff changes this in that "print to PDF" becomes a real option that is much more interesting than simply converting PostScript to PDF. Also, the cairo stuff enables a future change where the underlying print system could switch from PostScript to PDF as the spool format with no change in the application. > At the GTK application level, GTK presents two libraries for use > in printing: libgnomeprint and libgnomeprintui. To pick a nit here: GNOME provides the libgnomeprint interfaces. GTK+ has never had direct printing support until the recent 2.9 stuff in preparation for GTK+ 2.10. The new GTK+ printing support provides a printing dialog and allows the application to print in at least two different ways, (by providing PostScript output directly or by providing a callback function that will be handed a cairo context to be drawn on for each page). Ignoring for the moment any application requirements to work with old versions of GTK+, I would strongly discourage any new development from using libgnomeprint. That library is in the process of being entirely deprecated, with new development being encouraged to use the printing support in GTK+ instead. I know the primary developer of the GTK+ printing support, (Alex Larsson), quite well, and I know he will be happy to help with any effort to use this code---he definitely wants to fix any limitations it has with respect to what applications need/want. In contrast, I think you'll have a hard time finding anybody interested in doing any maintenance on libgnomeprint, (though it is more mature so maybe it won't need much). > This is available in wx if wx is compiled with --with-gnomeprint > (it isn't by default, but we shouldn't let that bother us); I can't comment much on wx stuff. I don't know if it is actively tracking recent print support in GTK+ or not. So there might be a speed bump there in terms of getting access to the new GTK+ stuff through wx---though I really don't know. And I'll stop commenting now that you're getting into Camelot-specific issues, since I'm less informed there. (I do still want to hook up cairo-based export to Xara which would provide PNG, PDF, SVG, and PostScript (and by extension, printing support)), but I'm just waiting for the rainy Saturday afternoon when I can sit down and do this, (and the time I need to spend before that to have my employer sign off on me personally executing the Contributor's Agreement). Anyway, I hope that helps clarify things. -Carl > It would, however, appear that > printing on Linux may be substantially more simple than printing on > Windows. And I didn't think I'd ever hear anyone say that. That much, at least is very nice to hear. And I expect that as you look at the more recent stuff you will see that it is only getting better.
Attachment:
pgp3GYnXAgBHY.pgp
Description: PGP signature