на главную обучение сертификация статьи литература ссылки гостевая книга
  Список статей Оглавление Текст статьи  

Печать документов на принтере в Java

Автор:Качалов Михаил Викторович
Создан:07.05.2002


3. Формирование изображения для печати

   Хотя рисование на графическом контексте принтера ничем не отличается от рисования на графическом контексте экрана, и при этом используются те же методы и классы, однако в процессе подговки изображения для принтера важно учитывать размеры и расположение области печати. В противном случае часть изображения, не уместившаяся в области печати, просто обрежется и потеряется при печати.
   Для определения размеров листа необходимо использовать следующие методы класса PrintJob:
  • public Dimension getPageDimension() - определяет размеры листа в пикселах, что удобно при рисовании на графическом контексте принтера;

  • public int getPageResolution() - определяет "разрешение" листа в пикселах на дюйм. Надо иметь в виду, что такое разрешение не имеет отношения к физическому разрешению принтера.
   Пример использующий данные методы: SimplePageInfo.java. Результаты работы этого примера приведены ниже:

Информация о используемом для печати листе

   Большинство принтеров при печати оставлят поля на листе, образующиеся в силу особенностей механики конкретного принтера, не позволяющих подвести печатающую головку к самому краю листа.

Область печати документа

   Поля принтера могут отличаться друг от друга по размеру, т. е. не обязательно, чтобы верхнее поле было равно нижнему, а правое левому. Конкретные размеры полей зависят от марки принтера. Определить размеры этих полей с помощью классов и методов Java 1.0 API невозможно. Соответствующие классы и методы появились в Java 1.2 API и будут рассмотрены ниже.
   Дополнительные затруднения при печати спомощью Java 1.0 API представляет отсутствие возможности определить ориентацию листа при печати. В окне принтерного диалога пользователь может выбрать различную ориентацию бумаги: "книжную" (Portrait) или "альбомную" (Landscape), отличающиеся направлениями координатных осей при печати.

Виды ориентации бумаги

   В Java 1.2 API существуют методы, позволяющие определить выбранное пользователем направление печати (ориентацию бумаги).


назад оглавление дальше