Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm working in office which uses Windows server for printing. Because our printer supports only Windows driver. But here are Mac OS X also which requires network printing...

I'm sure there is no driver of the printer for Mac. So I figured out an idea to do this.

  1. On the Mac, a virtual printer driver generates and sends PDF file to print server.
  2. Print server, prints PDF files with it's local printer.

Is there a solution can do this? (free or commercial)

share|improve this question

EDIT: So after I posted this, I realized that it's not clear which part of the process (step 1 or 2) you're asking about. I figured I'd leave the following information here just in case.

For part 1, the PDF printer driver, a Google search for mac pdf printer driver will give you several results. I might start by looking at CUPS-PDF but there are many alternatives.

share|improve this answer

You could use a combination of providing...

  • ...a shared hotfolder,
  • ...a task scheduler job and
  • ...batch (or other) scripting serve your Macs. I would create such a functionality manually like this:

  1. Create a folder share on the windows print server that is accessible to your Macs. (This one will receive the PDFs from the Macs.)
  2. Setup the Mac queues to print to a "file" backend targetting the shared hotfolder on Windows. (Look here for an example how to create such a file backend: 2dir backend (Bash script, easy to adapt to Mac OS X environments). Make sure that the backend first writes the PDF under a different file suffix (such as *.pdf__), and only after completing the write operation rename the job to *.pdf. Make sure that the 2dir backend has file permissions of 700.
  3. On Windows, create a scheduled task that runs once a minute [*]. This tasks can be a batch file. The batch file's job is to move the 10 oldest (or newest) *.pdf files it can find in the hotfolder into a separate folder. That separate folder should be unaccessible for outsiders. It should only write to the separate folder, if no unprocessed PDFs from previous operations are left over there.
  4. Again on Windows, create another scheduled task [**]. This one also runs once a minute. It prints all PDFs it can find in the separate folder to your real Windows printer. Once sent to printer, it should also delete each PDF.

[*] On Windows, you cannot run scheduled tasks more frequently.

[**] Why use 2 separate scheduler jobs? It introduces a certain buffering into the system. The second job never has more than 10 jobs to handle at once, even if the real hotfolder would receive thousands of jobfiles at once.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .