|
Проверка на возможность двусторонней печати | ☑ | ||
---|---|---|---|---|
0
Skimes
27.12.11
✎
16:25
|
Уважаемые знатоки, вопрос:
Можно как то посмотреть при печати, доступна ли принтеру двусторонняя печать? Читал форум, везде говориться, что надо формировать .dat файл для принтеров. Но контора большая, принтеров много, это надо сильно запариться, что бы для каждого принтера это делать. Есть какие то методы? Буду очень признателен |
|||
1
Широкий
27.12.11
✎
16:26
|
практически не реализуемо
|
|||
2
Skimes
27.12.11
✎
16:35
|
Ясно, спасибо!
Но все же если будут еще мнения, я с готовностью их выслушаю=) |
|||
3
aleks-id
27.12.11
✎
16:37
|
строишь список принтеров, получаешь их свойства запросом. среди прочих свойств была и двухсторонняя печать.
|
|||
4
ThreeTONE
27.12.11
✎
16:37
|
сделай справочник принтеров, проставь ДвухсторонняяПечать = истина для нужных принтеров
при печати макета проверяй |
|||
5
andrewks
27.12.11
✎
16:38
|
ну, если только через WMI получать драйвер, и + иметь таблицу для каждого драйвера (да/нет)
но идея попахивает бредом |
|||
6
aleks-id
27.12.11
✎
16:50
|
как то так
Функция ЗаполнитьПринтеры() Принтеры = Новый СписокЗначений; Состояние("Составляется список принтеров. Подождите."); Попытка Locator = Новый COMОбъект("WbemScripting.SWbemLocator"); Сервисы = Locator.ConnectServer("."); Объекты = Сервисы.ExecQuery("SELECT * FROM Win32_Printer"); Для Каждого Принтер из Объекты Цикл ИмяПринтера = Принтер.Name; Пока Найти(ИмяПринтера,"\") > 0 Цикл ИмяПринтера = Сред(ИмяПринтера, Найти(ИмяПринтера,"\")+1); КонецЦикла; ИмяПринтера = СокрЛП(ИмяПринтера); Принтеры.Добавить(Принтер.Name,ИмяПринтера); КонецЦикла; Исключение КонецПопытки; Состояние(); Возврат Принтеры; КонецФункции class Win32_Printer : CIM_Printer { uint32 Attributes; uint16 Availability; string AvailableJobSheets[]; uint32 AveragePagesPerMinute; uint16 Capabilities[]; string CapabilityDescriptions[]; string Caption; string CharSetsSupported[]; string Comment; uint32 ConfigManagerErrorCode; boolean ConfigManagerUserConfig; string CreationClassName; uint16 CurrentCapabilities[]; string CurrentCharSet; uint16 CurrentLanguage; string CurrentMimeType; string CurrentNaturalLanguage; string CurrentPaperType; boolean Default; uint16 DefaultCapabilities[]; uint32 DefaultCopies; uint16 DefaultLanguage; string DefaultMimeType; uint32 DefaultNumberUp; string DefaultPaperType; uint32 DefaultPriority; string Description; uint16 DetectedErrorState; string DeviceID; boolean Direct; boolean DoCompleteFirst; string DriverName; boolean EnableBIDI; boolean EnableDevQueryPrint; boolean ErrorCleared; string ErrorDescription; string ErrorInformation[]; uint16 ExtendedDetectedErrorState; uint16 ExtendedPrinterStatus; boolean Hidden; uint32 HorizontalResolution; datetime InstallDate; uint32 JobCountSinceLastReset; boolean KeepPrintedJobs; uint16 LanguagesSupported[]; uint32 LastErrorCode; boolean Local; string Location; uint16 MarkingTechnology; uint32 MaxCopies; uint32 MaxNumberUp; uint32 MaxSizeSupported; string MimeTypesSupported[]; string Name; string NaturalLanguagesSupported[]; boolean Network; uint16 PaperSizesSupported[]; string PaperTypesAvailable[]; string Parameters; string PNPDeviceID; string PortName; uint16 PowerManagementCapabilities[]; boolean PowerManagementSupported; string PrinterPaperNames[]; uint32 PrinterState; uint16 PrinterStatus; string PrintJobDataType; string PrintProcessor; uint32 Priority; boolean Published; boolean Queued; boolean RawOnly; string SeparatorFile; string ServerName; boolean Shared; string ShareName; boolean SpoolEnabled; datetime StartTime; string Status; uint16 StatusInfo; string SystemCreationClassName; string SystemName; datetime TimeOfLastReset; datetime UntilTime; uint32 VerticalResolution; boolean WorkOffline; }; |
|||
7
aleks-id
27.12.11
✎
16:54
|
+(6) http://msdn.microsoft.com/en-us/library/windows/desktop/aa394363(v=VS.85).aspx
вот тут покопайся |
|||
8
aleks-id
27.12.11
✎
16:56
|
+(7) http://msdn.microsoft.com/en-us/library/windows/desktop/aa394364(v=VS.85).aspx
видимо дуплекс - то, что тебе надо |
|||
9
andrewks
27.12.11
✎
16:58
|
(8) вообще, похоже, что да. только непонятно, как выкручиваться на сервере под линем :)
|
|||
10
aleks-id
27.12.11
✎
17:02
|
(9) (*поправляет пенсне*) чойта я про линь в (0) ни слова не увидел ;)
|
|||
11
aleks-id
27.12.11
✎
17:02
|
(9) закинь 6-8 в БЗ, пригодится.
|
|||
12
andrewks
27.12.11
✎
17:04
|
(11) готово
(10) а вдруг? "контора большая" (цы) ;-) |
|||
13
aleks-id
27.12.11
✎
17:05
|
(12) она ж будет на клиенте отрабатываться, и клиентские принтеры таскать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |