Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-11-2008, 23:04   #1
alemuscolino
Bannato
 
Iscritto dal: Apr 2007
Messaggi: 54
[JAVA] Stampare HTML?????

Il problema è "semplice"... sapete dirmi come si fa a mandare in stampa un documento HTML in java. In particolar modo, supponendo che io abbia una stringa contenente il codice HTML, a partire da qui come posso stampare la pagina generata dal codice HTML in questione???
Vi ringrazio in anticipo!! Aiutatemi!
alemuscolino è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 11:20   #2
alemuscolino
Bannato
 
Iscritto dal: Apr 2007
Messaggi: 54
Perchè nessuno risponde???

Datemi una mano vi pregooooooo!!!!!!!
alemuscolino è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 11:40   #3
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
java digerisce solo in parte il codice html...potresti aprire il proswer con la pagina selezionata come una sorta di preview...e da qui l'utente lancerebbe il comando di stampa...

ciao Andrea
ally è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 11:49   #4
alemuscolino
Bannato
 
Iscritto dal: Apr 2007
Messaggi: 54
No, a me servirebbe qualcosa che direttamente lo stampi, l'utente non deve vedere nulla... Io ho implementato questo... ma mi stampa 9999 pagine vuote??? DATEMI UNA MANO SONO NEI CASINI!!!!

Codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.lang.*;
import java.math.BigDecimal;
import java.net.*;
import java.lang.reflect.*;
import java.awt.print.*;


public class Stampare {
	public static void main(String argom[]) {
	try{
	printableEditorPane jEditorPane = new printableEditorPane();
	jEditorPane.setContentType("text/html");
	jEditorPane.read(new BufferedReader(new FileReader("esempio.html")), ""); 
	PrinterJob job = PrinterJob.getPrinterJob();
	job.setPrintable(jEditorPane);
	if (job.printDialog()) /* Displays the standard system print dialog*/{
	
		job.print();
	}
	}
	catch (Exception ex){
		System.out.println(ex);
	}
		return;
	}
	
	public static class printableEditorPane extends JEditorPane implements
Printable, Serializable
{
public int print (Graphics g, PageFormat pf, int pageIndex) throws PrinterException{
	Graphics2D g2 = (Graphics2D)g;
	g2.setColor (Color.black);

	RepaintManager.currentManager(this).setDoubleBufferingEnabled(false);
	Dimension d = this.getSize();
	double panelWidth = d.width;
	double panelHeight = d.height;
	double pageWidth = pf.getImageableWidth();
	double pageHeight = pf.getImageableHeight();
	double scale = pageWidth / panelWidth;
	int totalNumPages = (int)Math.ceil(scale * panelHeight /
	pageHeight);

// Check for empty pages
	if (pageIndex >= totalNumPages) return Printable.NO_SUCH_PAGE;

	g2.translate(pf.getImageableX(), pf.getImageableY());
	g2.translate(0f, -pageIndex * pageHeight);
	g2.scale(scale, scale);
	this.paint(g2);

	return Printable.PAGE_EXISTS;
	}
	}


}

AIUTOOOOOOOOOOOOOOOOOOO!!!!!!

Ultima modifica di alemuscolino : 14-11-2008 alle 14:48.
alemuscolino è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 11:50   #5
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
per la cronaca dai un occhio al PrinterJob per capire meglio quale strada intraprendere...guardando un po' in rete consigliano di convertire la pagina in pdf o in una immagine tramite programmi esterni per poi darli in pasto a java da stampare...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 11:52   #6
alemuscolino
Bannato
 
Iscritto dal: Apr 2007
Messaggi: 54
Allora a me serve stampare qualcosa di più pulito di un semplice testo nn formattato. Andrebbe bene anche pdf!!! C'è un esempio di codice dal quale a partire da una stringa mi fa stampare un qualcosa di decente????
alemuscolino è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 12:44   #7
alemuscolino
Bannato
 
Iscritto dal: Apr 2007
Messaggi: 54
Ragazzi ma è così difficile st probema????
alemuscolino è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 12:51   #8
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Non so quanto sia utile essere impazienti.

Io stavo facendo delle ricerche per te, ma ancora non ho trovato nulla, se ci riesco te lo dico.
A quanto pare non è proprio una cavolata.
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 12:58   #9
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Ti consiglio di dare un occhio alla libreria JasperReports, magari c'è quello che fa per te.
Però non è che la scarichi ed entro domani hai già la funzionalità integrata bella e pronta, ti tocca studiarla un attimo prima.

Se poi hai la fortuna che qualcuno che ha già fatto una cosa simile passi di qua e legga, dandoti delle dritte, tanto meglio.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 13:04   #10
alemuscolino
Bannato
 
Iscritto dal: Apr 2007
Messaggi: 54
Non c'è nulla di pronto quindi.... mi sento troppo a mare... ma voi cosa mi consigliate di alternativo per il mio problema.
In sintesi io vorrei mandare in stampa automaticamente un documento html da java, anche da riga di comando, ma basa che sia in via automatica. qualsiasi csa va bene!!! Ditemi se magari è più facile eseguire una conversione pdf o cose simili... mi basterebbe generare qualcosa di pulito e formattato e stamparlo... Vi ringrazio infinitamente!!!!
alemuscolino è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 14:34   #11
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Qualche giorno fa avevo trovato su Internet una pagina che diceva che con un semplice comando si manda in stampa "una certa cosa" passata come parametro facendo comparire la classica finestra di stampa.. il problema è che non lo ritrovo. La cosa interessa anche a me.
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 14:38   #12
alemuscolino
Bannato
 
Iscritto dal: Apr 2007
Messaggi: 54
Il codice che ho scritto apre quella finestra... guarda un po dove bisogna operare per gli html... magari in due riusciamo a svelare l'arcano!
alemuscolino è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 14:39   #13
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Intanto perché non editi il tuo post e metti il tuo codice fra i tag [code] che ci sono apposta?
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 14:57   #14
alemuscolino
Bannato
 
Iscritto dal: Apr 2007
Messaggi: 54
Il programma di prima non stampa nulla... dice che ci sono 9999 pagine.... Questo programma invia in stampa il documento senza aprire la finestra di selezione stampanti... che a me interessa aprire... in particolar modo ho scoperto che la porzione di codice:

Codice:
PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); 
DocPrintJob job = services[0].createPrintJob();
Rappresenta il metodo per richiamare la stampante [0] predefinita...

il codice completo è:

Codice:
import java.io.*; 
import javax.print.*; 
import javax.print.attribute.*; 
import javax.print.attribute.standard.*; 
import java.awt.print.*;

public class TestURLPrint { 
public FileInputStream psStream = null; 

public TestURLPrint(String htmlFileName) throws IOException { 
	try { 
		psStream = new FileInputStream(htmlFileName); 
	} catch (FileNotFoundException ffne) { 
	} 
	if (psStream == null) { 
	return; 
	} 

	DocFlavor psInFormat = new DocFlavor("application/octet-stream","java.io.InputStream"); 

	Doc myDoc = new SimpleDoc(psStream, psInFormat, null); 
	PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); 
	aset.add(new Copies(1)); 

	aset.add(OrientationRequested.PORTRAIT); 
	aset.add(new JobName("Impression",null)); 
	PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); 
	DocPrintJob job = services[0].createPrintJob(); 
	try { 
	job.print(myDoc, aset); 
	try { 
		Thread.sleep(3000); 
	} catch ( Exception ex ) { 
		System.err.println("Error sleeping: " + ex ); 
	} 
		System.out.println("HERE!!!!!!!!"); 
	} catch(PrintException pe) { 
		System.out.print("ERROR!!!!---> " + pe); 
	} 
	} 

	public static void main(String args[]) { 
	try { 
	TestURLPrint tup = new TestURLPrint("gg.html"); 
	} catch (IOException ioe) { 
	System.out.println("IO ERR " + ioe); 
	} 
	} 
}
Ma se lo provate purtroppo avvia stampe senza far comparire la finestra di selezione della stampante... e anche se metto come oggetto dell'array [1] (XPS document writer... quella virtuale va) non mi fa selezionare il percorso dove salvare il file immagine di stampa... è un problemone... come si risolve???? Io sto cercando come un addannato... spero di trovare una soluzione decente e pubblicarla almeno chi si troverà in una situazione del genere in futuro potrà fare un copy/paste....

AIUTATEMI!!!! grazie
alemuscolino è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 15:16   #15
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Se risolvi così bene, altrimenti quoto il consiglio di Ally, e cioè di trovare e usare una libreria per Java che converta da Html a PDF, e quindi di mandare in stampa il PDF.

Io ne ho viste alcune commerciali, non so se ne esistano di gratuite.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 15:37   #16
alemuscolino
Bannato
 
Iscritto dal: Apr 2007
Messaggi: 54
credo che il problema adesso riguardi la semplice programmazione e nient'altro... guardate qui:

Codice:
import java.io.*; 
import javax.print.*; 
import javax.print.attribute.*; 
import javax.print.attribute.standard.*; 
import java.awt.print.*;

public class TestURLPrint { 
public FileInputStream psStream = null; 

public TestURLPrint(String htmlFileName) throws IOException { 
	try { 
		psStream = new FileInputStream(htmlFileName); 
	} catch (FileNotFoundException ffne) { 
	} 
	if (psStream == null) { 
	return; 
	} 
try { 
	DocFlavor psInFormat = new DocFlavor("application/octet-stream","java.io.InputStream"); 

	Doc myDoc = new SimpleDoc(psStream, psInFormat, null); 
	PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); 
	aset.add(new Copies(1)); 
	aset.add(OrientationRequested.PORTRAIT); 
	aset.add(new JobName("Impression",null)); 
	PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); 
	String ser=services[0].toString();
	System.out.println(ser);
	//DocPrintJob job = services[1].createPrintJob(); 
	
	PrintService selectedPrinter = ServiceUI.printDialog(null, 50, 50, services, services[0], null, aset);
	
	DocPrintJob job = selectedPrinter.createPrintJob();

	
		
	try { 
		Thread.sleep(3000); 
	} catch ( Exception ex ) { 
		System.err.println("Error sleeping: " + ex ); 
	} 
		System.out.println("HERE!!!!!!!!"); 
	} catch(Exception exe) { 
		System.out.print("ERROR!!!!---> " + exe); 
	} 
	} 

	public static void main(String args[]) { 
	try { 
	TestURLPrint tup = new TestURLPrint("gg.html"); 
	} catch (IOException ioe) { 
	System.out.println("IO ERR " + ioe); 
	} 
	} 
}
Perchè non mi compare la printDialog???????
alemuscolino è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
Le 10 migliori offerte Amazon di Pasqua:...
Nuove fotografie dagli astronauti di Art...
La toilette della capsula Orion Integrit...
GeForce NOW: ecco tutte le novità in arr...
Il Realme 16 5G debutta sul mercato glob...
HONOR svela tre nuovi tablet: il più int...
Tineco Floor One S9 Master: aspira e pul...
Vivo X300 Ultra, il lancio globale è ini...
Offerte robot aspirapolvere Amazon: ECOV...
L'AI genera codice in 8 minuti e i senio...
Ring Intercom Audio a 44,99€ su Amazon: ...
Apple iPhone 16 crolla a 689€: ecco perc...
Google Pixel 9 a 449,90€ con caricatore ...
Ecco la top 7 delle offerte Amazon, aggi...
Ex ingegnere ammette il sabotaggio: migl...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:40.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v