php如何实现html转换word?

  • 来源:网络
  • 更新日期:2020-07-13

摘要:php实现html转换word的方法:1、通过mnt介质,生成word,代码为【composer require cshaptx4869/html2word】;2、html文件直接写入word,且将图片转为base64格式。php实现html转换wor

php实现html转换word的方法:1、通过mnt介质,生成word,代码为【composer require cshaptx4869/html2word】;2、html文件直接写入word,且将图片转为base64格式。

php实现html转换word的方法:

1、通过mnt这个介质,生成word

composer require cshaptx4869/html2word
<?php
/**
 * @desc 方法一、生成word文档
 * @param $content
 * @param string $fileName
 */
function createWord($content = '', $fileName = '')
{
    if (empty($content)) {
        return;
    }
    $content='<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">
            <meta charset="UTF-8" />'.$content.'</html>';
    if (empty($fileName)) {
        $fileName = date('YmdHis').'.doc';
    }
    file_put_contents($fileName, $content);
}

2、html文件直接写入word

注意:如果有图片的话,转为base64格式

<?php/**
 * @desc 方法二、生成word文档并下载
 * @param $content
 * @param string $fileName
 */
function downloadWord($content, $fileName=''){
    if(empty($content)){
        return;
    }
    if (empty($fileName)) {
        $fileName = date('YmdHis').'.doc';
    }    // header("location:xxx.doc");
    header("Cache-Control: no-cache, must-revalidate");
    header("Pragma: no-cache");
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename={$fileName}");
    $html = '<html xmlns:v="urn:schemas-microsoft-com:vml"
         xmlns:o="urn:schemas-microsoft-com:office:office"
         xmlns:w="urn:schemas-microsoft-com:office:word" 
         xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" 
         xmlns="http://www.w3.org/TR/REC-html40">';
    $html .= '<head><meta http-equiv="Content-Type" content="text/html;charset="UTF-8" /></head>';
    echo $html . '<body>'.$content .'</body></html>';
}
createWord(file_get_contents('html2word.html'));
downloadWord(file_get_contents('html2word.html'));

相关学习推荐:PHP编程从入门到精通