powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Печать документа
3 сообщений из 3, страница 1 из 1
Печать документа
    #33483884
K1RUHA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Пытаюсь распечатать текст, который содержиться в JTextPane с названием workArea. Вот исходный код обработчика:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
     public   void  actionPerformed(ActionEvent e){

      PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
      
      DocPrintJob job = printService.createPrintJob();
      DocFlavor docFlavor = DocFlavor.STRING.TEXT_PLAIN;
      DocAttributeSet docAttributes =  new  HashDocAttributeSet();
      docAttributes.add(OrientationRequested.PORTRAIT);
      PrintRequestAttributeSet printAttributes =  new  HashPrintRequestAttributeSet();
      printAttributes.add( new  Copies( 2 ));
      Doc doc =  new  SimpleDoc(workArea.getText(), docFlavor, docAttributes);
      
       try {
        job.print(doc, printAttributes);
      }
       catch (PrintException pe){
          workArea.setText(pe.getMessage());
      }

    }

Однако в блоке try-catch генерируется исключение с текстом "invalid flavor". Как с этим можно бороться?
...
Рейтинг: 0 / 0
Печать документа
    #33484438
K1RUHA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал пример с сайта Sun:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
 import  java.io.*;
 import  javax.print.*;
 import  javax.print.attribute.*;
 import  javax.print.attribute.standard.*;
 import  javax.print.event.*;

 public   class  PrintPS {

	 public   static   void  main(String args[]) {
		PrintPS ps =  new  PrintPS();
	}

	 public  PrintPS() {
		DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
		PrintRequestAttributeSet aset = 
			 new  HashPrintRequestAttributeSet();
//		aset.add(MediaSizeName.ISO_A4);
//		aset.add(new Copies(2));
//		aset.add(Sides.TWO_SIDED_LONG_EDGE);
//		aset.add(Finishings.STAPLE);

		PrintService[] pservices =
			PrintServiceLookup.lookupPrintServices(flavor, aset);
		 if  (pservices.length >  0 ) {
			System.out.println("selected printer " + pservices[ 0 ].getName());

			DocPrintJob pj = pservices[ 0 ].createPrintJob();
			 try  {
				FileInputStream fis =  new  FileInputStream("test.txt");
				Doc doc =  new  SimpleDoc(fis, flavor,  null );

				pj.print(doc, aset);

			}  catch  (IOException ie) { 
				System.err.println(ie);
			}  catch  (PrintException e) { 
				System.err.println(e);
			}
		}
	}
}

Принтер находится и в очередь печать документ ставится, статус документ Printing, но через секунд 10 документ пропадает из очереди и печать не происходит :(
...
Рейтинг: 0 / 0
Печать документа
    #33486567
K1RUHA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Up!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Печать документа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]