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

    Stampare su carta i risultati di una query

    Buon giorno, dovrei stampare su carta il risultato di una query.Ho questo script preso qui sul forum, non l'ho provato perchè non so da dove partire.
    Ho capito qualcosa ma mi serve il vostro aiuto quello che ho è questo:
    codice:
    $stampante=printer_open("Epson Stylus Color 660"); // Apro la connessione
    printer_start_doc($stampante,"Titolo del Documento"); // Inizio documento
    printer_start_page($stampante); //Inizio pagina 1
    
    $font=printer_create_font("Arial", 148, 76, PRINTER_FW_MEDIUM, false, false, false, -50);
    printer_select_font($font);
    printer_draw_text($stampante,"MDSJACK è mitico!", 10, 10); // Ecco che scriviamo!!!
    printer_delete_font($font);
    
    printer_end_page($stampante); // Fine pagina 1
    printer_start_page($stampante); //Inizio pagina 2
    
    printer_draw_bmp($stampante, "c:\immagine.bmp", 10, 10); //Ecco la nostra immagine!!!
    
    printer_end_page($stampante); // Fine pagina 2
    printer_end_doc($stampante); // Fine documento
    printer_close($stampante); // Chiudo la connessione
    estrapolo i dati tramite questa query:
    codice:
    $query = ("SELECT * FROM TBURP_STORICO");
    
    while($riga = mysql_fetch_array($res[0])) {
    $protocollo = $riga['protocollo'];
    $email = $riga['email'];
    $data = $riga['data'];
    $borgo = $riga['borgo'];
    $indirizzo = $riga['indirizzo'];
    $civico = $riga['civico'];
    }
    in pratica come dovrei fare per farmi stampare su carta il risultato?
    Grazie mille....

  2. #2
    Avevo posto un esempio nelle pillole per stampare le buste pescando gli indirizzi dal db.

    http://forum.html.it/forum/showthrea...hreadid=445992

    tieni presente che bisogna valutare la densita' di stampa (pixel x inch) , l'esempio si riferisce ad una stampante 300 x 300 p.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    grazie Piero.Allora volevo dirti che, per il momento sto seguendo questa strada però mi dà questo errore:
    codice:
    Warning: Wrong parameter count for printer_select_font() in c:\phpdev\www\public\asbam_new\classestampalistaurp.php on line 9
    
    //La linea 9 è questa
    $font=printer_create_font("Arial", 148, 76, PRINTER_FW_MEDIUM, false, false, false, -50);
    Come mai mi dice che i parametri sono sbagliati quando questa funzione rispecchia, quella presa sul manuale di php.net?

    PS: per il momento le prove della stampa la visualizzo creando un file pdf, altrimenti sprecherei miliardi di fogli

    Grazie ancora...

  4. #4
    ciao Piero, allora sto cercando di capire la tua pillola e ci sono quasi.
    Però volevo chiederti qualcosa:
    1. posso stampare la struttura di una tabella in html?Se si come? perchè con il semplice comando printer_draw_text non mi funziona.In pratica non interpreta l'html e stampa questo: "<table ...."
    2. Poi, come posso stampare 5/10 record per pagina?

    Per il momento solo questo.

    Grazie mille

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    128

    stampa

    Ciao Antagonia, che cosa hai usato per stampare in pdf?
    Grazie

  6. #6
    ho tra le stampanti Adobe PDF cosi invece di stampare su carta genero un file .pdf, poi stamperò su carta.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    128
    ah ok, credevo avessi usato uno script php per stampare su pdf

  8. #8
    Originariamente inviato da ANTAGONIA
    ciao Piero, allora sto cercando di capire la tua pillola e ci sono quasi.
    Però volevo chiederti qualcosa:
    1. posso stampare la struttura di una tabella in html?Se si come? perchè con il semplice comando printer_draw_text non mi funziona.In pratica non interpreta l'html e stampa questo: "<table ...."
    2. Poi, come posso stampare 5/10 record per pagina?

    Per il momento solo questo.

    Grazie mille
    Stampa le stringhe, non interpreta il codice, e' una stampante e non un browser.

    per stampare 5/10 record per pagina devi ripetere 5/10 volte le righe nella pagina. Non puoi fare un loop con for o while. In altre parole devi impostare la pagina da stampare completa.

    occhio poi alla risoluzione come ti ho detto. Se stampi su PDF la risoluzione sara' al max 96 pixel per inch.... Se la stessa pagina la mandi in stampa a 600x600 ti apparira' piccolissima.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    ho provato a fare come dici te, invece di stampare 3 record diversi, stampa sempre lo stesso record.Come mai?

  10. #10
    Originariamente inviato da ANTAGONIA
    ho provato a fare come dici te, invece di stampare 3 record diversi, stampa sempre lo stesso record.Come mai?
    non so come lo hai fatto....

    metti 5 record in un array numerico, .... pseudo codice....

    printer_open

    select
    conta = 0;
    while($row ....

    $pippo[] = $row;

    if conta == 5 stampa

    altri comandi
    start doc
    start page
    select font

    draw1 $pippo[0]
    draw2 $pippo[1]
    draw3 $pippo[2]
    draw4 $pippo[3]
    draw5 $pippo[4]
    end page
    end doc

    end della if di stampa

    conta++;
    } fine while

    oppure fai una paginazione di 5/10 ed estrai solo il numero delle righe da stampare...

    ma e' un sistema fuori tempo usare le funzioni printer() ... va bene solo per chi aveva a suo tempo impaginato per la stampa dei documenti su stampanti DOS. E poi queste funzioni vanno solo per windows anche se con qualche workaround si puo' fare anche in linux. Non ne vale la spesa. Meglio stampare con il pdf.

    c'e' un riferimento nelle pillole ...

    http://www.fpdf.org/en/script/script36.php

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.