It all depends on how important quality is for the generated documents. It also matters
what other operations you need to do with the document.
I m building a desktop application right now that presents its human-readable output
as XHTML displayed in a WebBrowser control. Eventually, this output is going to have
to be converted from an XHTML file to a document image in an imaging system.
Looks like your application is a soft-form of sorts. You generate filled-in forms and
save them.
[...]there need to be headers and footers on these pages.
This is the easy part. You can use templates and merge the data with the static
header/footer template. You sound as if you are doing VDP. Hm. Let s move on.
I can t simply make the WebBrowser print to a file - the header/footer options it
supports aren t anywhere near sophisticated enough.
Why so? All you need is a capable driver.
It seems likely to me (though it s not mandatory) that what I ll end up doing is
producing PDF versions of the HTML documents
Again, it is not clear why you would want PDF right away. PDF is a document interchange
format. Not a PDL per se. PostScript is a much better choice. Yes, I know there are
things like XPS, PCL and what not. However, the amount of rendering control and quality
you get with PS is far too much to risk a cheaper solution. I say cheaper, because,
you also need to keep in mind the sort of printing you can avail of. PostScript printers
(not the ones with the clone RIPs) are costlier in general.
Now, back to your PDF thing. Yes, of course you can generate PDF. It has certain
advantages like:
- Better support for transparency (and in general quality)
- Archival
- Interchange
- Share it across for review
- Preview/Preflight/Correct
- Security
- Stream encryption (for both security and the amount of data you transfer to the printer)
- Use templates
But remember do you have any printers to do native PDF ripping? Because you are otherwise
doing a lossy PDF to PS/PCL conversion. And you ve just lost the game. Which brings me back to PostScript ;)