Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用docxtpl将简单HTML呈现到docx中_Javascript_Python_Bash_Docx_Python Docx - Fatal编程技术网

Javascript 使用docxtpl将简单HTML呈现到docx中

Javascript 使用docxtpl将简单HTML呈现到docx中,javascript,python,bash,docx,python-docx,Javascript,Python,Bash,Docx,Python Docx,我使用python模块docxtpl()在用jinja2编写的docx模板中打印数据。 到目前为止效果很好,但我需要在docx中呈现一些简单的HTML,如下所示: <h2>Some title</h2> <h4>Lorem&nbsp;ipsum <strong>dolor sit amet</strong>, consectetur adipisicing elit. Possimus, aliquam, minima

我使用python模块docxtpl()在用jinja2编写的docx模板中打印数据。 到目前为止效果很好,但我需要在docx中呈现一些简单的HTML,如下所示:

<h2>Some title</h2>
<h4>Lorem&nbsp;ipsum <strong>dolor sit amet</strong>, consectetur adipisicing elit. Possimus, aliquam,
    minima fugiat placeat provident optio nam reiciendis eius beatae quibusdam!</h4>
<p style="font-size: 18px;">The text is derived from Cicero's De Finibus Bonorum et Malorum (On the Ends of Goods
    and Evils, or alternatively [About] The Purposes of Good and Evil). The original passage began: Neque porro
    quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit (Translation: "Neither is
    there <del>anyone</del> who loves grief itself since it is grief and thus wants to obtain it").</p>
<table class="table">
    <tbody>
        <tr>
            <td>Test</td>
            <td>Test1</td>
            <td>Test2</td>
            <td>Test3</td>
        </tr>
        <tr>
            <td>Lorem</td>
            <td>Lorem1</td>
            <td>Lorem2</td>
            <td>Lorem3</td>
        </tr>
        <tr>
            <td>Ipsum</td>
            <td>Ipsum1</td>
            <td>Ipsum2</td>
            <td>Ipsum3</td>
        </tr>
    </tbody>
</table>
一些标题
Lorem ipsumdolor sit amet,为精英献身。有可能,
在普罗维登特选择南瑞西恩迪斯埃乌斯贝塔奎布斯丹的最低福吉亚酒店!

文本来源于西塞罗的De Finibus Bonorum et Malorum(在商品末端) 和邪恶,或者关于善与恶的目的)。原文开头是:内克·波罗 这句话的意思是:“这两者都不是 有人爱悲伤本身,因为它是悲伤,因此想要得到它”)

试验 测试1 测试2 测试3 洛勒姆 洛雷姆1 洛雷姆2 洛雷姆 乱数假文 Ipsum1 Ipsum2 Ipsum3
不幸的是,我不能使用docxtpl中的RichText()来呈现表和其他html内容

我试图想出一些解决方案,但我想了解是否还有更好的方法,例如,将一个使用html usign htmldocx()生成的docx与一个使用docxtpl生成的docx合并,或者使用python docx模块从一个docx获取内容并将其插入到另一个docx中

在最坏的情况下,我也愿意切换到JavaScript/BASH

from htmldocx import HtmlToDocx

new_parser = HtmlToDocx()
new_parser.parse_html_file("html_filename", "docx_filename")
#Files extensions not needed, but tolerated
这应该是在docx中转换html的魅力所在

我不太明白你的合并问题。最好的方法当然是将docx模板改为html。然后,一旦您将所需的所有内容转储到一个html文件中,就可以转换为docx


如果您想合并/插入docx,您可以在这里查看:

是的,但是。。。正如我在问题中所说的:与以不同方式生成的合并2 docx相比,更好的解决方案不是我想要的?我需要使用docxtpl或一些允许模板的模块,我就是这么说的。您应该生成一个HTML模板,而不是docx模板。然后在最后用docx传递整个html内容。