2016-06-13 45 views
-3

现在我得到的任务是在HRMS中生成合同函函数。 我已经在使用CKEditor,但结果是非常不同的,因为CKEditor的目的不像Microsoft Word或Google Docs的目的。PHP str_replace进入微软word模板

所以我有想法,我在Microsoft Word中首先制作模板,并使用PHP函数str_replace将数据传递到Microsoft Word模板中。

问题是: 1.有了这个流程,有可能做到这一点吗? 2.如果问题1是可能的,你可以用样品打我吗?

非常感谢, 亨德拉

+0

为什么不简单尝试一下,如果有可能? –

回答

0

DOCX是包含一些XML格式的压缩格式。如果您希望按值系统构建简单的替换{tag},则它可能已变得复杂,因为{tag}在内部被分离为<w:t>{</w:t><w:t>tag</w:t><w:t>}</w:t>。如果你想嵌入循环遍历一个数组,它将变成一个真正的麻烦。

来源:https://docxtemplater.readthedocs.io/en/latest/goals.html

你可以使用我的回答创造了这个问题库:https://github.com/open-xml-templating/docxtemplater,它与JS工作在浏览器或node.js中

1

有几类可以做什么你正在尝试做的至少一部分:

其中前4至少部分是开源和调查的代码将帮助您了解的过程,这不是小事与字。另外,你可以检查出http://officeopenxml.com的格式细节。

我看到的主要问题是用适当的HTML来打开XML转换。将CKEditor(可能是HTML)的样式转换为适当的XML样式的功能,其功能完全不同,并且直接翻译也不是微不足道的。查看https://github.com/wrklst/docxmustache/blob/master/src/WrkLst/DocxMustache/HtmlConversion.php,以便以粗体,斜体和下划线文本的单数格式查看一些基本的HTML转换。

据我所知,没有维护的开源软件包可以提供合适的html到openxml转换。如果你需要这个,不能自己写,你可能会选择其中一种付费解决方案。

祝你好运。