将html页面导出为word

利用js和php导出页面到word的代码:

        $(‘#toWord‘).click(function(){
                setTimeout(function(){
                    var time=‘<?php echo $time ?>‘;
                    var style = document.getElementsByTagName(‘style‘)[0].innerHTML;
                    style="<style>"+style+"</style>";
                    //console.log(style);
                    var t = document.getElementById(‘printtext‘).innerHTML;//获取要生成的word的内容
                    t = b.encode(style+t);//加密操作
                    $.ajax({
                        url:"get.php",
                        data:{"html":t,"time":time},//用post方式提交到get.php
                        type:‘post‘,
                        success:function(data){
                            console.log(data);//返回过来的是路径,本地和服务器上有所不同

                            var url = "http"+data.substr(data.lastIndexOf(":"));
                            console.log(url);
                            // window.history.go(0);
                            // window.location.href=url;
                        }
                    });

                },2000);

            });

get.php的代码是这样的:

<?php

if(isset($_POST[‘html‘]))
{
    $html=$_POST[‘html‘];
}

if(isset($_POST[‘time‘])){
    $time = $_POST[‘time‘];
}

// echo $html;
$html = base64_decode($html);

class word
{ 

    function save($path, $html)
    {
        $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
        <head>
             <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
             <xml><w:WordDocument><w:View>Print</w:View>
             </w:WordDocument>
             </xml>
             <style>
                    @page WordSection1//这里可以修改导出word后的一些样式
                    {
                        size:595.3pt 841.9pt;
                        margin:72.0pt 54.0pt 72.0pt 54.0pt;
                        mso-header-margin:42.55pt;
                        mso-footer-margin:49.6pt;
                        mso-paper-source:0;
                    }
                    span{
                        font-size:10.0pt!important;
                    }
                    div.WordSection1
                        {page:WordSection1;}
             </style>
        </head><body><div class="WordSection1">‘ . $html . ‘</div></body></html>‘;
        $this->wirtefile($path,$data);
    }

    function wirtefile ($fn,$data)
    {
        $fp=fopen($fn,"wb");

        fwrite($fp,$data);
        fclose($fp);
    }
}

     $word = new word();
    // $html = "aaa".$i;
    $wordname = ‘taiyuanReports/taiyuan‘.$time.‘.doc‘;
    $word->save($wordname, $html);
    // ob_flush();//每次执行前刷新缓存
    // flush(); 

    $url=‘http://‘.$_SERVER[‘SERVER_NAME‘].$_SERVER["REQUEST_URI"];
    // 127.0.0.1/palm/new2/module/report/taiyuan/get.php;

    echo substr($url,0,-7).$wordname;

    // echo $url;

    // $url = ‘http://127.0.0.1/palm/new2/module/report/taiyuan/‘;
    // echo $url . $wordname;
?>

另外,上传的服务器后还需要有权限才能成功.

时间: 2024-11-17 15:28:37

将html页面导出为word的相关文章

c# 将页面导出到word(含图片及控件)

/// <summary> /// 创建word /// <param name="filePath">文件路径 </param> /// </summary> protected void CreateWordFile(string filePath) { if (File.Exists(filePath)) { File.Delete(filePath); } using (FileStream fs = File.Create(fi

Java 实现HTML富文本导出至word完美解决方案

一. 问题的提出 最近用java开发一个科技项目信息管理系统,里面有一个根据项目申请书的模板填写项目申报信息的功能,有一个科技项目申请书word导出功能. 已有的实现方式:采用标准的jsp模板输出实现,简单地说,就是把数据渲染进jsp页面,然后将此页面另存为doc文档,从而达到word导出效果.但是存在以下几个问题: (1) 由于导出的html网页格式,打开word后,默认显示的视图模式为WEB版式视图: (2) 修改word文档后,会新增一个相关联的文件夹,word的html中会引用这个文件夹

java将html导出成word ——增加换行 换页符号

java将html导出word增加换行符 //换页 <span lang=EN-US style='font-size:12.0pt;line-height:150%;font-family:"Times New Roman"; mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;mso-ansi-language:EN-US; mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA'&

c#中数据从数据库到客户端主要几种的导出方式(导出到excel,导出到word)

本人大学新手一枚,在大学工作室学习asp.net,从中积累的一些小的知识和大家一起分享与讨论. 今天的主题是导出数据.现在从服务器端到客户端数据的几种主要方式有:web页面呈现(各种view..),导出到excel,导出到word,导出到报表等.我今天讲下我实际开发项目中用到的导出到excel和导出到word. 一.导出到excel 主要有以下两种方法: (1)用数据展示控件如GridView或者ListView等,先把需要导出的数据展示在web页面上,然后再利用Response的另存为功能,将

java将html导出成word(利用的poi包导出)

//导出到word public void exportWord(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { DBTool tool = null ; try { /*** 查询数据库获得数据 **/ ArrayList records = form.getRecords(); if(

页面中打开Word,在线浏览

/// <summary> /// 为了通用,放到一个类文件中,别的也没直接调用 /// </summary> /// <param name="fileName">得到上传的文件名字以及后缀名字</param> /// <param name="inFilePath">要打开文件的路径</param> /// <param name="ShowPath">生产静

mvc中html导出成word下载-简单粗暴方式

由于工作需求,需要把html简历页导出成word下载.网上搜索了很多解决方案,基本都是用一些插件,然后写法也很麻烦,需要创建模板什么的. 固定替换值  代码一大堆.但是对于我的需求来说  并没有什么用,因为我这边的数据不能固定.  所以只能另寻办法,皇天不负有心人   找了一天 终于找到了  哈哈 mvc中的FlieResult  非常强大  可以直接传入html   指定文件格式  直接返回Flie文件下载 不多说了   直接上代码吧   非常之简单粗暴 后台代码: [ValidateInpu

java导出生成word

最近做的项目,需要将一些信息导出到word中.在网上找了好多解决方案,现在将这几天的总结分享一下. 目前来看,java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用.DLL动态链接库的生成需要windows平台的支持.该方案只能在windows平台实现,是其局限性. 2:Apache POI包括一系列的API,它

C#将html导出到word(基于wps)

由于客户需要,我们需要实现将网页导出到word中的功能,在此过程中,尝试使用过openoffice.itext.wordapi等各种方法,都不尽如人意.openoffice导出的问题图片信息在word2007下看不到,itext导出嵌套表格格式会乱套.wordapi导出倒是正常,但是无法将图片信息一并导入到文件中.最后没有办法突发奇想用wps试试,没想到成功了. 在尝试之前因为不知道wps是否有相关的api或者com组件,事先致电了金山客服询问了相关事宜,经确认wps是提供com组件调用的,现在