1
votes

I'm working on a project that requires us to send PDFs to a printing press. We've previously done this with a desktop app and Acrobat, but I'd like to switch to an ASP.Net app to give us more flexibility on what device the end user is using (there will likely only be one user at any given time).

Following something similar to this MS KB article is working well for sending the PDFs - the printer prints the documents, decent quality, etc.

The only issue I've found though, is that our files may require different printer configurations - e.g. one may need to be booklet folded, while the next may not. Previously we had set these up in preconfigured drivers (i.e. "MyPrinter1" is set to booklet folded, "MyPrinter2" is not - both point to the same physical printer). Sending the raw data, however, seems to ignore these. I'm assuming it's due to some header data not being included, or something similar; but I haven't found any info on how to include it.

I'm open to other methods. I've tried GhostScript, but it threw errors about the files. PDFSharp seems to work fine locally or while logged in to the web server, but doesn't do anything when logged out (not even an error message; assuming this is Adobe more than PDFSharp). I'm potentially open to a paid option, but would (obviously) prefer free.

1
Also note that your current approach assumes that your printer "understands" PDF files, which is not the case for every printer out-there.yms
@yms Yup; and the presses we're working definitely do. For this particular application we're lucky in that there will never be a situation where we don't control the hardware. Test prints through all the methods I've tried have worked fine as well; just not the print configuration (booklet folded, stapled, tri-folded, etc.) The printer is definitely capable, and running it through a desktop app instead of a service is able to send these preferences in most methods. I suspect it may have something to do with the way the printer is installed and "visible" to the different types of apps.user1874135
If this printer understands postscript (which is probably the case) you may be able to send the print configuration using a postscript program that you can send to the printer through escape commands. Note that such postscript programs are usually hardware dependent, so you may need to dig deep in the documentation of your printer to get this to work.yms

1 Answers

1
votes

It's been a while and I forgot I had asked this question, but what we wound up doing was:

  • PdfView4Net (http://www.o2sol.com/pdfview4net/overview.htm) for opening the PDF and managing the print job.
  • Setting up default printing preferences for each configuration on the print server.
  • Making sure all printer configurations were installed for the same user as the service.