|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
[java]Stream di stampa
Salve a tutti, ho fatto un programma che tutti i giorni ad una certa ora stampa tutti i pdf presenti in una certa cartella. per la stampa uso Adobe Reader
Codice:
(Process pr = Runtime.getRuntime().exec("AcroRd32.exe /p /h percorso_file"))
Grazie. ![]() p.s. altra domanda che però non centra molto: come si fà a mettere il titolo del messaggio in grassetto???
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" Ultima modifica di mone.java : 14-07-2008 alle 15:14. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
hai provato con /t ?
__________________
|Java Base| |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
Con \t non funzione poichè serve a visualizzare il documento prima di stamparlo, comunque ho gia risolto così facendo:
trovo il percorso della stampante predefinita: Codice:
public static String getDefaultPrinter() {
//cerco di trovare il nome della stampante predefinita con java
String printerName;
PrintService ps = PrintServiceLookup.lookupDefaultPrintService();
printerName = ps.getName();
//se il nome della stampante non è nullo lo ritorno
if(printerName != null && !printerName.equals(""))
if(printerName.indexOf("\\")!=-1)
return Utility.deleteSpaces(printerName.substring(printerName.indexOf("\\")));
else
return Utility.deleteSpaces(printerName);
//se java non ha trovato la stampante ci provo con dos riuscito provo con dos
else {
try {
String sys32Path = Utility.replaceBackslash(new File("C:\\WINDOWS\\system32\\prnmngr.vbs"));
Process cmd = Runtime.getRuntime().exec("cscript "+sys32Path+" -g");
InputStream cmdStream = cmd.getInputStream();
BufferedReader br = new BufferedReader( new InputStreamReader(cmdStream));
String s = null;
for (int i=0; i<4; i++) {
s = br.readLine();
}
printerName = s.substring(s.indexOf("\\"));
return Utility.deleteSpaces(printerName);
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
Codice:
public static int getPrintQueue (String printer) throws Exception {
System.out.println("net print "+printer);
Process cmd = Runtime.getRuntime().exec("net print "+printer);
InputStream cmdStream = cmd.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(cmdStream));
String s = null;
//l'informazioni relative alla coda di stampa si trovano all'ottava riga
for(int i=0; i<8; i++) {
s = br.readLine();
}
String s2 = "";
//ripulisco l'output del cmd fino a ricavare solo il numero di stampe in coda
for(int i=28; i<s.length(); i++) {
try {
int b = +Integer.parseInt(""+s.charAt(i));
s2 += b;
System.out.println(s2);
} catch(Exception e) {
}
}
try {
return Integer.parseInt(s2);
} catch (Exception e) {
return -1;
}
}
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:12.












|








