2016-06-13 69 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轉換。如果你需要這個,不能自己寫,你可能會選擇其中一種付費解決方案。

祝你好運。