У меня есть файл RTF на сервере. Я хочу напрямую распечатать файл с помощью программы JAVA.Я попробовал следующий код (учтите, что только один принтер ( LIPI ) подключен к серверу)
FileInputStream psStream = null;
try {
psStream = new FileInputStream("C://SampleBoard2.rtf");
} catch (FileNotFoundException ffne) {
ffne.printStackTrace();
}
if (psStream == null) {
return;
}
DocFlavor psInFormat = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc myDoc = new SimpleDoc(psStream, psInFormat, null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
PrintService[] services = PrintServiceLookup.lookupPrintServices(psInFormat, aset);
PrintService myPrinter = null;
for (int i = 0; i < services.length; i++){
String svcName = services[i].toString();
myPrinter = services[i];
}
if (myPrinter != null) {
DocPrintJob job = myPrinter.createPrintJob();
try {
job.print(myDoc, aset);
} catch (Exception pe) {pe.printStackTrace();}
} else {
System.out.println("no printer services found");
}
Файл помещается в буфер и принтер также запускается, но принтер печатаетсодержимое файла RTF thge, например содержимое файла text .Что нужно сделать, чтобы отобразить файл в RTF , а затем распечатать?
Я получил что-то подобное в распечатке.
\ rtf1 \ ansi \ ansicpg1252\ deff0 {\ fonttbl {\ f0 \ froman \ fcharset0 Times New Roman;} {\ f1 \ froman \ fcharset0 Courier;} {\ f2 \ froman \ fcharset0 Arial;} {\ f3 \ froman \ fcharset0 unknown;}} {\colortbl \ red0 \ green0 \ blue0; \ red255 \ green255 \ blue255;} {\ stylesheet {\ style \ s0 \ ql \ fi0 \ li0 \ ri0 \ f2 \ fs24 \ cf0 Normal;} {\ style \ s3 \ ql \ fi0\ li0 \ ri0 \ f2 \ fs26 \ b \ cf0 заголовок 3;} {\ style \ s2 \ ql \ fi0 \ li0 \ ri0 \ f2 \ fs28 \ b \ i \ cf0 заголовок 2;} {\ style \ s1 \ ql\ fi0 \ li0 \ ri0 \ f2 \ fs32 \ b \ cf0, заголовок 1;}} ..... .... ...
.... ... ...
Куда я иду не так?