This switch was agreed upon at last week's Linux Desktop Printing Summit. Open Source Development Labs (OSDL) and Linuxprinting.org organized the meeting, which was hosted by Lanier (a Ricoh corporation) at its Lanier Education Center in Atlanta.
At the meeting there was virtually no disagreement about the change. The fine details will have to be thrashed out over the coming months, but representatives from CUPS, Ghostscript, Linuxprinting.org, KDE, GNOME, hardware vendors (present were people from Epson, HP, IBM, Lanier, Lexmark, Ricoh, Sharp, and Xerox), and developers of free drivers all agreed that PDF will give them more power, more reliability, and more control over the printing process.
Why is this? After all, isn't PDF a (partially) binary format? Isn't there a disadvantage with PDF compared to PostScript, which you can open and modify with a standard text editor? As it turns out, PDF has much to recommend it.
The professional and commercial digital printing world has moved to PDF already. More and more printer models are able to consume and interpret PDF files directly. A number of international industry standards, such as PDF/X3, PDF/A, and others, make PDF processing more reliable.
We see a number of efforts underway to establish a standard way to embed "job tickets" into an actual print file. Job tickets carry the exact print settings the user asked for and are read -- and hopefully honored -- by all job processing programs, including the ones at the destination printer.
It makes a lot of sense to go into the same direction for Linux printing.
PDF, as a specification, is owned by Adobe, which developed it based on PostScript, which Adobe also owns. Like PostScript, PDF is an open and fully documented file format. PDF is not patent-encumbered; while Adobe owns a few PDF-related patents, it has guaranteed royalty-free usage of the PDF specifications to anybody, including the freedom to implement the standards for PDF generating and PDF consuming software to everyone who uses the specs.
PDF is better suited as a page description format than PostScript on various fronts. It supports transparencies and color profiles in an advanced way that PostScript can't compete with. PDF is now universally accepted as one of the best document exchange formats, even for non-printing purposes, and it is far better than PostScript for online publication and viewing. PostScript also has some known cumbersome aspects to it when it comes to printing, which are easier to solve with PDF.
Though many people are not aware of it, PostScript is a fully-fledged programming language, which means PostScript could be used with malicious code embedded in PostScript files, and it can cause incompatibilities, failures, and undesired output more often than printing professionals would like. PostScript files also are not easy to lay out as "n-up" or "book" signatures unless they meet the strict Document Structuring Conventions.
While PDF is derived from PostScript and its imaging model, its page description code cannot contain malicious pieces. In the original PDF file format specification the page description constructs no longer make up a fully-fledged programming language. The problematic PostScript instructions were removed from PDF 1.0, though some new "weird" capabilities were added by Adobe in later versions -- such as the ability to embed multimedia files or attach other document formats, which in turn necessitated the creation of industry standards such as PDF/X3 and PDF/A that prohibit usage of such extensions for digital printfiles and prepress purposes.
PDF lends itself more readily to imposition processing, file merging, page extraction, and other manipulations that may be appropriate for a print file format. Font problems which are present in PostScript are less frequent with PDF, and more easy to solve if they occur.
In addition, PDF files tend to be smaller than equivalent PostScript files thanks to the format's built-in compression. Searching for text strings, and copying and pasting them to other files, is almost impossible in PostScript, but easy in PDF. To use PostScript for Internet publishing in general is not a good idea, but PDF already has a major presence on the World Wide Web.
PDF, by default, enables direct random access to every page inside a file; PostScript files require linear processing of the first N pages before page N+1 can be displayed, and often it is impossible to go back to page N-1 once you see page N in a viewer.
Existing PDF support in Linux
While we're looking at a change of direction, it's not as if the summit's decision forces us to move into a completely new and unexplored field.
CUPS is already "PDF-ready" in a basic sense. Though there is not yet any job ticketing or overwhelming color profile support, CUPS does automatically process PDF files thrown at it. Its internal MIME-typing and filtering system auto-detects the format and converts it into any filetype the target printer may desire. A spooling system running CUPS being used as a pre-processor and PDF interpreter turns every inkjet, deskjet, impact, label, or laser printer into one that is ready for use in a PDF-only environment.
Ghostscript is PDF-ready in an even broader sense. It works in both directions -- converting into as well as converting from PDF. Since Ghostscript can convert PDF into PostScript it can act as stepping stone to further convert into other output formats, such as PCL3, PNM, JPEG, PNG, BMP, or display raster.
Even the venerable gv viewer is able to display PDF; it calls Ghostscript internally for the rendering into the on-screen format. It can also create PDF files with the help of its -sDEVICE=pdfwrite parameter. The pdfwrite device is rather sophisticated, albeit hard to handle on the command line, like all of Ghostscript. It accepts setdistillerparams commands, can produce PDF 1.4 output, is able to honor embedded pdfmark operators that may come within the to-be-processed PostScript input, can handle color profiles, can change various bitmap resolution settings, can embed fonts completely or subsets thereof, can downsample black and white or color images, and much more.
Easy-to-use wrapper scripts for Ghostscript such as ps2pdf convert PostScript files into PDF. Ghostscript can even convert multiple PS files into one single merged PDF document. Recent versions of AFPL Ghostscript have added basic support for PDF/X3 output and processing of embedded color profiles. Support for DeviceN color spaces has been a welcome improvement in the 8.5x series of Ghostscript.
And we have the luxury of another good, free PDF processing application: Xpdf. The CUPS pdftops filter is derived from it; the Poppler library project is forked from Xpdf and improved by a group of desktop environment developers at Freedesktop.org.
OpenOffice.org has a reliable PDF exporting function. KDEPrint has been able to print to PDF for five years, functioning as a virtual printer that writes any document as a PDF file to disk.
KWord can even import PDF files and edit them. Scribus has a world-class and standard-compliant PDF export capability. PDF files generated by Scribus pass even the most sophisticated professional prepress checks.
KPDF, a top-notch PDF viewer, replaces Adobe Acrobat Reader for most KDE users. KPDF may be missing a few features required by prepress professionals -- such as displaying layers in PDF-1.6, handling transparencies well, the ability to add notes, and JavaScript scripting support -- but Kpdf development is still in full swing.
More importantly, both KDE and GNOME are about to gain good PDF-writing back ends, which will be different from current virtual printers that "write to PDF" by converting PostScript input. The new back ends will work by writing to PDF directly, without a detour via a temporary PostScript file, with the help of their low-level libraries. This will enable all apps to export directly to PDF. GNOME will get it with its switch to the Cairo graphics libraries; KDE4 will be founded on Qt-4.2 or later, which contains an excellent PDF-writing back end via a component called Arthur.
What needs to be done
Of course, the FOSS software stack for handling PDF is far from complete, but summit participants hope that the pro-PDF message coming from the Desktop Linux Printing Summit will inspire more activity in this area by application developers. Soon we may see new Linux-based professional PDF utilities, such as pre-flight checkers, imposition software, and PDF file manipulating tools, either free or commercial. Yes, we already have the PDF Toolkit (pdftk), but some people think pdftk is too resource-intensive, and do not like it because it depends heavily on Java.
Overall, the move to PDF will guarantee that Linux will be taken more seriously in the printing industry. After all, representatives from seven printer vendors were already participating in the summit, and even more gave their apologies for not being able to make it.
There is still one thing that the open source community should be asking Adobe: When will it start to support its full product range on Linux? Adobe provides only Acrobat Reader 7 on Linux -- nothing else from its rich set of other applications. Adobe is in danger of losing out on several fronts: Microsoft is trying to crash PDF support in the market by pushing to get its own XML Paper Specification (XPS) format, formerly known as "Metro," accepted, while the free software community is about to bypass Adobe's unattractive Reader with its own software. Due to Adobe's long delay with Acrobat Reader, the free software community has come up with KPDF, oKular, and Evince.
Note: Comments are owned by the poster. We are not responsible for their content.
would you not rather leave it at Postscript and fix CUPS?
Hear! hear!
IMHO, CUPS is an atrocity. The end-user configuration is nearly impossible to comprehend. There's no explanation in the config tools to help explain what the various options are even for so you have little to no clue which one too choose.
I have a workstation which I successfully (after taking way too much time, BTW; driver issue mainly) got a locally-connected photo printer to work. Then it was time to configure a connection to the B/W laser printer downstairs which was to be the default printer for this system. The CUPS configuration tool couldn't seem to comprehend such a setup. It was almost as though, having set up the first printer, CUPS was of the attitude "How many printers do you need, pal?" Nevertheless, I decide to add another printer and am faced with the question "Do I want to create a new queue?" Seemed reasonable to me. Until following that path eventually resulted in an announcement that this would blow away existing printer configurations. Trying a different tack, I was presented with a radio-button menu of a dozen or so different printer communication protocols that I should select from. Hardly user-friendly even to someone like myself that's been setting up network printers on UNIX systems for the better part of twenty years.
I have to agree with you, the CUPS project needs (and badly) to clean up their software to make it easier to use before jumping on to the next "gee whiz this is cool and fun to work on" glitzy feature that leave most users wondering why they still can't get a printer set up on their Linux network. But, instead of fixing this glaring deficiency in CUPS, the developers and their fans get all defensive and fire back that you should RTFM. Now that not a bad idea if, of course, there was an FM to read that actually helped. Since the major distributions are adopting CUPS as the standard printing system -- to the extent that they've largely omitted LPD and LPRng off their CDs and if they're still present, they clash with other tools that have been made dependent on CUPS -- this junk has got to be made to work more smoothly. And it's got to be configurable by someone who doesn't have CVS check-in access to the CUPS project.
And PDF as a printer format? Yah. That'll work just ducky. Imagine all the filters that are going to have to work perfectly in conjunction with one another for this to produce uncorrupted output. (I especially like the fact the CUPS insists on passing Postscript through some sort of PS-to-PS filter before printing to a printer that accepts Psotscript natively. The need for that filter isn't in any CUPS documentation that I've run across.)
Methinks the grandparent poster is on the mark and you sound like one of those defensive folks he was writing about. I hate to resort to fisking but here goes:
"Makes me really wonder how you did that, if you are even confused by a selection of network protocols<nobr> <wbr></nobr>..."
I, too, have wondered what the heck the proper selection of protocol options is when configuring CUPS. You can have a printer attached to another system, know exactly how you'd normally configure the printcap entry to send jobs to that printer and find yourself trying things at random in the CUPS config programs, never sure where the next dead end is going to appear. I've worked on collections network printers ranging from small workgroups to large systems with a few hundred print queues sending jobs to remote printers. Those were far easier than working with CUPS.
"dyed-in-the-wool Unix stalemate"
Heh, I hope you meant "stalwart".
"assume you have a 40 page document, but you only want pages 5,11-16 and 34 printed"
Most users I know would prefer to merely pull the PostScript file into gvv and select the pages to be printed. Not wrestle with printer driver switches.
"--> <a href="http://localhost:631/documentation.html" title="localhost">http://localhost:631/documentation.html</a localhost> (on any system that has CUPS installed...)"
You mean that self-serving piece of crud? I especially love the "The Printing Problem" Yes, for years UNIX was "plagued" by having two disparate printing systems. It was awful that these two printing systems, um, actually worked. Thank goodness the CUPS project came along to save the day. Give us a break.
CUPS was a solution to a problem that the vast, vast majority of UNIX and Linux users do not have. How many people actually own or have the opportunity to even use some huge printer that does all your book creation for you that the CUPS advocates are so quick to use as an example. Most of us are dealing with desktop printers or modest departmental devices. I suspect that most of us users don't get very excited about and couldn't care less about printers that fold, sort, and staple our documents. If CUPS is what we have to deal with, we'd sure like some documentation with some meaningful examples showing how to configure CUPS to solve the most common problems. As of now, their documentation doesn't even come close to providing anything like that. Maybe someday, eh?
ishmal
Free porn password archive - PornPassPlanet.com
Posted by: Anonymous Coward on May 11, 2006 08:56 AM#