В результате на этом компьютере поставил FoxIt Reader для печати pdf, openoffice для печати .doc, .xsl.
Стандартные картинки я печатаю встроенными средствами. Я расшарил папку, кинул в неё нужность и печатаешь. Идти к старику - уже принт-серверу ломает. У меня появилось желание автоматизировать процесс печати.
Решение получилось - из софта стоит то, что надо для открытия файлов, плюс одна программка и плюс скрипт в автозагрузке. Полёт нормальный.
Программка ClassExec разрешает имитировать нажатие пункта печать в контекстном меню.
Скрипт ниже делает это нажатие для файлов в папке, к которой доступен по сети.
- 'print-loop.vbs
'Автоматическая печать знакомых системе файлов, появляющихся в определенной папке - Set gFSO = CreateObject("Scripting.FileSystemObject")
- Set gShell = CreateObject("WScript.Shell")
- 'Папка, в которой скрипт ждет файлы. К ней есть доступ по сети на запись
- gWatchFolder = "G:\PrintME\"
- 'Основной цикл
- While true
- Set lFolder = gFSO.GetFolder(gWatchFolder)
- Set lFiles = lFolder.Files
- For Each lFile In lFiles
- PrintFile(gWatchFolder & lFile.Name)
- Next
- WScript.Sleep(1000)
- WEnd
- 'Функция печати конкретного файла
- Sub PrintFile(pFileName)
- 'Ждем некоторе время (а вдруг файл большой, ещё не записался)
- WScript.Sleep(10000)
- s = """c:\!bin\classExec.exe"" """ & pFileName & """ --action print"
- Call gShell.Run(s,0,true)
- 'Некоторые файлы могут печататься долго, поэтому вылавливаем-с его освобождение тупым повтором удаления
- While gFSO.FileExists(pFileName)
- WScript.Sleep(5000)
- gFSO.DeleteFile(pFileName)
- WEnd
- End sub
Комментариев нет:
Отправить комментарий