php实现html转图片_php获取word内容

php实现html转图片_php获取word内容Html转Word目测方法大概有两种:1.直接把html代码写入word以二进制的方式2.通过mnt这个介质生成word方法一(推荐):造了个轮子https://packagist.org/packages/cshaptx4869/html2wordcomposerrequirecshaptx4869/html2word…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Html转Word

目测方法大概有两种:

1.直接把html代码写入word   以二进制的方式

2.通过mnt这个介质   生成word

 

方法一(推荐):

造了个轮子  https://packagist.org/packages/cshaptx4869/html2word

composer require cshaptx4869/html2word

 

方法二:

html文件直接写入word

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

<?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);
}

/**
 * @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'));

 

参考: 

https://www.cnblogs.com/phphuaibei/archive/2011/11/30/2269427.html

http://www.cnitblog.com/CoffeeCat/archive/2008/08/07/47753.html

https://segmentfault.com/a/1190000006290039

转载于:https://www.cnblogs.com/cshaptx4869/p/8821454.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182937.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Eclipse中建多层级包时出现的问题「建议收藏」

    Eclipse中建多层级包时出现的问题「建议收藏」最近一直在学习idea的使用,好久没有用Eclipse了,今天想试着写一个功能,但是在Eclipse中创建包时出现问题了。创建的包都成为平级了。那么Eclipse中如何创建多层包呢?解决方案:    方法一:         1)先在src文件夹下创建com包,在com包里面创建一个类,例如:点击Finish就会出现如下:    2)以此类推建想要建的包,在删除之前的Test类即可。以下是我的效果…

    2022年6月13日
    32
  • css 半透明滚动条「建议收藏」

    css 半透明滚动条「建议收藏」::-webkit-scrollbar{width:10px;height:10px;}::-webkit-scrollbar-thumb{background:hsl(0,0%,51%);-webkit-box-shadow:none;border-radius:10px;-webkit-box-shadow:none;}::-webki…

    2022年7月13日
    10
  • 基于FPGA的SDRAM控制器设计(一)「建议收藏」

    基于FPGA的SDRAM控制器设计(一)「建议收藏」基于FPGA的SDRAM控制器设计(一)1.SDRAM控制器整体框架2.UART_RX模块3.UART_TX模块4.RX与TX模块的整合5.需要注意的问题1.SDRAM控制器整体框架图1.1整体框架PC端通过串口模块UART_RX发送读写命令以及数据到Cmd_encode模块,由后者分离出数据存入wfifo模块,剩下的读写命令传送到Sdram_top模块对SDRAM进行写操作或者从SDRAM读数据到rfifo模块并通过UART_TX模块将数据送出到PC端。2.UART_RX模块主体代码(见

    2022年7月25日
    6
  • 关于Glup_gulp使用教程

    关于Glup_gulp使用教程gulp—-项目工程化的工具一,作用:(1)能够完成代码的压缩(2)合并,复制,监听,ES6的代码转换,启动服务器等等二,gulp使用步骤:搭建环境(1)安装nodeJS(2)安装node的目的是为了测试npm(npm是nodeJS的包管理工具全称:nodeJSPackageManager)使用npm的原因:a.如果一个项目中使用的第三方js代码非常多,…

    2025年6月28日
    0
  • Fatal error: require(): Failed opening required ‘/www/wwwroot/xxxxxx/public/../thinkphp/start.php

    Fatal error: require(): Failed opening required ‘/www/wwwroot/xxxxxx/public/../thinkphp/start.php项目场景:在CentOS8中安装了宝塔,配置thinkphp5.1版本环境时出了问题,在此之前网站虚拟域名成功配置,能够访问站点创建成功的页面问题描述:在访问tp5默认页面时报错Warning:require():open_basedirrestrictionineffect.File(/home/wwwroot/xxxxxx/thinkphp/start.php)isnotwithintheallowedpath(s):(/home/wwwroot/xxxxxx/pub

    2022年8月22日
    3
  • vue响应式原理的实现

    vue响应式原理的实现Vue最独特的特性之一,是其非侵入性的响应式系统。数据模型仅仅是普通的JavaScript对象。而当你修改它们时,视图会进行更新。这使得状态管理非常简单直接,不过理解其工作原理同样重要,这样你可以避开一些常见的问题。—-官方文档引言Vue的数据双向绑定,响应式原理,其实就是通过Object.defineProperty()结合发布者订阅者模式来实现的。Observer通过O…

    2022年5月1日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号