Печать

Тема в разделе "WASM.BEGINNERS", создана пользователем XshStasX, 8 июн 2010.

  1. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    После такой последовательности действий:
    Код (Text):
    1. PrintDlg(&pd)
    2. StartDoc
    3. StartPage
    4.  // здесь что нибедь рисуем в pd.hDC
    5. EndPage
    6. EndDoc
    7. DeleteDC
    Так вот, печать должна сразу после EndDoc начаться? у меня лично просто печать ставиться в очередь.
    А как заставить из программы принтер напечатать страницу, а только после этого уже завершить роботу программы ?

    Код той программы которая есть (прикреплен к теме)
     
  2. baldr

    baldr New Member

    Публикаций:
    0
    Регистрация:
    29 апр 2010
    Сообщения:
    327
    XshStasX,

    Точно ставится? По идее GetClientRect() на HDC вместо HWND скажет ERROR_INVALID_WINDOW_HANDLE.
     
  3. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    ммм... у самого нет принтера, но людям посылал говорили что ставится.
     
  4. baldr

    baldr New Member

    Публикаций:
    0
    Регистрация:
    29 апр 2010
    Сообщения:
    327
    Это не проблема. Установить драйвер на порт FILE: — штука нехитрая.
     
  5. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Какой драйвер ? можешь дать ссылку на эту тему, про подобную вещт первый раз слышу.
     
  6. baldr

    baldr New Member

    Публикаций:
    0
    Регистрация:
    29 апр 2010
    Сообщения:
    327
    XshStasX,

    Драйвер — любой. Чтобы полюбоваться результатами печати, стóит выбрать что-нибудь PCL-ное, типа HP LaserJet 4.

    Процедура довольно тривиальна. В мастере добавления принтера выбрать "локальный/не определять автоматически", на следующем экране выбрать порт FILE:, а в списке производителей/моделей — HP/HP LaserJet. При печати на этот принтер спросит, в какой файл сохранить результат. Для просмотра есть всякие PCLReader'ы.

    Есть другой вариант: что-нибудь вроде PDFCreator. Виртуальный принтер в PDF.

    И ещё: в составе MS Office 2003 идёт аналогичный драйвер, умеет сохранять в TIFF (компонент Office Tools/Microsoft Office Document Imaging/Microsoft Office Document Image Writer). Наверняка и в более новых офисах есть аналог (что-то про XPS).

    В общем-то, принтер физически и не нужен для теста программы. :derisive: