Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Печать документа / 3 сообщений из 3, страница 1 из 1
15.01.2006, 23:23
    #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
16.01.2006, 11:45
    #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
17.01.2006, 10:40
    #33486567
K1RUHA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать документа
Up!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Печать документа / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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