I’ll start by saying I’m really sorry if this is a FAQ but after looking around I’m having a hard time finding an answer to this. In a system where there are services and users running under different Windows IDs, I’m not sure how to get PDFCreator to process requests for everyone.
For example, if a service is running as Administrator and sends output to the PDFCreator printer, the .ps file goes to a temp file for the Administrator user. But the PDFCreator process isn’t running under Administrator so it isn’t watching that path for new files. When I go to diagnose the situation as my user “foo”, the output goes to My foo temp folder. Then I run PDFCreator manually to see if it works, and of course it does because we’re running under the same user. If I copy the Administrator .ps file to my temp directory, it immediately gets processed out to my PDF target directory. (Note, I did this testing a couple days ago and that’s the way I think it’s working. Please forgive if my memory isn’t 100% accurate on that.)
So: How can we setup PDFCreator so that it will get the spooled output for any user process, and thus render all reports for all users and services to PDF?
I see people asking about changing the temp directory and I’m thinking that’s why they’re asking. Can’t someone take the FOSS with a hard-coded path to %AppPath% or wherever it’s going,change that to /temp/foo, and publish a fork? OOPS, did I just volunteer to do something I may not be qualified to do?
I can write some code to watch user directories, and copy files to a common watch folder for PDFCreator - is that the best way to go?
Here’s a final dumb one - when PDFCreator is setup as a printer, which user is it running under? Does port pdfcmon need permissions for access by Everyone or Users or something? I’m just not sure how the printer knows which user it should use to look for print jobs.
Sincere thanks!
Hi,
that’s a lot of questions at once, so I’ll try to seperate this a bit:
PDFCreator has two ways to work: server mode and standard mode. The server mode is used if your users shall print on a remote PDFCreator printer without seeing the PDFCreator window.
For all other cases (including Terminal Servers!), the default mode is the one to choose.
In the default mode, pdfcmon (running as LocalSystem) copies the PostScript data to the users temp folder and afterwards starts PDFCreator in the context of that user.
If you have a service doing that actual printing, I see two ways for you: If you have only one user that does the printing, let the service use this account. If you have multiple users, you might have to use the server mode to have all print jobs end up in a single folder and configure AutoSave in a way that puts the files in the proper user directories.
So, there is no hard-coded %APPPATH% in there, but a quite complex logic on what to do and many user account restrictions in place. If you want to handle all files for all users in one place, the server mode is the way to go for you.
kind regards,
Philip