Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    102

    Stampa massiva documenti in locale

    Ciao,
    Ho installato sul server "SERVER_A" un programma PHP che esegue un comando per la stampa massiva di documenti PDF tramite "AcroRd32.exe" .

    Per fare questo, però, ho bisogno di un programma JS che, come il tasto stampa
    Codice PHP:
    "window.print()" 
    ,
    mi faccia stampare il documento in locale e non sulla coda di stampa del "SERVER_A" .

    Ho provato inutilmente con:
    Codice PHP:
    window.print(<? echo exec('AcroRd32.exe /t /h C:\\Prova_01.pdf'); ?> )
    Qualche suggerimento? Grazie

  2. #2
    hai provato a guardare sia exec che system..

    http://it2.php.net/manual/it/function.exec.php
    http://it2.php.net/manual/it/function.system.php

    ho letto che c'è anche un discorso di safe mode da considerare, se è on non è possibile eseguire comandi se non quelli presenti nel percorso apposito.

    In particolare come esempio questo mi sembra interessante (però non posso provarlo qui, quindi spero di non farti perdere tempo :rollo: )

    codice:
    <?php
    
    function _exec($cmd)
    {
       $WshShell = new COM("WScript.Shell");
       $cwd = getcwd();
       if (strpos($cwd,' '))
       {  if ($pos = strpos($cmd, ' '))
          {  $cmd = substr($cmd, 0, $pos) . '" ' . substr($cmd, $pos);
          }
          else
          {  $cmd .= '"';
          }
          $cwd = '"' . $cwd;
       }  
       $oExec = $WshShell->Run("cmd /C \" $cwd\\$cmd\"", 0,true);
      
       return $oExec == 0 ? true : false;
    }
    ?>
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    102
    Originariamente inviato da dav22
    hai provato a guardare sia exec che system..
    In locale il programma PHP che lancia acrobat funziona perfettamente così anche se lo lancio dal client sul server.

    Il problema è che le stampe le invia sulla stampante collegata al webserver .

    Se il programma è istallato sul mio pc i documenti li stampa sulla mia stampante locale.
    Se il programma è, come deve essere, installato sul server i documenti li manda sulla stampante locale di sistema del server - e non va bene perchè devo dare all'utente la possibilità di stamparle sul suo pc in locale.

    Ecco perchè mi era venuto in mente di utilizzare qualcosa come la funzione JS "window.print" che apre la finestra di scelta stampante.

    Ma questa funzione non è adatta perchè stampa in locale solo l'immagine video e non
    determinati documenti.

    Comunque grazie

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Immagino che il tuo pdf lo apra in una nuova finestra, un popup o un frame... in questo caso prima devi dare il focus alla finestra che devi stampare:

    // frame
    top.nomeFrame.focus();top.nomeFrame.print();

    // popup
    win = window.open("documento.pdf","nomePop")
    win.focus();win.print();

    <a href="documento.pdf" target="nomeFin">
    ...
    // finestra
    win = window.open("","nomeFin")
    win.focus();win.print();


    Provali tu per me
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    102
    Originariamente inviato da br1
    Immagino che il tuo pdf lo apra in una nuova finestra, un popup o un frame... in questo caso prima devi dare il focus alla finestra che devi stampare:
    In verità l'esigenza è quella di stampare automaticamente una serie di file pdf senza l'apertura del pannello di acrobat.

    Nel caso l'utente abbia necessità di stampare un flusso di 100 file pdf dovrebbe per ogni stampa aprire e chiudere il pannello. Ma questo problema non sussiste perchè il codice PHP
    Codice PHP:
    echo exec('AcroRd32.exe /t /h C:\Prova_01.pdf'); 
    lo esegue correttamente senza far aprire alcun pannello di acrobat inviando le stampe direttamente alla stampante.

    Rimane il problema di non riuscire a deviare questo flusso da stampare dal webserver alla stampante del client che ha lanciato la procedura.

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Botola59
    C:\Prova_01.pdf'
    In ogni caso non potresti stampare nulla senza prima scaricarlo in una finestra del browser...

    E comunque con javascript non si puo'... sposto?

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    102
    Originariamente inviato da br1
    E comunque con javascript non si puo'... sposto?
    ciao
    Si grazie ma dove?

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.