Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации
СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT

Как Использование Приложений Служба печати Java

Типичное приложение, используя API Службы печати Java выполняет эти шаги, чтобы обработать запрос печати:
  1. Получите подходящий DocFlavor, который является классом, который определяет формат данных печати.
  2. Создайте и заполните AttributeSet, который инкапсулирует ряд атрибутов, которые описывают требуемые возможности службы печати, такие как возможность напечатать пять копий, сшитых, и двусторонний.
  3. Поиск служба печати, которая может обработать запрос печати как определено DocFlavor и набором атрибута.
  4. Создайте задание печати из службы печати.
  5. Вызовите метод печати задания печати.
Приложение выполняет эти шаги по-другому в зависимости от того, что и как оно намеревается напечатать. Приложение может или отправить данные печати принтеру или потоку вывода. Данные печати могут или быть документом в форме текста или изображений, или Jav объект, инкапсулирующий 2-D Графику. Если данные печати являются 2-D графикой, задание печати может быть представлено или DocPrintJob или PrinterJob. Если данные печати являются документом тогда, DocPrintJob должен использоваться.

Комбинации печати методов и форматов данных печати приводят к выбору шести механизмов печати:

Глава Атрибутов и Определение главы Типов документов описывают, как создать набор атрибута и определить типы документов для использования с любым из механизмов печати. Печатая и Передавая Документы потоком </a> глава обсуждает печать и потоковую передачу использования документов DocPrintJob. Печать и Потоковая передача 2-D Графики глава объясняет печать и потоковую передачу 2-D графики, используя и DocPrintJob и PrinterJob.

Основной Пример

Большинство приложений, используя API Службы печати Java, вероятно, отправит документ непосредственно принтеру, который демонстрирует следующий пример кода:

// Input the file
FileInputStream textStream; 
try { 
        textstream = new FileInputStream("file.TXT"); 
} catch (FileNotFoundException ffne) { 
} 
if (textstream == null) { 
        return; 
} 
// Set the document type
DocFlavor myFormat = DocFlavor.INPUT_STREAM.TEXT_PLAIN_ASCII;
// Create a Doc
Doc myDoc = new SimpleDoc(texttream, myFormat, null); 
// Build a set of attributes
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); 
aset.add(new Copies(5)); 
aset.add(MediaSize.ISO_A4);
aset.add(Sides.DUPLEX); 
// discover the printers that can print the format according to the
// instructions in the attribute set
PrintService[] services =
        PrintServiceLookup.lookupPrintServices(myFormat, aset);
// Create a print job from one of the print services
if (services.length > 0) { 
        DocPrintJob job = services[0].createPrintJob(); 
        try { 
                job.print(myDoc, aset); 
        } catch (PrintException pe) {} 
} 
Хотя эта выборка только демонстрирует один из этих шести способов напечатать, другая работа механизмов печати похожим способом. Остальная часть этого руководства обсуждает каждую часть процесса печати и всех механизмов печати более подробно



СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT

Oracle и/или его филиалы Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами