Идея такая появилась:
Юзер конектится к терминалу. Там работает, делает свои дела... Появилась нужда отпечатать и чтобы не инсталировать под каждого юзера его принтер на терминалы (не все принтера могут печатать) то устанавливаем принтер локально (HP LaserJet PS). И когда юзер печатает на него то выходит диалоговое окно со взятым из АД емаилом на которое он и высылает нужный емы документ в формате %username%.PDF, а потом на своем локальном принтере отпечатывает.
пока получилось сделать так:
1. При логоне запускается АутоИт. Который мониторит папку на наличие документа с нужным названием..
2. При выполнении печати на принер через редмон порт запускается GhostScript который создает %username%.PDF
3. АутоИт это замечает и выкидывает окно в котором уже введен емаил или вводишь свой. и происходит высалка дока.
Это получилось... Но! Хочется чтобы создание документа делал аутоит. Синтакс для GhostScript батника такой из Инета
:
set GHOSTSCRIPT=C:\Pdf_Print\Gs\gs8.71\bin\gswin32c.exe
set PDFFILE=C:\Pdf_Print\PDF_Temp\%REDMON_USER%.PDF
rem
rem <<Sukuria pdf doka>>
rem
start /WAIT %GHOSTSCRIPT% -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%PDFFILE% %1 -dPDFSETTINGS=/default -dCompatibilityLevel=1.4
Документ аутоит создает, но пустой......
$CmdLineRaw = 'C:\Pdf_Print\Gs\gs8.71\bin\gswin32c.exe -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%PDFFILE% %1 -dPDFSETTINGS=/default -dCompatibilityLevel=1.4
Run("C:\Pdf_Print\Gs\gs8.71\bin\gswin32c.exe" & $CmdLineRaw, "C:\Pdf_Print\Gs\gs8.71\bin\")
Ничего не происходит.
ShellExecuteWait("C:\Pdf_Print\Gs\gs8.71\bin\gswin32c.exe ","-sDEVICE=pdfwrite -r300 -dNOPAUSE -dSAFER -sPAPERSIZE=letter -sOutputFile=C:\Pdf_Print\PDF_Temp\2222.pdf -c save pop -f %1 quit","C:\Pdf_Print\Gs\gs8.71\bin\")
Создается док но пустой
может кто скажет где тут подвох.