Salve, devo sviluppare un gestionale che prevede la stampa su stampanti fiscali Olivetti.
Sono ancora in fase embrionale e sto verificando i problemi connessi all'uso di PHP.
Mi sono arenato nella gestione di ELAMANAGER (programmino di scambio dati tra software proprietario e stampanti fiscali di Olivetti).
La olivetti fornisce un'OCX che permette di interfacciarsi con ELAMANAGER ed inviare informazioni alla stampante fiscale.
Spulciando in rete ho trovato vari esempi per utilizzare file OCX da PHP.
Ecco quello che ho trovato:
codice:
//create an instance of Windows Media Player $mp = new COM("WMPlayer.OCX"); //ejects the first cd-rom on the drive list $mp->cdromcollection->item(0)->eject(); $mp->quit();
e anche
codice:
// istanziamo l'oggetto COM $output = new COM("powerpoint.application"); // creiamo la presentazione $ppt = $output->Presentations->Add(); // inseriamo un prima slide il valore 12 indica che sarà vuota $ppt->Slides->Add(1,12); // inseriamo una seconda slide il valore 10 indica che presenterà contenuti $ppt->Slides->Add(2,10); // inserimo un box per il testo $ppt->Slides[1]->Shapes->AddTextbox(1,20,50,300,40); // salviamo il documento $output->Presentations[1]->SaveAs("C:\PHP.ppt"); // liberiamo le risorse $output->quit();
Sulla falsa riga di questi esempi sempre utilizzando l'oggetto COM ho tentato di utilizzare il mio OCX con questo codice:
codice:
//create an instance of Windows Media Player $ela = new COM("ELAMI.ocx"); //ejects the first cd-rom on the drive list //$mp->cdromcollection->item(0)->eject(); //Private Sub AskInfo_Click() echo "Versioni: ". $ela.MainForm.ELAMIControl.GetReleaseInfo(ClientRelease) ."
". ela.MainForm.ELAMIControl.GetReleaseInfo(ServerRelease); $ela->quit();
Ma ottengo solamente questo risultato:
codice:
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `ELAMI' in C:\Documents and Settings\Utente\Documenti\Dropbox\gestionale\pagine\prova_activx_ELAMI.php on line 3 ( ! ) com_exception: Failed to create COM object `ELAMI': Sintassi non valida. in C:\Documents and Settings\Utente\Documenti\Dropbox\gestionale\pagine\prova_activx_ELAMI.php on line 3
Ho regolarmente registrato il file OCX con il comando REGSRV32.exe
Qualcuno ha mai provato a sviluppare qualcosa in PHP interfacciandosi con ELAMANAGER?
Oppure avete qualche idea su come fare?
Se necessario posto allegare la libreria ed alcuni esempi di codice (sono in Vb e quindi vanno "tradotti") per utilizzare la libreria.
Grazie a tutti.