Поделиться через


Практическое руководство. Печать из программы Windows

В этом разделе описывается печать из собственной программы Windows.

Общие сведения

Печать обычно является неотъемлемой частью собственной программы Windows. Таким образом, это не функция, которую можно легко добавить после написания программы. При этом, если программа предназначена для использования документов XPS, ей не потребуется много дополнительного кода для отрисовки содержимого документа для печати. Документы XPS приложения можно отправлять непосредственно на принтер с драйвером принтера XPSDrv.

Используйте API документов XPS для создания содержимого документа и API печати XPS для отправки содержимого документа на принтер. API печати XPS обрабатывает содержимое документа для целевого принтера. Если у выбранного принтера есть драйвер принтера XPSDrv, документ будет отправлен на принтер без дополнительного преобразования. Если у выбранного принтера есть драйвер принтера на основе GDI, программа также может отправить содержимое на принтер, а API печати XPS преобразует содержимое документа таким образом, чтобы оно было совместимо с драйвером принтера на основе GDI. В любом случае обработка, выполняемая приложением, одинакова.

Задачи печати

В следующих разделах описаны основные этапы печати содержимого программы.

  1. Сбор сведений о задании печати от пользователя.

    Как правило, пользователь инициирует задание печати при выборе параметра печати в меню, а программа отображает диалоговое окно печати для сбора сведений о задании печати. Обычно пользователь выбирает принтер, количество копий и сведения о конфигурации принтера, такие как двусторонняя печать и скрепка.

    Сведения о том, как это сделать, см. в разделе Практическое руководство. Сбор сведений о задании печати от пользователя.

  2. Создание индикатора хода выполнения.

    Индикатор хода выполнения предоставляет пользователю отзывы о ходе выполнения задания печати. Индикатор хода выполнения может быть индикатором выполнения, который является частью диалогового окна с кнопкой Отмена для задания, или индикатором выполнения в строке состояния в нижней части окна main.

    Сведения о работе индикатора хода выполнения см. в разделе Практическое руководство. Отображение хода выполнения задания печати.

    Дополнительные идеи о том, как отобразить ход выполнения задания печати, см. в статье Руководство по разработке пользовательского интерфейса приложений Windows .

  3. Запустите поток печати.

    После сбора пользователем сведений о задании печати программа может запустить поток печати, чтобы выполнить фактическую обработку документа для печати.

    Сведения о потоке печати см. в разделе Практическое руководство. Запуск и остановка потока печати.

  4. Отрисовка данных задания печати.

    Поток печати отображает данные документа для печати. Эту обработку следует разбить на дискретные шаги обработки, чтобы пользователь смог прервать обработку и отменить задание, а также не позволить потоку обработки блокировать другие потоки и процессы.

    Сведения о том, как отрисовывает данные задания печати, см. в разделе Практическое руководство. Отрисовка данных задания печати.

  5. Мониторинг хода выполнения задания печати.

    По мере выполнения каждого шага обработки обновите индикатор выполнения, чтобы сообщить об использовании. Вычислить шаги обработки для выполнения запрошенного задания, а затем обновить индикатор выполнения по мере выполнения этих шагов.

  6. Закройте задание печати и завершите поток печати.

    После того как программа отправит задание печати на принтер или если пользователь отменил задание печати, необходимо закрыть задание печати и освободить ресурсы, используемые заданием печати.

Практическое руководство. Сбор сведений о задании печати от пользователя