So che PHP ha il proprio PECL to do this, ma attualmente sto usando PHP 5.4 e lo php_printer.dll
non è compilato per questa versione.È possibile accedere a una stampante locale utilizzando i socket TCP/IP in PHP?
risposta
PECL può avere alcune cose vecchie lì, php_printer.dll è tutto ma deprecato. Inoltre, poiché PHP è un linguaggio di scripting, è incredibilmente difficile accedere direttamente alle funzioni hardware (come una stampante). È meglio trovare o scrivere funzioni di accesso alla stampante in qualcosa come C++ ed eseguire lo script usando system(); . Buona fortuna!
La stampa direttamente da PHP su socket TCP/IP richiede un'enorme quantità di lavoro, specialmente su ambiente Windows senza estensione Printer o una bella libreria.
Dalla documentazione:
gli utenti Windows devono consentire php_printer.dll all'interno di php.ini per per utilizzare queste funzioni. Una DLL per questa estensione PECL è attualmente non disponibile.
Quindi, si può provare a scaricare php_printer.dll
binario precompilato per PHP 5.3 da http://downloads.php.net/pierre/ e usare quella. Probabilmente funzionerà anche con PHP 5.4. In caso contrario, è necessario compile PHP from source per utilizzare l'estensione stampante di Windows.
Ho provato quello, e come ho detto "php_printer.dll" non è compilato per PHP 5.4+ e con ciò intendo che PHP è cambiato molto da 5.2+ e anche 5.3+, e ciò significa che lo farò modificare alcune fonti di php_printer.dll prima di compilarlo, e io non sono abbastanza qualificato per farlo. –
L'ho fatto proprio così! Eseguo semplicemente il comando "print" dalla funzione "exec" su Windows, e attraverso di esso posso stampare i documenti :) –
Felice di sentire che ha funzionato per voi. Exec() è tuo amico! –