|
|
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Приветствую! 1. Как определить, есть ли вообще возможность дуплексной печати, я знаю. Когда-то скопипастил из интернета что-то типа такого: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 2. Как теперь понять, какой именно вид дуплексной печати поддерживается: ручной (когда надо самому бумажку перекладывать) или автоматический (когда принтер сам обратно бумажку засасывает)? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2020, 15:58 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Dimitry Timokhov, Удивительно, но интернет не знает ответ на мой вопрос. Даже ребята с стековерфлоу не знают https://stackoverflow.com/questions/60496972/printer-duplex-printing-manual-vs-auto-how-to-detect-programmatically Но MS Word то как-то это делает! Он же умеет понимать какой дуплекс - ручной или автоматический. Ладно, буду копать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2020, 11:58 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Dimitry Timokhov> Но MS Word то как-то это делает! Он же умеет Dimitry Timokhov> понимать какой дуплекс - ручной или автоматический. А он точно это умеет ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2020, 12:13 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Отрыл старый компонент, может вам поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2020, 13:35 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Точно. Где есть только ручной дуплекс, показывает два варианта: а. Односторонняя печать. б. Печать вручную с обеих сторон. Где есть автоматический дуплекс, показывает варианты: а. Односторонняя печать. б. Print on Both sides/Flip pages on long edge в. Print on Both sides/Flip pages on short edge г. Печать вручную с обеих сторон. Т.е. умеет различать возможности принтера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2020, 08:44 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
AndyMandy, Спасибо. Но, к сожалению, это аналог моего кода - т.е. Вы устанавливаете дуплекс. Но не анализируете возможности дуплекса. Я думаю, что разработчики Word могут себе позволить реализовать эвристический анализ. Например, знать все принтеры мира, и на основе имени принтера определять возможности дуплекса - ручной или автоматический. Возможно напрямую в драйвер лазят как-то. Не компетентен, возможно ли это. Похоже, что легального способа получения информации через WinAPI мир не знает. В общем сделаю так: не буду анализировать дуплекс, буду предлагать варианты дуплекса, как будто есть автоматический дуплекс. Пользователь сам разберется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2020, 09:25 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Наверно Ваш путь самый правильный. Слазил ради интереса в FastReport в реализацию окна печати, так там тоже тупо вызывается DeviceCapabilitiesW и возвращается fwCapability. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2020, 16:25 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Dimitry Timokhov Где есть только ручной дуплекс, показывает два варианта: а. Односторонняя печать. б. Печать вручную с обеих сторон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2020, 21:47 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Dimitry Timokhov Похоже, что легального способа получения информации через WinAPI мир не знает. DC_DUPLEX значения 2 и 3 точно никогда не возвращает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2020, 00:34 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, 1. Даже если и возвращает (не пробовал, хотя идея интересная), то всё равно - это недокументированная возможность, согласно: DC_DUPLEX If the printer supports duplex printing, the return value is 1 ; otherwise, the return value is zero. The pOutput parameter is not used. отсюда https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-devicecapabilitiesa 2. Рустам, почему, думаете, 2 и 3 могут вообще возвращаться? 3. Что Вы имеете в виду, говоря, что "Хотя в .Net есть и в WMI есть..."? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2020, 02:25 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
white_nigger, Ну, "Печать вручную с обеих сторон", это когда при печати выводится окошечко (кем-то, не мною) - переложите лист в другой лоток и нажми галочку. Возможно любой принтер так может, не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2020, 02:31 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Да... я не одинок в своих вопросах. http://rsdn.org/forum/winapi/672417.1 16 лет прошло и нет ответа по сути. Похоже, что все же легально (через WinAPI) решить вопрос нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2020, 03:11 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Dimitry Timokhov> всё равно - это недокументированная возможность Да, конечно, это было просто предположение (проверить мне всё равно не на чем). Я бы попробовал проверять не DevCap, а DevMode - там есть соотв. параметры: https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-devmodea Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2020, 10:38 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
white_nigger Эээ.. а чем это отличается от отсутствия дуплекса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2020, 15:12 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Страницы автоматически печатаются через одну. После печати с одной стороны принтер приостанавливает работу и ожидает, когда ему подсунут перевернутые напечатанные листы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2020, 23:17 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Надо на своем стареньком домашнем фотопринтере Pixma iP6600D поэкспериментировать. Я, к своему стыду, только на втором или третьем году эксплуатации узнал что он поддерживает двухстороннюю печать - думал что блок дуплекса надо отдельно докупать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2020, 23:21 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Коллеги, извиняйте. Походу, я не прав. 1. Мой принтер таки поддерживает дуплекс, если поставить в настройках принтера в Панели управления. Да, выводит окошечко - типа страничку переложи. Я почему-то думал, что это и есть дуплекс. Это не дуплекс! Ибо WinSpool.DeviceCapabilities(kDevice, kPort, DC_DUPLEX, nil, nil) возвращает 0! Я реально забыл это проверить - думал, что галка в настройках сама собой даёт 1 для вызова WinSpool.DeviceCapabilities для DC_DUPLEX. И этот дуплекс, который не дуплекс, я называл ручным. 2. А вот 1 вызов WinSpool.DeviceCapabilities для DC_DUPLEX возвращает именно на тех принтерах, где есть настоящий дуплекс, с засасыванием страницы обратно. 3. Вывод простой (но еще надо проверить у клиентов, у которых принтера как а/м стоят). Если вызов WinSpool.DeviceCapabilities для DC_DUPLEX возвращает 1, то это и есть автоматический дуплекс. 4. Насчёт Word, который типа умеет различать ручной и автоматический дуплекс, то все просто. Т.н. ручной дуплекс просто Word делает сам программно. И Word предлагает ручной дуплекс вообще для любого принтера (т.к. реализация программная). А вот варианты автодуплекса с прошивкой по длинному или короткому краю Word предлагает для тех принтеров, которые при вызове WinSpool.DeviceCapabilities для DC_DUPLEX возвращают 1. В общем, еще раз извиняйте. Перемудрил я. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2020, 01:56 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Dimitry Timokhov 4. Насчёт Word, который типа умеет различать ручной и автоматический дуплекс, то все просто. А вот варианты автодуплекса с прошивкой по длинному или короткому краю Word предлагает для тех принтеров, которые при вызове WinSpool.DeviceCapabilities для DC_DUPLEX возвращают 1. б. Print on Both sides/Flip pages on long edge в. Print on Both sides/Flip pages on short edge как раз оттуда и берутся, AFAIU. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2020, 09:35 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Рустам, я не до конца понимаю, что имеется в виду. Если речь про это: авторdmDuplex Selects duplex or double-sided printing for printers capable of duplex printing. Following are the possible values. TABLE 5 Value Meaning DMDUP_SIMPLEX Normal (nonduplex) printing. DMDUP_HORIZONTAL Short-edge binding, that is, the long edge of the page is horizontal. DMDUP_VERTICAL Long-edge binding, that is, the long edge of the page is vertical. отсюда https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-devmodea, то это, как я понял, для установки режима, а не проверки возможностей. Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2020, 13:11 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Dimitry Timokhov Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2020, 14:48 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Dimitry Timokhov> то это, как я понял, для установки режима, а не проверки возможностей. Режим (параметры) можно же не только задать, но и получить текущий. https://docs.microsoft.com/en-us/windows/win32/printdocs/documentproperties white_nigger> эти опции появляются если дуплекс есть. white_nigger> Без всяких дополнительных проверок. white_nigger> Тонкости могут быть на уровне драйверов производителей Наверное, драйвера и устанавливают. А ты какую конкретно функцию смотрел? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2020, 10:34 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
white_nigger, 1. Я тоже пришел к выводу, что если есть дуплекс, то он есть автоматический и баста. 2. Звучит круто про "посмотрел в исходниках винды 2000"))) Я так не умею) --- Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 16:53 |
|
||
|
Как различить какой вид дуплексной печати поддерживает принтер: ручной или автоматический?
|
|||
|---|---|---|---|
|
#18+
Dimitry Timokhov white_nigger, 2. Звучит круто про "посмотрел в исходниках винды 2000"))) Я так не умею) Они же слиты в сеть и гуляют там.. Можно скачать изучать))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 21:37 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39934998&tid=2038486]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 379ms |

| 0 / 0 |
