在 PHP 中生成带有动态图像的 ODT 文档

Generate ODT documents with dynamic images in PHP

提问人:Pekka 提问时间:11/23/2009 最后编辑:Pekka 更新时间:1/29/2016 访问量:3687

问:

我在共享托管包上维护了几个基于 PHP 和 mySQL 的 Web 数据库。 数据库有一种机制,供用户上传带有占位符的 OpenOffice 文档:

[person.name] [person.address] [person.postcode]

然后,我使用这个出色的PHP工具来运行OpenOffice文档,并将数据库中的值插入其中。结果又是一个 OpenOffice 文档。

它不能做的是动态图像

有没有人知道将图像插入OpenOffice文档的解决方案 - 最好是纯PHP的 - 解决方案?

  • 我认识普诺。不能在此上下文中使用它,因为它是共享主机。
  • 我知道OpenOffice可以作为守护进程运行 - 同上。
  • 我知道phpDocWriter。它非常适合 SXW 文件,但现在已经死了。
  • 我知道OpenDocument是ZIP文件中XML文件的集合。我曾经尝试以编程方式为 ODT 文档中的每个图像添加标题。这让我发疯了。我钦佩使用这种格式的开发人员,但这不适合我。

我非常感谢有关现有解决方案的任何提示。

PHP openoffice.org OpenDocument

评论


答:

0赞 fviktor 11/23/2009 #1

您是否尝试使用该方法将图像添加到文档中?AddFileToDoc

有关此方法的文档如下:

http://www.tinybutstrong.com/tbsooo.php#AddFileToDoc

评论

0赞 Pekka 11/23/2009
否,该函数仅将文件引入 OpenDocument 文件(重命名的 ZIP 文件)。但是在那之后,我查看了图像的XML代码,使用DOM解析器应该很容易替换,我认为这将起作用。谢谢!
2赞 alexanderpas 11/24/2009 #2

我认为odtPHP可能就是你要找的

似乎能够在文档的占位符上插入图像,并且只需从数组中读取即可查看要放置的图像。

http://www.odtphp.com/index.php?i=tutorials&p=tutorial5

现在,如果你在当前代码之后将其作为后处理,或者只是使用它而不是 TBS,那么恕我直言,你得到了你需要的一切

或者,您可以在文档中包含具有特定文件名的默认图像,只需在存档中替换该图像文件即可。

评论

0赞 fviktor 11/24/2009
Pekka,这难道不是比我提到的更好的解决方案吗?对我来说看起来更好。我不知道odtPHP。很高兴知道它。谢谢亚历山大!AddFileToDoc
1赞 Skrol29 3/30/2011 #3

TbsOOo有一个新版本,它是OpenTBS,它具有在文件中插入/更改图片的功能。

http://www.tinybutstrong.com/opentbs.php