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

    php stampa file su carta

    Ho un problema nella stampa di un file che ho su di un server.
    Mi spiego meglio, ho realizzato tramite php un semplice script che raccoglie i dati inviati tramite form dall'utente, genera un modulo con fpdf e poi salva il file pdf sul server.
    Vorrei far si però che venga automaticamente stampato (dalla stampante collegata al server) il file appena generato in pdf.

    Ovviamente il processo non deve richiedere interazione da parte dell'utente, quindi la persona arriva, compila il modulo, preme submit ed esce il modulo dalla stampante!
    Ovviamente se non è necessario posso far passare al browser il file pdf invece che salvarlo...

    Il tutto deve funzionare su di un unico pc, tramite un unica stampante collegata via USB, quindi non dovrei avere problemi di "portabilità"...
    Nel caso possa servire, il pc monta linux, e webserver apache.

    Però non so assolutamente come fare ad interfacciarmi con la stampante...
    Tutte le guide che ho trovato prevedevano di aprire il file nel browser e poi usare javascript per farlo stampare... ma io preferirei che l'utente non debba fare nulla, quindi automatizzare al massimo!
    Potete aiutarmi?
    Grazie in anticipo!!

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    potresti usare i comandi linux per la stampa, se non ricordo male esiste un comando per stampare direttamente i pdf da linea di comando, dopodichè si tratta solo di usare system per chiamare un comando di sistema.

    Inoltre esistono le funzioni per la stampa in php, ma non le ho mai usate, e non credo che stampino un pdf, ma magari puoi cercare sul manuale.

    ciao

  3. #3
    Purtroppo sul manuale non ho trovato nulla perchè anche cercando "stampa" o "print" esce un mare di cose sulle variabili (ovviamente) ed evidentemente mi sono perso le info sulla stampa "fisica" nel mezzo!

    Effettivamente potrei usare i comandi di linux...
    (e qui so che sto per contraddirmi)
    vorrei mantenere un minimo di "multipiattaformità" ovvero andare ad usare direttamente i comandi da exec o system come ultima risorsa...

    Possibile che non ci sia possibilità di far stampare un file? Ok che il linguaggio non è nato per quello... ma magari tramite javascript (che lavora lato client, ma tanto il pc sempre quello è...) o altro...

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Allora, il modulo di cui ti parlavo è il modulo printer, e serve per comandare direttamente da php la stampante.
    Esiste solo su win, quindi non fa al caso tuo, e in ogni caso avendo già un pdf pronto non va bene.

    Effettivamente potrei usare i comandi di linux...
    (e qui so che sto per contraddirmi)
    infatti

    vorrei mantenere un minimo di "multipiattaformità" ovvero andare ad usare direttamente i comandi da exec o system come ultima risorsa...
    Non credo sia proprio possibile, il fatto che tu usi un server come se fosse un client vuooll dire già che stai sfruttando il php in un modo non proprio standard, e che quindi lo devi adattare alle tue esigenze.
    Tieni presente che qualcosa del genere non esiste e non esisterà mai, un server php da solo non è giusto che possa accedere alle periferiche di sistema, tant'è vero che anche il modulo printer funziona solo su windows datati, evidentemente anche in winxp il sistema operativo vieta l'accesso alle periferiche dal php.

    Possibile che non ci sia possibilità di far stampare un file? Ok che il linguaggio non è nato per quello... ma magari tramite javascript (che lavora lato client, ma tanto il pc sempre quello è...) o altro...
    In linea di massima il javascript richiede un interazione con l'utente, quindi il massimo che può fare è aprirti la finestra della stampa, e non so se è possibile con un pdf.

    Secondo me la via della system è l'unica percorribile, tutt'al più per mantenere un minimo di "standardizzazione" puoi lavorare su 2 soluzioni diverse, i comandi linux per stampa, e un eventuale alternativa su windows, in modo da poter richiamare i 2 script a seconda della piattaforma su cui gira il server.

    ciao

  5. #5
    Ti ringrazio tantissimo!

    sei stato molto gentile e soprattutto chiaro!
    Provo ad implementare il tutto e nel caso chiedo ancora (ma nella sezione giusta!)

  6. #6
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    visto che sei su linux, perchè non salvi tutti i pdf in una cartella e poi imposti un cron-job ( es. ogni minuto ) e usare i comandi di stampa dei quali parlava gianiaz?...

  7. #7
    Preferisco un comando exec se devo usare i comandi di stampa direttamente, così ho il vantaggio di avere il comando direttamente nel php (adeguatamente commentato in modo che se dovessi cambiare OS, ne dubito, non mi dimentichi di cambiarlo!).

    Inoltre un cronjob al minuto significa che (secondo la legge di murpy) l'utente dovrà aspettare mediamente 59 secondi per il suo foglio, e la cosa non mi ispira...
    Mettere cron-job più brevi di un minuto, 24/24 365/365 per la vita di un server mi sembra un po' stressante...

    Grazie comunque!

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    154
    Ma questi comandi per la stampa esistono anche su mac?

    Invece per linux come si chiamano?

  9. #9
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    su mac non sono sicuro....su linux lpr

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.