Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Report di stampa e linee non stampate

    Salve a tutti,
    ho il seguente codice per la stampa di report con java. In pratica riceve testo_da_stampare che è una stringa suddivisa dai caratteri "\n", che deve essere splittata appunto per caratteri "\n" ed ogni split deve essere stampato su una riga del foglio.

    Prima di mettere lo split mi stampava una sola riga, adesso invece non me ne stampa nemmeno una. Ad ogni modo come faccio a stampare una nuova riga? il mio codice è il seguente:

    codice:
    import java.awt.print.*;
    import java.awt.*;
    
    public class Stampa implements Printable {
    
    	String testo_da_stampare;
    
    public Stampa(String s) throws PrinterException{
    	PrinterJob pj = PrinterJob.getPrinterJob();
    	testo_da_stampare=s;
    	pj.printDialog();
    	
        PageFormat pf = pj.defaultPage();
        Paper paper = new Paper();
        double margin = 36; // half inch
        paper.setImageableArea(margin, margin, paper.getWidth() - margin * 2, paper.getHeight()
            - margin * 2);
        pf.setPaper(paper);
    
        pj.setPrintable(this, pf);
    	
    	//pj.setPrintable(this);
    	pj.print();
    }
    
    public int print(Graphics grap,
    PageFormat pageFormat, int pageIndex) throws PrinterException
    {
    if(pageIndex > 0)
        return NO_SUCH_PAGE;
    
    String[] str = testo_da_stampare.split("\\n");
    int i = 0;
    while(i <= str.length)
    {
    	System.out.println(str[i]);
    	System.out.println(str.length);
    	grap.setColor(Color.BLACK);
    	grap.drawString(str[i], (int)pageFormat.getImageableX(), 
    	   (int)pageFormat.getImageableY()+5);
    	i++;
    }
    
    /*grap.setColor(Color.BLACK);
    grap.drawLine((int)pageFormat.getImageableX(), (int)pageFormat.getImageableY(), 
       (int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight());*/ 
    
    return PAGE_EXISTS;
    }
    }
    vi ringrazio in anticipo,
    neptune.
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  2. #2
    Giocando un pò con i margini sono riuscito a mettere tutte le righe belle incolonnate, l'unico problema ora è che non so come fargli cambiare pagina uqnado si riempie.

    Sono circa un 80ina di stringhe, quando arriva alla 25-esima circa si riempie la pagina e non stampa più le altre e non so come dirgli di proseguire su una nuova pagina.

    Avete qualche consiglio a riguardo?
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.