1.前端代码

<!DOCTYPE html>
<html>
<head>
<title>PHP生成Word文档</title>
<meta charset="utf-8">
</head>
<body> <h1 style="text-align: center">xxx的简历</h1>
<h3>编号:000001</h3>
<table border="1" cellpadding="3" cellspacing="0" >
<tr >
<td width="93" valign="center" colspan="2" >姓名</td>
<td width="160" valign="center" colspan="4" >xxx</td>
<td width="89" valign="center" colspan="2" >学历</td>
<td width="156" valign="center" colspan="3" >xxx</td>
<td width="125" colspan="2" rowspan="4" align="center" valign="middle" >
<img src="./img.jpg" width="120" height="120" />
</td>
</tr>
<tr >
<td width="93" valign="center" colspan="2" >性别</td>
<td width="72" valign="center" colspan="2" >xxx</td>
<td width="88" valign="center" colspan="2" >出生年月</td>
<td width="89" valign="center" colspan="2" >xxx</td>
<td width="68" valign="center" >户籍地</td>
<td width="87" valign="center" colspan="2" >xxx</td>
</tr>
<tr >
<td width="93" valign="center" colspan="2" >身高</td>
<td width="72" valign="center" colspan="2" >xxxcm</td>
<td width="88" valign="center" colspan="2" >体重</td>
<td width="89" valign="center" colspan="2" >xxxkg</td>
<td width="68" valign="center" >婚姻状况</td>
<td width="87" valign="center" colspan="2" >xxx</td>
</tr>
<tr >
<td width="93" valign="center" colspan="2" >手机</td>
<td width="160" valign="center" colspan="4" >xxx</td>
<td width="89" valign="center" colspan="2" >Email</td>
<td width="156" valign="center" colspan="3" >xxx</td>
</tr>
<tr >
<td width="93" valign="center" colspan="2" style="width:93px;">家庭住址</td>
<td width="530" valign="center" colspan="11" >xxx</td>
</tr>
<tr >
<td width="93" valign="center" colspan="2" rowspan="3">求职意向</td>
<td width="93" valign="center" colspan="2">希望从事职业</td>
<td width="200" valign="center" colspan="2">xxx</td>
<td width="93" valign="center" colspan="2">希望薪资</td>
<td width="200" valign="center" colspan="5">xxx元/月</td>
</tr>
<tr>
<td width="93" valign="center" colspan="2" >希望工作地区</td>
<td width="200" valign="center" colspan="2" >xxx</td>
<td width="93" valign="center" colspan="2" >食宿要求</td>
<td width="200" valign="center" colspan="5" >xxx</td>
</tr>
<tr>
<td width="93" valign="center" colspan="2" >目前状况</td>
<td width="200" valign="center" colspan="9" >xxx</td>
</tr>
<tr>
<td width="93" valign="center" style="color: red">自我评价</td>
<td width="570" valign="center" colspan="12" >xxx</td>
</tr>
<tr>
<td width="93" valign="center" >工作经历</td>
<td width="570" valign="center" colspan="12" >xxx</td>
</tr>
<tr>
<td width="93" valign="center" >教育经历</td>
<td width="570" valign="center" colspan="12" >xxx</td>
</tr>
<tr>
<td width="93" valign="center" >培训经历</td>
<td width="570" valign="center" colspan="12" >xxx</td>
</tr>
</table> <p><a href="./1.php">点击下载</a></p> </body>
</html>

后台代码:

<?php 

//获取1.html文档的内容(包括html代码)
$result = file_get_contents('./1.html');
echo "$result"; // /////////////////////保存///////////////////////////
//打开缓冲区
ob_start();
header("Cache-Control: public");
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes"); //判断浏览器类型
if (strpos($_SERVER["HTTP_USER_AGENT"],'MSIE')) {
header('Content-Disposition: attachment; filename=test.doc');
}else if (strpos($_SERVER["HTTP_USER_AGENT"],'Firefox')) {
Header('Content-Disposition: attachment; filename=test.doc');
} else {
header('Content-Disposition: attachment; filename=test.doc');
} //不使用缓存
header("Pragma:no-cache");
//过期时间
header("Expires:0");
//输出全部内容到浏览器
ob_end_flush(); ?>

网页运行结果:

下载word打开效果:

原理:

首先获取到要下载的前端页面的html代码(file_get_contents方法),然后对文档流进行相关配置,最后输出即可。

目前不能把图片下载到word里面,哪位大神有想法,欢迎留言交流。

php生成word,并下载的更多相关文章

  1. php生成word并下载

    1.前端代码:   index.html <!DOCTYPE html> <html> <head> <title>PHP生成Word文档</ti ...

  2. FreeMarker生成word

    FreeMarker生成word数据填充是通过,Map填充. Map dataMap = new HashMap<String, Object>(); List<User> l ...

  3. springboot中使用freemarker生成word文档并打包成zip下载(简历)

    一.设计出的简历模板图以及给的简历小图标切图         二.按照简历模板图新建简历word文件 :${字段名},同时将图片插入到word中,并将建好的word文件另存为xml文件:    三.直 ...

  4. JAVAWEB使用FreeMarker利用ftl把含有图片的word模板生成word文档,然后打包成压缩包进行下载

    这是写的另一个导出word方法:https://www.cnblogs.com/pxblog/p/13072711.html 引入jar包,freemarker.jar.apache-ant-zip- ...

  5. java 导出word 并下载

    记录一下导出操作 源码: /************ * 导出word 并下载 * @param id 房号记录编号 * ***********************/ @RequestMappin ...

  6. php 生成word的三种方式

    原文地址 http://www.jb51.net/article/97253.htm 最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像只要是标题带PHP的貌似点击 ...

  7. 使用freemarker生成word,步骤详解并奉上源代码

    1.   步骤 1.    用word编辑好模板 1. 普通字符串替换为 ${string} 2. 表格循环用标签 <#list userList as user> 姓名:${user.u ...

  8. PHP生成word的三种方式

    摘要: 最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像在博客园发表博客只要是标题带PHP的貌似点击量都不是很高(哥哥我标题还是带上PHP了),不知道为什么,估计 ...

  9. 利用html模板生成Word文件(服务器端不需要安装Word)

    利用html模板生成Word文件(服务器端不需要安装Word) 由于管理的原因,不能在服务器上安装Office相关组件,所以只能采用客户端读取Html模板,后台对模板中标记的字段数据替换并返回给客户端 ...

随机推荐

  1. shell环境改变引起的命令提示符改变

    1. 故障现象与背景 1.1 背景 开发早上找我说root环境变得异常,跟平时不太一样.其他用户没有改变,就root用户发生变化 1.2故障现象 root用户命令提示符 :➜ ~ 命令行上命令提示符发 ...

  2. pm2 官方文档 学习笔记

    一.安装 1.安装 npm install pm2 -g 2.更新 npm install pm2 -g && pm2 update pm2 update 是为了刷新 PM2 的守护进 ...

  3. 使用Flexbox:新旧语法混用实现最佳浏览器兼容

    Flexbox非常的棒,肯定是未来布局的一种主流.在过去的几年这之中,语法改变了不少,这里有一篇“旧”和“新”新的语法区别教程(如果你对英文不太感兴趣,可以移步阅读中文版本).但是,如果我们把Flex ...

  4. Java - Junit单元测试框架

    简介 Junit : http://junit.org/ JUnit是一个开放源代码的Java语言单元测试框架,用于编写和运行可重复的测试. 多数Java的开发环境都已经集成了JUnit作为单元测试的 ...

  5. Linux - DNF包管理

    简介 link DNF(Dandified Yum)是新一代的RPM软件包管理器. DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容. DN ...

  6. Apache Roller 5.0.3 XXE漏洞分析

    下载5.0.2的版本来分析 5.0.2的war包地址 http://archive.apache.org/dist/roller/roller-5/v5.0.2/bin/roller-weblogge ...

  7. Python(28)---模块和包的基本概念

    一.模块 定义:在python中,一个 .py 文件就称为一个模块 使用模块的好处:最大的好处就是提高了代码的可维护性 分类(三种): python标准库 第三方模块 应用程序自定义模块 模块导入方法 ...

  8. 《Python编程从入门到实践》--- 学习过程笔记(2)变量和简单数据类型

    一.变量无需声明 二.变量命名规则 (1)变量名只能包括字母.数字和下划线: (2)变量名不能包含空格: (3)变量名不能使用Python关键字和函数名(保留字不可以做变量名); (4)简短易懂,清晰 ...

  9. 线程中的同步辅助类CountDownLatch

    四个类可协助实现常见的专用同步语句.Semaphore 是一个经典的并发工具.CountDownLatch 是一个极其简单但又极其常用的实用工具,用于在保持给定数目的信号.事件或条件前阻塞执行.Cyc ...

  10. SQL SERVICE中的锁

    SQL SERVICE中的几个锁 SELECT * FROM dbo.TableName WITH (NOLOCK) --不加任何锁的读,脏读SELECT * FROM dbo.TableName W ...