php - 代码里生成 Word有什么第三方工具吗

 宠医_臻爱一生_156 发布于 2022-11-30 01:45

业务需要生成一张试卷.
格式是 Word.供给用户下载.
目前拿到了题目信息.如下

{
    "question": "

问题:已知 f(x)=x2+bx+c(b,c∈R)(1) 当 b=c 时若函数 f(x) 的图像与 x 轴有两个交点, 其坐标分别为 x1,x2, 求证 x1<-1 且 x2<-1?

", "answer": "答案:2", }

生成如下格式

现在的问题是
1.有没有方便快捷的第三方工具可以用于生成 Word.
2.数据插入到 Word 后.数据里的html标签需要被解析.比如里面有 img 图片标签.需要在 Word 里显示出来.

特此寻求大家.谢谢!


目前用到了 phpoffice, 但是里面的 html 标签好像不会被解析,就把 html 当做字符串写进去了

目前自己搭建了个服务.可以转换文件格式
html->pdf(支持 css)
pdf->docx(样式不会改变.完美)
过两天我把服务地址发上来.大家可以测试下

6 个回答
  • 你这个是考试系统?
    PHP有个函数strip_tags可以过滤掉HTML和PHP标签,你可以把试卷内容用这个函数处理再保存。
    如果要用PHP解析HTML,试试这个:https://github.com/bupt1987/html-parser
    然后我发现,多年没碰数学,这些题已经不会做了。
    其实你可以用PHPWord试试看。

    2022-11-30 03:38 回答
  • 由于html复杂且有很多word不支持的标签,我选择了与word交互良好的markdown作为输入语言。当然你可以通过html2markdown进行过度转换。
    然后通过pandocmarkdown转为word,稳定且高效,而且此类库有非常高的代码贡献,有非常多的模板和主题可以选择,所以结果还是很漂亮的。

    2022-11-30 03:38 回答
  • apache POI ,这个就是java专门处理office软件的类库
    php的就不知道了.

    2022-11-30 03:38 回答
  • 下面方法不适用~还需要寻找

    自问自答.找到了方法.
    其实很简单.直接把 html 写到 .doc 文件里即可.
    函数

    function word($data,$fileName=''){
        if(empty($data)) return '';
        $data='<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">'.$data.'</html>';
        if(empty($fileName)) $fileName=date('YmdHis').'.doc';
        $fp=fopen($fileName,'wb');
        fwrite($fp,$data);
        fclose($fp);
    }
    $str = '<h2>hello daye</h2>';
    word($str);

    效果

    2022-11-30 03:38 回答
  • 这可能是最好的答案:http://xdocin.com/kj.pdoc

    2022-11-30 03:38 回答
  • 请问你找到方案了吗?碰到同样的问题,请教!谢谢。

    2022-11-30 03:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有