Générer des documents ODT avec des images dynamiques en PHP
-
21-09-2019 - |
Question
Je maintiens deux bases de données Web basées sur PHP et mySQL sur un pack d'hébergement mutualisé. Les bases de données ont un mécanisme pour l'utilisateur de télécharger des documents OpenOffice avec des espaces réservés:
[person.name] [person.address] [person.postcode]
J'utilise ensuite ce grand outil PHP pour exécuter dans le document OpenOffice et insérer des valeurs de la base de données en elle. Le résultat est à nouveau, un document OpenOffice.
Ce qu'il ne peut pas faire est images dynamiques .
Quelqu'un sait-il un - de préférence PHP seule - solution d'insérer des images dans des documents OpenOffice
- Je sais que PUNO. Ne peut pas l'utiliser dans ce contexte, car il est l'hébergement mutualisé.
- Je sais que OpenOffice peut être exécuté comme un démon -. Ditto
- Je sais que phpDocWriter . Il était super pour les fichiers SXW, mais est maintenant mort.
- Je sais que OpenDocument est une collection de fichiers XML dans un fichier ZIP. J'ai essayé une fois d'ajouter une légende à programme chaque image dans un document ODT. Il m'a conduit fricking fou . Je regarde avec admiration sur les développeurs qui travaillent avec le format, mais ce n'est pas pour moi.
J'apprécierais vraiment des conseils sur les solutions existantes.
La solution
Je pense que OdtPHP pourrait être ce que vous cherchez
est semble être en mesure d'insérer des images sur un espace réservé dans le document et lit simplement d'un tableau pour voir l'image à placer.
http://www.odtphp.com/index.php?i = tutoriels & p = tutorial5
Maintenant, si vous faites cela comme un post-traitement après votre code actuel, ou utilisez simplement au lieu de TBS, vous avez tout ce dont vous avez besoin à mon humble avis
Vous pouvez inclure une image par défaut avec un certain nom de fichier dans votre document, et remplacer simplement que imagefile dans l'archive.
Autres conseils
Il y a une nouvelle version de TbsOOo, il est OpenTBS et il dispose d'une fonction d'insertion / changement d'image dans le fichier.
Avez-vous essayez d'utiliser la méthode AddFileToDoc
pour ajouter une image au document?
La documentation de cette méthode est ici: