Generare documenti ODT con immagini dinamiche in PHP
-
21-09-2019 - |
Domanda
Io sostengo un paio di basi di dati web basato su PHP e MySQL su un pacchetto di hosting condiviso. Le basi di dati hanno un meccanismo per l'utente di caricare i documenti OpenOffice con segnaposto:
[person.name] [person.address] [person.postcode]
questo grande strumento di PHP a correre attraverso il documento OpenOffice e inserire i valori da il database in esso. Il risultato è ancora una volta, un documento OpenOffice.
Quello che non può fare è immagini dinamiche .
Qualcuno sa a - preferibilmente PHP-only - soluzione per inserire le immagini in documenti di OpenOffice
- PUNO . Non è possibile utilizzarlo in questo contesto perché è di hosting condiviso.
- So che OpenOffice può essere eseguito come un demone -. Ditto
- phpDocWriter . E 'stato grande per i file SXW, ma è morto.
- So OpenDocument è una raccolta di file XML in un file ZIP. Una volta ho provato ad aggiungere una didascalia di programmazione per ogni immagine in un documento ODT. E mi ha spinto fricking pazzo . Guardo con ammirazione su di sviluppatori che lavorano con il formato, ma non è per me.
Vorrei davvero apprezzare eventuali suggerimenti su soluzioni esistenti.
Soluzione
odtPHP potrebbe essere quello che stai cercando
è sembra essere in grado di inserire le immagini su un segnaposto nel documento e legge semplicemente da una matrice di vedere l'immagine da inserire.
http://www.odtphp.com/index.php?i = tutorial & p = tutorial5
Ora, se si esegue questa operazione come un post-processo dopo il codice corrente, o semplicemente utilizzarlo al posto di TBS, hai tutto quello che serve secondo me
In alternativa, è possibile includere un'immagine predefinita con un certo nome nel documento, e semplicemente sostituire quella imagefile nell'archivio.
Altri suggerimenti
È disponibile una nuova versione di TbsOOo, è OpenTBS ed ha una funzione per l'inserimento / cambiando l'immagine nel file.
Forse si tenta di utilizzare il metodo AddFileToDoc
per aggiungere un'immagine al documento?
La documentazione su questo metodo è qui: