在 PHP 中生成带有动态图像的 ODT 文档
Posted
技术标签:
【中文标题】在 PHP 中生成带有动态图像的 ODT 文档【英文标题】:Generate ODT documents with dynamic images in PHP 【发布时间】:2009-11-22 21:55:40 【问题描述】:我在一个共享主机包上维护了几个基于 php 和 mysql 的 Web 数据库。 数据库有一种机制供用户使用占位符上传 OpenOffice 文档:
[person.name] [person.address] [person.postcode]
然后我使用this great PHP tool 运行OpenOffice 文档并将数据库中的值插入其中。结果又是一个 OpenOffice 文档。
它不能做的是动态图片。
是否有人知道将图像插入 OpenOffice 文档的解决方案(最好是仅 PHP)?
我知道PUNO。无法在这种情况下使用它,因为它是共享主机。 我知道 OpenOffice 可以作为守护程序运行 - 同上。 我知道phpDocWriter。它非常适合 SXW 文件,但现在已经死了。 我知道 OpenDocument 是 ZIP 文件中 XML 文件的集合。我曾经尝试以编程方式为 ODT 文档中的每个图像添加标题。这让我发疯了。我对使用这种格式的开发人员表示钦佩,但它不适合我。我非常感谢有关现有解决方案的任何提示。
【问题讨论】:
【参考方案1】:我认为odtPHP 可能是您正在寻找的内容
似乎能够在文档中的占位符上插入图像,并简单地从数组中读取以查看要放置的图像。
http://www.odtphp.com/index.php?i=tutorials&p=tutorial5
现在,如果您在当前代码之后将此作为后期处理,或者只是使用它而不是 TBS,那么恕我直言,您将获得所需的一切
或者,您可以在文档中包含具有特定文件名的默认图像,然后在存档中简单地替换该图像文件。
【讨论】:
Pekka,这不是比我提到的AddFileToDoc
更好的解决方案吗?它对我来说看起来更好。我不知道 odtPHP。很高兴知道它。谢谢亚历山大!【参考方案2】:
有一个新版本的TbsOOo,它是OpenTBS,它具有在文件中插入/更改图片的功能。
http://www.tinybutstrong.com/opentbs.php
【讨论】:
【参考方案3】:您是否尝试使用AddFileToDoc
方法将图像添加到文档中?
这个方法的文档在这里:
http://www.tinybutstrong.com/tbsooo.php#AddFileToDoc
【讨论】:
不,该函数只是将一个文件引入到 OpenDocument 文件中(这是一个重命名的 ZIP 文件)。但在此之后,我查看了图像的 XML 代码,使用 DOM 解析器应该很容易替换它,我认为这会起作用。谢谢!以上是关于在 PHP 中生成带有动态图像的 ODT 文档的主要内容,如果未能解决你的问题,请参考以下文章
如何不在 Python、Django 中生成两次相同的动态图像?
获取 HTML 并使用 rasterizehtml 在画布中生成图像 - 动态源图像