Print, Landscape

Тема в разделе "Lotus - Программирование", создана пользователем wowa, 14 июл 2009.

  1. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Возможно ли сделать кодом печать на альбомном расположении листа?

    P.s. Orientation: Landscape
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Через WinAPI
    Ща ещё lmike вариант на джаве подскажет...

    Вот что-то.
     
  3. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    ябы не заморачивался :)
    ибо через винапи людя ходють не один год и кажный раз получают граблями и больно :)
    первое во что упрутся - права на принтерный контекст

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

    и на последок - вот людя домучались, пробуйте (но не жалуйтесь)
    http://web3.inttrust.ru/Site/itforum.nsf/a...29?OpenDocument
     
  4. Klido

    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.
     
  5. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Недавно столкнулся с необходимостью печатать бланк в альбомной ориентации. Выгружать в word, excel, а тем более разбираться с FOP ради такой ерунды не хотелось. Предложенные выше решения показались громоздкими. Попробовал SendKeys, но в справке по Лотусу честно сказано, что в клиенте она не работает (а на фига она тогда нужна?). Подсказку нашёл здесь Выделить программно документы в виде (uiview.selectdocument). Испытывалось под виндой в клиенте 8.0.2. Может кому поможет:
    Код (Text):
    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
    Коды клавиш можно посмотреть здесь http://api.farmanager.com/ru/winapi/virtualkeycodes.html
     
  6. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    nvy
    Попробуй перед выполнением кода переключиться на русскую раскладку клавиатуры (ну или какая у тебя там кроме английской).
    Alt+A теоретически не должно отработать.
     
  7. hosm

    hosm * so what *

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

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Предпочитаю думать, что я "предостерегаю", а не "придираюсь". Какую такую "всю инфу" давать?
     
  9. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    что это тоже реализуемо программно...

    Добавлено:
    ок, поправка принята, ты прав.
     
  10. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
Загрузка...
Похожие Темы - Print Landscape
  1. gx6060
    Ответов:
    3
    Просмотров:
    324
  2. Serduko
    Ответов:
    0
    Просмотров:
    309
  3. Pingvin1
    Ответов:
    3
    Просмотров:
    1.143
  4. pinkmouse
    Ответов:
    4
    Просмотров:
    1.803
  5. BrookBond
    Ответов:
    4
    Просмотров:
    1.698

Поделиться этой страницей