Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-11-2008, 00: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, 12: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, 12: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, 12: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 15:48.
alemuscolino è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2008, 12: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, 12: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, 13: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, 13: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, 13: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, 14: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, 15: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, 15: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, 15: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, 15: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, 16: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, 16: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


Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
Funzionalità top a un prezzo acce...
Lo strumento per gli aggiornamenti autom...
Imperdibile sconto sul roborock Saros Z7...
Google Pixel 10, altri 100€ di sconto su...
Chip sotto i 2 nanometri, l'Europa alza ...
La smart meno smart di tutte: #6 in azio...
Red Hat Enterprise Linux sbarca su AWS E...
Addio alle migliaia di cicli e anni di t...
Colpo di STMicroelectronics, un'intesa d...
La Ferrari elettrica si chiama Luce: ecc...
Proseguono le riparazioni in vista del l...
Cinema domestico low cost: proiettore Fu...
Sharp porta a ISE 2026 i nuovi display i...
Casa più sicura senza lavori: Arl...
Batterie esauste, l'Italia raccoglie sol...
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: 00:57.


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