需要使用PHP将 HTML 模版到处 Word 文件,需要保留中文字体、文档格式,谢谢了。

1 scnace Jan 9, 2017 via Android 我们上次试了好几个 会有乱码 OR 格式错误 所以我们自己根据 WordXML 撸了一个 就是撸了个类似 SDK 的东西 把各种样式封装下就可以了 … |
2 springmarker Jan 9, 2017 via Android 先做好 word 的模板,然后导出 html 格式,然后 replace 需要填写的内容 |
3 Tink PRO 我当时用过 phpoffice , 还挺好用的 |
4 murmur Jan 9, 2017 没有也不可能有,随便打开一个页面,按下 ctrl-p ,看显示的什么乱七八糟的东西,就这个页面就可以 如果连页面本身都没有单独设置打印格式,那自己转换不是更难?强行把宽屏页面缩到一张 a4 纸,笨想也不可能 |
5 lvwzhen OP @scnace Word 的格式太难搞了,我先是 HTML 导出 PDF ,再从 PDF 转 Word 。 PDF 的格式好掌握,到了 Word 完全是乱的。 |
7 lvwzhen OP @springmarker 最后的 replace 步骤需要怎么实施呢,还请赐教,谢谢 |
9 springmarker Jan 9, 2017 via Android @lvwzhen php 没有替换字符串的方法吗 |
10 springmarker Jan 9, 2017 via Android 哦,对了, office 是识别 html 的格式的,你直接把 html 格式后缀改成 docx 就可以,这个方法并不完美,其实导出为 xml 格式再 replace 也可以 |
11 springmarker Jan 9, 2017 via Android 不知道你的业务是需要不固定样式的页面导出 word 还是固定的模板导出 word ,我的方法只适用于后者 |
12 lvwzhen OP |
13 lygmqkl Jan 9, 2017 |
14 springmarker Jan 9, 2017 via Android @lygmqkl 随便一个 html 改后缀肯定不行啊,先在 word 里面排好模板,需要填入的地方做标记,然后用 office 导出 html 或者 xml ,推荐 xml ,然后替换标记,其实这不是个好办法,相当于曲线救国,很容易出错,而且有图片什么的很麻烦,当时我也是很苦恼啊,七撞八撞搞得勉强能看,但是并不完美,第三方都找不到, wps 也不是也不能完美支持 office 吗,这样的需求我觉得还是很恶心的,尽量用 pdf 吧 |
15 murmur Jan 9, 2017 xml->doc 这个思路是对的,但是 xml 的模板必须用 word 生成, word 是可以直接保存为 xml 的,然后这个 word xml 再另存为标准 doc 就 ok ,这个是格式损失最少的 何况、、、这个 xml 编辑起来也不那么容易,不过能转换就很好了 |
16 lvwzhen OP @lygmqkl .html 改为 .doc,再另存为.docx 是可以正常编辑保存的。但是太麻烦了,我现在是使用 XML to doc ,基本是无损转换,内容编辑 XML 就可以。 |
17 lygmqkl Jan 9, 2017 @springmarker pdf 库有比 mpdf 更好的吗? |
18 aitaii Jan 9, 2017 做过 java 的,做一个 word demo 样式基本不会变,保存为 xml 文件,替换 xml 文件的关键内容,保存为 doc 格式的, docx 格式略微多了一些。 |
19 aitaii Jan 9, 2017 图片按照格式转为 base64 的就可以了。 |
22 Em5O7B1JGfjQnBry Jan 9, 2017 via Android 既然没有人说哈斯凯尔写的 pandoc ? |
25 constantine008 Nov 27, 2019 9102 年了,不知道现在有没有更好的方法 |
26 redbelt Jul 3, 2020 我提供一个能保证格式良好的思路: xml 模版( docx 可以导出 xml ) + 模版引擎 |
27 vipbic 你是不是在做招标工具,我也遇到这个问题, 你是咋搞定的 |
29 iamniconico Apr 14, 2023 当成 mhtml 打包进 docx |