come controllo il mio metodo di stampa java funziona correttamente senza stampante fisica
Ho il metodo di stampa per il documento html nella mia applicazione. Non ho accesso a una stampante fisica. dal momento che non ho collegato il computer a una stampante fisica, ho ottenuto il "nessun servizio di stampa trovato" come specificato nel codice. posso controllare che la funzione funzioni correttamente quando collego il computer a una stampante senza stampante fisica?
FileInputStream psStream = null;
try {
psStream = new FileInputStream("c:\\some.html");
} catch (FileNotFoundException ffne) {
ffne.printStackTrace();
}
if (psStream == null) {
return;
}
DocFlavor htmlStreamFlavor = new DocFlavor("text/html; charset=utf-16", "java.io.InputStream");
Doc myDoc = new SimpleDoc(psStream, htmlStreamFlavor, null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
PrintService[] services = PrintServiceLookup.lookupPrintServices(htmlStreamFlavor, aset);
// if several printers configured
PrintService myPrinter = null;
for (int i = 0; i < services.length; i++){
String svcName = services[i].toString();
System.out.println("service found: "+svcName);
if (svcName.contains("printer closest to me")){
myPrinter = services[i];
System.out.println("my printer found: "+svcName);
break;
}
}
if (myPrinter != null) {
DocPrintJob job = (DocPrintJob) myPrinter.createPrintJob();
try {
job.print(myDoc, aset);
} catch (Exception pe) {pe.printStackTrace();}
} else {
System.out.println("no printer services found");
}
2 answers
Esistono stampanti logiche che creano un pdf invece di stampare. Per la tua applicazione sembrano proprio come una normale stampante.
Vedi questa lista piuttosto lunga per le opzioni: https://www.google.de/search?q=pdf + stampante
È possibile utilizzare una stampante virtuale, ad esempio: PDF Creator è davvero facile da installare e si può usare dal vostro programma come se fosse una vera e propria stampante.