我尝试将文档与TBS库合并,但是当我尝试使用$tbs->LoadTemplate($path_file)
加载MS Word 2007文档时。它不起作用,我没有错误,但生成的文件已损坏。
我知道问题的来源:$path_file
没有扩展名.docx
,因为如果我尝试加载扩展名为.docx
的文件,则所有工作都正常。但是我不能用这种方式,我必须使用没有扩展名的文件(文件由服务器上的用户上传,没有扩展名存储,我无法更改上传文件的功能)。
所以我想知道的是如何在不使用TBS扩展的情况下打开.docx
?
答案 0 :(得分:1)
我猜你正在使用TinyButStrong的OpenTBS插件制作Docx文档。
现在有一个新版本1.6.0仍处于测试阶段但尚未下载。最后一个版本不仅可以通过其扩展名识别文档类型,还可以通过保存在其中的子文件识别文档类型。最后,它还有一个新命令,使您可以强制文档类型。
见:
http://www.tinybutstrong.com/news.php
http://www.tinybutstrong.com/plugins/opentbs/tbs_plugin_opentbs.html
答案 1 :(得分:0)
这很可能不是扩展问题,而是格式问题。
.docx
是一种基于XML的文件格式。 TBS可以处理XML文档中的占位符,所以一切都很好 - 简单的搜索和替换都可以。
旧的.doc
文件格式是专有的。它的结构不为公众所知,也不是基于XML。您不能像在XML文档中那样搜索和替换那里的内容。
旧的.doc文件可能无法实现您的目标。
答案 2 :(得分:0)
通过创建带扩展文件的临时文件(扩展名存储在数据库中)来解决问题。我使用temp加载模板,然后将其删除。