View previous topic :: View next topic |
Author |
Message |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Fri Apr 13, 2007 15:48 Post subject: |
|
|
2lamicard А в самом деле, не мог бы ты немного формализовать задачу? А заодно описать рабочую среду. Хотя бы приблизительно. Сколько человек будет пользоваться этим? Сколько файлов ежедневно печатается? Объемы файлов, дисков? Общий объем печати в страницах?
Quote: | те 300 долл которые Вам не нужны куда скажете туда и перешлю | Batyа, как говорил очень любимый мной Ниро Вульф "Никогда не отказывайтесь от заслуженного гонорара". Но если все таки ты не хочешь их брать, то я знаю куда их деть! Нанять кого-то, кто решит на форуме проблему спама! |
|
Back to top |
|
|
lamicard
Joined: 06 Apr 2007 Posts: 18
|
(Separately) Posted: Fri Apr 13, 2007 16:59 Post subject: |
|
|
каждая машинка держит максимум 8 принтеров на usb - сетка обычная 100 мб/сек. максимальное количество принтеров 30. машинки мощные от 2.4 до 3.4 мгц нецелеронов
принтера струйные печатают изображения в растре и кривых - т.е. без шрифтов.
сейчас это делается ручками - причем криво - иной раз с винчестера пускается печать - иной раз по локалке... если еще дизайнер напартачит с качеством изображения то 20 листиков могут весить в спулере до 1.5 гига. и висим все от дизайнера до бухгалтера, если учесть что мы с соседними сетями около 50 копмов интернетим - то иногда и другим достается...
Задача каждому принтеру прописать сетевую папку - что бы печать пускалась не на сетевой притер с подвешеванием сети а просто копировалась в папку - далее скрипт видя новый файл - запускал его на печать на определенный локальный принтер согласно назначенной папке - на котором предварительно сделаны вручную настройки качества печати, после печати файл перемещается в какую либо папку ( тип отработка) ну и дата перемещения в папку отработка желательна. папка отработка разбита по месяцам - если сложно будем ручками делать - раз в месяц создавать папку и кидать в нее отрабутку за этот месяц.
нагрузка один фал печатается от 1 до 1000 листов копий (в случае дублирования задания мы либо будем ставить количество копий в настройках принтера - либо клонируем файл нужное количество раз)
один принтер за 8 часов прогоняет максимум 100 листов
нагрузка ежедневная 5-7 дней в неделю
диски обыные 7200 об/мин от 80 до 400 гигабайт
иногда происходит засорение дюз - делаем сброс задания кнопкой на принтере - в этом случае идет прочистка головки и повтор задания по сети - мне важен не контроль отпечатанного задания (на это есть органайзер в акробате) а равномерная загрузка машин и отсутствие кривых рук пользователя при посылке задания. а это возможно если человек нажимает одну кнопку а не выполняет зависимую последовательность правильных действий |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Fri Apr 13, 2007 17:12 Post subject: |
|
|
Хм, а у тебя еще пробел в названии порта.
Тогда
Code: | WSH.Run """" & Acrobat & """ /t """ & Doc & """ """ & Printers & _
""" """ & Drivers & """ """ & Ports & """", 6, False |
Хотя что-то меня берут сомнения в твоих данных.
Printers - это "\\server\' + то, что написано вверху первой закладки "Общие" свойств принтера.
Drivers - то, что написано на закладке "Дополнительно" в строке "Драйвер".
Ports - то, что написано на закладке "Порты" в колонке "Порт" таблицы у строки с галочкой. |
|
Back to top |
|
|
lamicard
Joined: 06 Apr 2007 Posts: 18
|
(Separately) Posted: Fri Apr 13, 2007 17:17 Post subject: |
|
|
если брать локальный принтер а не сетевой - как лучше написать данные в скрипт? я тогда дома могу его запустить - просто такие тесты возможны либо до работы либо после - когда ничего не печатается, а это потерянное время. |
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Fri Apr 13, 2007 18:01 Post subject: |
|
|
Batya wrote: | Printers - это "\\server\' + то, что написано вверху первой закладки "Общие" свойств принтера. | Погоди, они же хотят печатать только на локальные принтеры. Почему "\\server\"? |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Fri Apr 13, 2007 18:15 Post subject: |
|
|
Ну тогда без "\\server\" |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Fri Apr 13, 2007 19:00 Post subject: |
|
|
Ну, а мой скрипт когда пробовать будем? Я сегодня спецом после работы остался и погонял свой скрипт на реальном принтере (у меня он один, но что это меняет?). Скрипт претерпел некоторые видоизменения с учетом открывшихся обстоятельств.
Короче, все работает, аж противно Бумаги перевел - гору, хорошо, что обычной. Будет заказчик должон за нее |
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Fri Apr 13, 2007 19:40 Post subject: |
|
|
Volniy, так где видоизмененный скрипт-то? Ты выложи, будем посмотреть. А кстати, любопытно мне, что происходит со скриптом, если принтер в оффлайне? Он вылетает или только спулер на дармовых гигах жиреет? Quote: | Бумаги перевел - гору, | А чернила, так и быть, за счет заведения?. |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sat Apr 14, 2007 00:38 Post subject: |
|
|
VadiMGP wrote: | Volniy, так где видоизмененный скрипт-то? Ты выложи, будем посмотреть. |
Там же где и был. Я свой пост отредактировал после того, как убедился, что скрипт работает.
VadiMGP wrote: | А кстати, любопытно мне, что происходит со скриптом, если принтер в оффлайне? Он вылетает или только спулер на дармовых гигах жиреет? |
Скорее второе (однако, смачно сказано). Надо просто попробовать.
VadiMGP wrote: | Quote: | Бумаги перевел - гору, | А чернила, так и быть, за счет заведения?. |
Там же порошок был, не обеднеют. А вот с бумагой в конторе конкретный напряг: начальник даже издал приказ печатать всю документацию на 2-х сторонах листа. Никогда так не делали, да и кажись по ГОСТ-ам это не всегда проходит. Зато ж какая экономия |
|
Back to top |
|
|
lamicard
Joined: 06 Apr 2007 Posts: 18
|
(Separately) Posted: Tue Apr 17, 2007 03:00 Post subject: |
|
|
Скопировал скрипт - поставил принтера - дошел до строки pdfp.exe - вопрос где взять этот файл у акробата его нет в интренете тоже - дайте ссылку на него. |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Tue Apr 17, 2007 03:42 Post subject: |
|
|
lamicard wrote: | Скопировал скрипт - поставил принтера - дошел до строки pdfp.exe - вопрос где взять этот файл у акробата его нет в интренете тоже - дайте ссылку на него. |
Ну ты даешь, однако... Это ж твой топик, чего ж не читаешь-то его? Ссылку, ладно, повторяю: для 7-го AR (и ниже, я так думаю)
http://www.esnips.com/doc/9e2a3a72-52ca-4711-945b-85316465f02f/pdfp
а если уже установлен 8-ой Акробат Ридер, тогда качай другую версию:
http://www.esnips.com/doc/0a1928c4-a96d-4a4c-838a-eb6e0b9a986c/pdfp8
Экзешник надо положить (остальные файлы не нужны) или в папку со скриптом или в какую-нибудь виндовую, которая прописана в переменной %Path%.
А че так долго пропадал-то, три сотни на гонорар по сусекам наскребал, чтоли? Мы тут прямо заждались уже |
|
Back to top |
|
|
lamicard
Joined: 06 Apr 2007 Posts: 18
|
(Separately) Posted: Tue Apr 17, 2007 03:44 Post subject: |
|
|
спасибо - топик читаю только вы иногда меж собой разговариваете, эти сообщения мельком читаю - вот и пропустил..
скачал - запустил, ошибка строка 13 символ 4 - путь не найден
ошибка 800A004C
запустил следующее:
Dim WSH, FSO
Set WSH = CreateObject("wscript.Shell")
Set FSO = CreateObject("scripting.filesystemobject")
Dim I, PrCmd, PDFFile
Const AlreadyPrinted="c:\pdf\AlreadyPrinted"
'Устанавливаем ключ реестра в рабочее состояние
MykeyValue = True
'WSH.RegWrite MyKey, MykeyValue
PDFFolders = Array("c:\pdf\1", "c:\pdf\2") ' пишем столько папок,
сколько нам нужно
Printers = Array("EPSON Stylus Photo R270 Series", "EPSON Stylus Photo
R270 Series") ' соответствующие принтеры для каждой папки
If FSO.FolderExists(AlreadyPrinted & "\" & Month(Date)) = False Then _
FSO.CreateFolder AlreadyPrinted & "\" & Month(Date)
'Бесконечный цикл (выход по изменению ключа реестра)
Do While MykeyValue
For I= LBound(PDFFolders) To UBound(PDFFolders)
Set PDFFolder = FSO.GetFolder(PDFFolders(I))
PrCmd = (Printers(I))
For Each PDFFile In PDFFolder.Files
If UCase(FSO.GetExtensionName(PDFFile.Name))="PDF" Then
'Печать, как таковая с помошью pdfp или как-нить иначе
'pdfp.exe [options] [drive:][path]<filename>
WSH.Run "c:\pdfp.exe -p """ & PrCmd & """ """ & PDFFile.Path
& """" , 1, True
' тут команда перeименования и перемещения уже отпечатанного
файла, например
PDFFile.Name= PDFFile.Name & ".printed"
PDFFile.Move AlreadyPrinted & "\" & Month(Date) & "\" &
FSO.GetBaseName(PDFFile.Name)
End If
Next
Set PDFFolder = Nothing
Next
'Пауза в мс (а нужна ли, работы ведь хватает
WScript.Sleep Delay * 1000
'Читаем реестр
'MykeyValue = WSH.RegRead(MyKey)
Loop
Set WSH = Nothing
Set FSO = Nothing |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Tue Apr 17, 2007 13:00 Post subject: |
|
|
lamicard wrote: | скачал - запустил, ошибка строка 13 символ 4 - путь не найден
ошибка 800A004C
| Просто указанный путь к папке отработанных файлов не существует. Папка должна быть создана еще до запуска скрипта (хотя могу создать в коде проверку на существование этой папки). |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Tue Apr 17, 2007 16:46 Post subject: |
|
|
Volniy
Слушай, а почему ты не используешь запись\чтение реестра? Срубать процесс руками - это не очень красиво. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Tue Apr 17, 2007 18:58 Post subject: |
|
|
Batya wrote: | Volniy
Слушай, а почему ты не используешь запись\чтение реестра? Срубать процесс руками - это не очень красиво. |
Да я до сих пор все еще не услышал от того, кому это все, собственно, надо, работает ли у него хоть че-нить. Тоесть все это пока просто рабочая модель и я запускаю скрипт в отладчике.
Потом можно будет добавлять/удалять все, что угодно. И уж я точно не думаю, что реестр это единственный способ останавливать работу скрипта с бесконечным циклом. Во-первых выключение компа скрипт-таки остановит . А потом, а почему бы, например, для этой цели не использовать файл УдалиМеняЧтобыВырубитьСкрипт.!!!, который будет создаваться самим же скриптом при его запуске?
Ну и третье. Скрипт скриптом, но что помешает скомпилировать этот код (адаптированный, конечно) в некий экзешник с минимальным UI, хотя бы банальными кнопками Старт/Стоп и окошком с логом уже обработанных файлов? |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|