I have a service running on a server that handles EDI processes. It needs to print PDF documents, so I selected PDFCreator for that. In testing, printing works great. However, when printing from the EDI application when its running as a service, theres no print.
I’ve done allot of research, and found an issue, and am hoping someone can help work around it.
When printing normally in my RDP session on the server, I see files created under \AppData\Local\Temp\9\PDFCreator\Spool, then the pdfcreator executable launches, and those files go away, resulting in a print to a folder as I have it setup in the pdfcreator profile. The files created in the temp folder are a PS file, and an INF file.
However, when its printed from the same application run as a service, I can see the print job in windows, and then the files get created in the temp directory. However those temp file never go anywhere, and no pdfcreator executable is ever run. If I login as the user that the service is run as, then run PDFCreator, the temp files disappear and the PDF is generated.
So because this is running as a service, I understand its probably not possible to kick off the pdfcreator inside that window session (session 0), but I am wondering if there might be some command line or executable I can call after the print job that would cause it to process, and then go away. I know the documented command line parameters for pdfcreator, but those don’t really help, since I don’t have an input file and output file, I just need it to run to see theres files in this spool directory to process, and without interaction needed.
Hi,
I had submitted a request for pricing, but was under the gun to get this fixed today, so I came up with a workaround.
If there are files stuck in the spool folder, you can run the following command to process the file:
C:\\Program Files\\PDFCreator\\pdfcreator.exe /INFODATAFILE="C:\\Users\\Test\\AppData\\Local\\Temp\\PDFCreator\\Spool\\tempfilename.inf"
I wrote the following powershell script that gets run periodically, and clears out the queue of files. I just run it on a schedule every minute under the same user.
$temppath = $env:Temp + "\\PDFCreator\\Spool\\*.inf"
$infFiles = get-item -path $temppath
ForEach ($inifile In $infFiles) {
echo "Processing: " $inifile.FullName
$cmdline = '"' + $inifile.FullName + '"'
Start-Process -FilePath "C:\\Program Files\\PDFCreator\\pdfcreator.exe" -ArgumentList /INFODATAFILE=$cmdline
}