Print, Landscape

  • Автор темы wowa
  • Дата начала
W

wowa

Возможно ли сделать кодом печать на альбомном расположении листа?

P.s. Orientation: Landscape
 
O

Omh

Через WinAPI
Ща ещё lmike вариант на джаве подскажет...

что-то.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
ябы не заморачивался :)
ибо через винапи людя ходють не один год и кажный раз получают граблями и больно :)
первое во что упрутся - права на принтерный контекст

сморя чё печатаем...
воще... печать не самая сильная сторона Нотуса (и РТФ в частности) ;)
а потому есть пожелания - строить процесс таким образом, что бы печатать инфу не из нотуса

и на последок - вот людя домучались, пробуйте (но не жалуйтесь)
 
K

Klido

ещё в конце 90-х на 3-4 лотусину в инете уже были готовые классы для работы с принтерами... не помню уже API там было или нет :) но работало - правильные драйвера под любой принтер и печатали хоть что - я конкретно печатал векселя (на бланк строгой отчетности) из диалоговой формы...
так что наверняка на каком-нить openntf.org всё это добро есть...

но IBM жжет как всегда - цитата из дизайнерского хелпа 8.5

This code prints the selected documents from a view in landscape format. Add this code to an agent that has Action menu selection chosen as the trigger and None as the target.
@Command([FilePrint])
When the Print View dialog box displays, select landscape as the orientation on the Page Setup tab, then press Ok.
 
N

nvyush

Недавно столкнулся с необходимостью печатать бланк в альбомной ориентации. Выгружать в word, excel, а тем более разбираться с FOP ради такой ерунды не хотелось. Предложенные выше решения показались громоздкими. Попробовал SendKeys, но в справке по Лотусу честно сказано, что в клиенте она не работает (а на фига она тогда нужна?). Подсказку нашёл здесь link removed. Испытывалось под виндой в клиенте 8.0.2. Может кому поможет:
Код:
Declare Sub keybd_event Lib "user32" (Byval bVk As Byte, Byval bScan As Byte, Byval dwFlags As Long, Byval dwExtraInfo As Long)

Const KEYEVENTF_KEYDOWN = &H0
Const KEYEVENTF_KEYUP = &H2

Sub Initialize
'ctrl+P - открываем диалог печати
keybd_event VK_CONTROL, 0, KEYEVENTF_KEYDOWN, 0
keybd_event VK_P, 0, KEYEVENTF_KEYDOWN, 0
keybd_event VK_P, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_CONTROL, 0, KEYEVENTF_KEYUP, 0
'shift+tab - переходим на закладки
keybd_event VK_SHIFT, 0, KEYEVENTF_KEYDOWN, 0
keybd_event VK_TAB, 0, KEYEVENTF_KEYDOWN, 0
keybd_event VK_TAB, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_SHIFT, 0, KEYEVENTF_KEYUP, 0
'right - переходим на закладку параметров страницы
keybd_event VK_RIGHT, 0, KEYEVENTF_KEYDOWN, 0
keybd_event VK_RIGHT, 0, KEYEVENTF_KEYUP, 0
'alt+a - выбираем альбомную ориентацию
keybd_event VK_MENU, 0, KEYEVENTF_KEYDOWN, 0
keybd_event VK_A, 0, KEYEVENTF_KEYDOWN, 0
keybd_event VK_A, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
'enter - жмём ОК
keybd_event VK_RETURN, 0, KEYEVENTF_KEYDOWN, 0
keybd_event VK_RETURN, 0, KEYEVENTF_KEYUP, 0
End Sub
Коды клавиш можно посмотреть здесь
 
T

TIA

nvy
Попробуй перед выполнением кода переключиться на русскую раскладку клавиатуры (ну или какая у тебя там кроме английской).
Alt+A теоретически не должно отработать.
 
H

hosm

TIA ну вот вечно ты придерешься :trash: имхо, молодец, но надо же всю инфу давать...
да мне лично вообще варианты с keybd_event не по душе, но раз уж так - вроде где-то на винапи попадался код опроса текущей раскладки и переключения раскладок (даже что-то пробовалось когда-то - правда, не понадобилось пока)
 

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
233
Выкладывал (WinAPI).
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!