Tweet
Страницы блога
▼
пятница, 24 февраля 2012 г.
вторник, 21 февраля 2012 г.
Печать в PDF для всех пользователей сети
Иногда надо отправить по электронной почте документ не очень широко распространенного формата, наиболее простое и правильное решение - печать в файл .pdf формата и отправка его как вложения по электронной почте. Про виртуальный .pdf принтер doPDF я уже писал раньше, а если надо установить его сразу всем пользователям в локальной сети? Решение - довольно простой .bat файл в автозагрузке.
@echo off > nul
rem install virtual pdf printer doPdf 7
if not exist "p:\PDF_printed" md "p:\PDF_printed"
"\\server\userinst$\Virtual PDF printer\dopdf.exe" /VERYSILENT /NORESTART /SUPPRESSMSGBOXES /NOCANCEL /DefaultLang=REGST /NOICONS /NoInstallIfExists
rem set doPdf settings
if exist "%ProgramFiles%\Softland\doPDF 7\dopdf_ok.flg" goto dopdf_ok
regedit /s "\\server\userinst$\Virtual PDF printer\doPDF_setts.reg"
copy /y "\\server\userinst$\Virtual PDF printer\doPDF v7.nvl" "%APPDATA%\Softland\novaPDF\doPDF v7.nvl"
copy "\\server\userinst$\Virtual PDF printer\dopdf_ok.flg" "%ProgramFiles%\Softland\doPDF 7\dopdf_ok.flg"
:dopdf_ok
exit /b 0
В папке “\\server\userinst$\Virtual PDF printer” должны быть следующие файлы:
- dopdf.exe - дистрибутив doPDF принтера;
- doPDF v7.nvl - файл настроек, скопировать с машины с тестовой установки;
- dopdf_ok.flg - флаг настроек;
- doPDF_setts.reg - настройки doPDF из реестра, экспортировать из машины с тестовой установкой, ключ [HKEY_CURRENT_USER\Software\Softland\doPDF\Printers\doPDF v7].
Но после установки остается еще одна проблема - если оставить без внимания папку “p:\PDF_printed”, то в ней через полгода будет гора документов и невозможно будет что-то найти, поэтому надо настроить в этой папке поддержание порядка.Диск p:\ - это сетевой диск на сервере вида \\server\%USERNAME%, реальное расположение - \\server\d$. Общая идея наведения порядка: вечером удаляется папка прошлого дня PreviousDay, документы за прошедший день перемещаются в папку прошлого дня, папка “p:\PDF_printed” остается пустой и готовой к работе на завтра - т.е. всегда есть копия документов за прошлый день. Если выразить это все в виде .bat файла - то получается приблизительно следующее:
rem @echo off>nul
rem keep "%%i\PDF_printed" clean
rem run this on Server (server.main.local)
cd /d "d:\users" > c:\reports\clean.log
for /D %%i in (*.*) do (
if exist "%%i\PDF_printed\PreviousDay" rd /S /Q "%%i\PDF_printed\PreviousDay" >> c:\reports\clean.log
md "%%i\PDF_printed\PreviousDay" >> c:\reports\clean.log
move /Y "%%i\PDF_printed\*.*" "%%i\PDF_printed\PreviousDay" >> c:\reports\clean.log
)
exit /b 0
Запуск этого .bat файла - каждый рабочий день после окончания работы, например, в 19-00 (пользователи в основном заканчивают работу в 17-00...18-00).
После завершения этих в общем-то нехитрых действий получаем способ получения .pdf документов из чего угодно, а чтобы не было вопросов “А как всем этим пользоваться, я ничего не понимаю...” - пишем коротенькую инструкцию с картинками и выкладываем ее в общедоступном месте. В итоге получаем благодарности от пользователей и больше свободного времени на личное усмотрение.
понедельник, 13 февраля 2012 г.
Отличное решение для просмотра изображений - IrfanView
Недавно позвонил пользователь из нашей компании с просьбой открыть .psd файл - ничем встроенным не получилось. Естественно, ставить фотошоп для просмотра смысла нет - нужен легкий и простой просмотрщик, причем как можно большего количества форматов изображений, потому что фантазия пользователей при отправке изображений не имеет границ, и далеко не все ограничиваются .jpg. Встроенная лень и желание сделать “хорошо всем и сразу”, причем желательно побыстрее подсказали, что искать надо что-то бесплатное и легко устанавливаемое. Выбор пал на совершенно прекрасную программу IrfanView. Программа умеет не только просматривать изображения, но и конвертировать изображения из одного формата в другой, сканировать, создавать слайд-шоу, проводить групповую обработку изображений, проигрывать видео и аудио файлы - т.е. именно то, что надо. Кроме того - есть много языков интерфейса, русский в том числе.
Но самое приятное для сисадмина - что программа легко и изящно устанавливается в тихом режиме, причем с конфигурировнием - где находится файл настроек, ассоциации файлов. Кроме того - есть набор плагинов, заметно расширяющих возможности программы.
В итоге за где-то полчаса у меня получилось следующее:
1. Скачиваем собственно дистрибутив программы iview432_setup.exe, плагины irfanview_plugins_432_setup.exe, файлы русификации Russian.dll, IP_Russian.lng, файл русской помощи i_view32.chm, складываем на сервере в общедоступной папке.Кроме того - там же создаем флаг-файл irfan_ru.flg с произвольным содержанием - понадобится для контроля русификации;
2. В автозагрузку пользователей добавляем .bat файл со следующим содержанием:(откорректировать согласно своей системы):
@echo off > nul
rem Check that it's not server
IF EXIST c:\Server.sys goto end
IF /I %COMPUTERNAME%==server goto end
IF /I %COMPUTERNAME%==server_sql goto end
IF /I %COMPUTERNAME%==nav-server goto end
rem installing IrfanView
if exist "%ProgramFiles%\IrfanView\" goto irfan_ok
\\server\userinst$\IrfanView\iview432_setup.exe /silent /allusers=1 /assoc=1 /ini=%APPDATA%\Irfanview
rem installing plugins
\\server\userinst$\IrfanView\irfanview_plugins_432_setup.exe /silent
rem installing russian lang
copy "\\server\userinst$\IrfanView\Russian\Russian.dll" "%ProgramFiles%\IrfanView\Languages\Russian.dll"
rem Check that it's not server
IF EXIST c:\Server.sys goto end
IF /I %COMPUTERNAME%==server goto end
IF /I %COMPUTERNAME%==server_sql goto end
IF /I %COMPUTERNAME%==nav-server goto end
rem installing IrfanView
if exist "%ProgramFiles%\IrfanView\" goto irfan_ok
\\server\userinst$\IrfanView\iview432_setup.exe /silent /allusers=1 /assoc=1 /ini=%APPDATA%\Irfanview
rem installing plugins
\\server\userinst$\IrfanView\irfanview_plugins_432_setup.exe /silent
rem installing russian lang
copy "\\server\userinst$\IrfanView\Russian\Russian.dll" "%ProgramFiles%\IrfanView\Languages\Russian.dll"
copy "\\server\userinst$\IrfanView\Russian\IP_Russian.lng" "%ProgramFiles%\IrfanView\Languages\IP_Russian.lng"
copy /y "\\server\userinst$\IrfanView\Russian\i_view32.chm" "%ProgramFiles%\IrfanView\i_view32.chm"
:irfan_ok
rem every user can have separate settings
if exist "%APPDATA%\Irfanview\irfan_ru.flg" goto end
:irfan_ok
rem every user can have separate settings
if exist "%APPDATA%\Irfanview\irfan_ru.flg" goto end
if not exist "%APPDATA%\Irfanview" md "%APPDATA%\Irfanview"
copy /y "\\server\userinst$\IrfanView\i_view32.ini" "%APPDATA%\Irfanview\i_view32.ini"
copy /y "\\server\userinst$\IrfanView\irfan_ru.flg" "%APPDATA%\Irfanview\irfan_ru.flg"
:end
exit /b 0
На этом, собственно, все. При следующем входе в систему IrfanView установится в тихом режиме, проверит перед этим - а не установлен ли он уже в системе, установятся плагины, в программе будут открываться все файлы изоборажений, для интерфейса и помощи будет выбран русский язык. Кроме того - так как файл настроек i_view32.ini находится в папке профиля пользователя %APPDATA% - то каждый пользователь компьютера может иметь свой набор настроек - в данном случае я против однообразия.
Что еще радует - у IrfanView совершенно прекрасный FAQ, в котором есть ответы на все возникающие вопросы - правда, на английском языке - но ведь так и должно быть?
Вывод - отличное решение для просмотра изображений, легкое, быстрое и удобное.
Про пользователя с .psd файлом - остался доволен, и - на будущее - проблема просмотра изображений решена для всех пользователей сети.