docxtemplater使用setData基于另一个元素的值

时间:2015-10-16 03:35:04

标签: javascript node.js docx phpdocx

我正在使用精彩的docxtemplater节点,它运行良好。

但是我希望能够根据页面上的段落元素的值来完成模板。

我玩过各种语法风格,但似乎无法获得我追求的结果。希望下面的代码显示我想要完成的内容 - 道歉对于js来说是相当新的。

<p id="text">Some text</p>

<script type="text/javascript">

    function myFunction() {
        var loadFile=function(url,callback){
            JSZipUtils.getBinaryContent(url,callback);
        }
        loadFile("Letter.docx",function(err,content){
            if (err) { throw e};
            doc=new Docxgen(content);

            doc.setData(
                document.getElementById("text").innerHTML;
            );

            doc.render()
            out=doc.getZip().generate({type:"blob"})
            saveAs(out,"Letter - Updated.docx")
        });
    }
</script>

1 个答案:

答案 0 :(得分:0)

如果您的模板包含文字Hello {name}

你必须写下以下内容:

<p id="text">Some text</p>

<script type="text/javascript">

    function myFunction() {
        var loadFile=function(url,callback){
            JSZipUtils.getBinaryContent(url,callback);
        }
        loadFile("Letter.docx",function(err,content){
            if (err) { throw e};
            doc=new Docxgen(content);

            doc.setData({
                name: document.getElementById("text").innerHTML
            });

            doc.render()
            out=doc.getZip().generate({type:"blob"})
            saveAs(out,"Letter - Updated.docx")
        });
    }
</script>