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