Практическое руководство. Печать из программы Windows
В этом разделе описывается печать из собственной программы Windows.
Обзор
Печать обычно является неотъемлемой частью собственной программы Windows. Поэтому это не функция, которую можно легко добавить после написания программы. При этом, если программа предназначена для использования документов XPS, не потребуется много, если вообще потребуется, дополнительного кода для отображения содержимого документа на печать. Документы XPS приложения можно отправлять непосредственно на принтер с драйвером принтера XPSDrv.
Используйте API документов XPS для создания содержимого документа и API печати XPS для отправки содержимого документа на принтер. API печати XPS обрабатывает содержимое документа для целевого принтера. Если выбранный принтер имеет драйвер принтера XPSDrv, документ будет отправлен на принтер без дополнительного преобразования. Если выбранный принтер имеет драйвер принтера на основе GDI, программа также может отправлять содержимое на принтер, а API печати XPS преобразует содержимое документа, чтобы он был совместим с драйвером принтера на основе GDI. В любом случае обработка, выполняемая приложением, совпадает.
Задачи печати
В следующих разделах описаны основные этапы печати содержимого программы.
Сбор сведений о задании печати от пользователя.
Как правило, пользователь инициирует задание печати при выборе параметра печати в меню, а программа отображает диалоговое окно печати для сбора сведений о задании печати. Обычно пользователь выбирает принтер, количество копий и сведения о конфигурации принтера, такие как двухсторонняя печать и срезание.
Сведения о том, как это сделать, см. в разделе Как: Сбор информации о печатном задании от пользователя.
Создание индикатора хода выполнения.
Индикатор хода выполнения предоставляет пользователю отзыв о том, как выполняется задание печати. Индикатором хода выполнения может быть полоса прогресса, которая является частью диалогового окна с кнопкой Отмена для задания или может быть полосой прогресса в строке состояния в нижней части главного окна.
Сведения о работе индикатора хода выполнения см. в разделе «Практическое руководство: Отображение выполнения задания печати» .
Дополнительные идеи о том, как отобразить ход выполнения задания печати, см. в руководствах по разработке пользовательского интерфейса приложений Windows .
Запуск потока печати.
После того как программа собрала сведения о задании печати от пользователя, он может запустить поток печати для выполнения фактической обработки документа для печати.
Сведения о потоке печати см. в разделе Как запустить и остановить поток печати.
Обработать данные задания на печать.
Поток печати подготавливает данные документа для печати. Необходимо разбить эту обработку на дискретные шаги обработки, чтобы пользователь смог прервать обработку и отменить задание, а также запретить потоку обработки блокировать другие потоки и процессы.
Сведения о том, как происходит обработка данных задания на печать, см. раздел Инструкция по: Обработка данных задания на печать.
Отслеживать ход выполнения задания печати.
По мере выполнения каждого шага обработки обновляйте индикатор хода выполнения, чтобы информировать пользователя. Шаги обработки вычисляются, чтобы завершить запрошенное задание, а затем индикатор выполнения обновляется по мере выполнения этих шагов.
Закрыть задание печати и завершить поток печати.
После отправки задания печати на принтер или если пользователь отменил задание печати, необходимо закрыть задание печати и освободить ресурсы, используемые заданием печати.
Связанные разделы