Ho usato Spreadsheet_Excel_Writer
in PHP, ed è abbastanza buono . Non WYSIWYG, ma genera file XSL e sono soddisfatto. Successivamente, è possibile use OpenOffice macro convertire il documento in PDF. Funziona da riga di comando, ergo, funziona anche da script PHP.
O ecco un modo ancora migliore.
Utilizzare OpenOffice per convertire un modello Smarty. Smarty è un fantastico motore di template per PHP, lo raccomando per questo scopo. Quindi genera puro HTML usando PHP con Smarty. Infine, basta convertire l'HTML generato in PDF usando il metodo sopra menzionato.
Reporting Revolutionized (tm).
EDIT, 6 giugno 2009 Modded down? Ah, non importa
Ad ogni modo, questo metodo funziona su un server headless senza eseguire X11. Ho preso lo script dallo mentioned link (eccetto che l'ho inserito nella raccolta preesistente "Standard" invece di "DannysLibrary") e quindi ho eseguito questo comando dalla macchina Windows usando PuTTY, e X è stato spento sulla macchina remota, e La variabile DISPLAY non è stata impostata e ... beh, in ogni caso, non è possibile che OOo trovi X11 a cui connettersi.
$ openoffice.org -invisible -headless "macro:///Standard.Conversion.ConvertWordToPDF(`pwd`/logaritamska.doc)"
Questo funziona e sono sicuro che questo sarebbe grande lavoro per tutti coloro che avresti bisogno di conversione da un formato in PDF, inclusa la produzione di report stampabili da HTML. Modificando la macro, potresti persino ottenere OOo da leggere direttamente da stdin o dall'URL del tuo servizio temporaneo e inviarlo in un file predefinito. Lo script su link è abbastanza semplice una volta che hai il codice elementare da espandere.
Sommario:
- generare report come XLS o HTML
- convertirli
- anche se è OOo, funziona su macchine senza testa
EDIT 9 Giugno 2009 I Ho provato a implementare un convertitore online in questo modo. Dovresti eseguire PHP sotto lo stesso utente con cui hai creato le macro. Apparentemente questo utente non può essere www-data. Ho provato a usare suphp, ma per qualche motivo non ha cambiato l'utente in modo corretto (posix_getuid()
ha mantenuto il valore 33, che è www-data). Lo modificherò una volta risolto questo problema.
EDIT, 26 giu. 2009 Indovinate, mi ci è voluto un po 'per riferire. Sì, funziona con suphp. Tuttavia, non sono in grado di mostrarlo dal vivo, poiché l'unico server su cui ho eseguito un'applicazione web relativamente critica che non ha un controllo di sicurezza professionale. Ciò significa che una delle cose da cui dipendiamo per proteggere il back-end è che l'utente con cui viene eseguito frontend è un utente molto svantaggiato (come www-data). Non chiedere :-)
Spero che questo aiuti qualcuno: sì, la conversione in PDF con OO.o è abbastanza realistica. C'è anche qualche supporto per le chiamate remote in OO.o ma non l'ho studiato allo scopo di scrivere questo.
Vuol dire che vuoi un software troppo costoso che richiede un'enorme server farm e ha la fragilità del design degli spaghetti grezzi? : D –
Mi dispiace, ho dimenticato di menzionare. Lo volevo FLOSS – Mez