zoukankan      html  css  js  c++  java
  • 关于php实现html导出pdf,word格式

    html导出pdf格式推荐使用html2ps工具,很好用

    html导出word格式:

    <?php
    class Helper_HtmlToWord
    {
    function start()
    {
    ob_start();
    echo '<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">';
    }
    function save($path)
    {
    echo "</html>";
    $data = ob_get_contents();
    ob_end_clean();

    $this->wirtefile ($path,$data);
    }

    function wirtefile ($fn,$data)
    {
    $fp=fopen($fn,"wb");
    fwrite($fp,$data);
    fclose($fp);
    }
    }
    ?>

    test.html

    <!DOCTYPE p PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>测试</title>
    </head>
    <p>属性和属性值对大小写<em>不敏感</em></p>

    <p>不过,万维网联盟在其 HTML 4 推荐标准中推荐小写的属性/属性值。</p>

    <p>而 XHTML 要求使用小写的属性/属性值。</p>
    </div>

    <img src="http://images.sohu.com/bill/s2011/MKT/mkt/yule/ju/1226-dsy/160185-mkt.jpg" title="sss" />
    <div>
    <h2>始终为属性值加引号</h2>

    <p>属性值应该始终被包括在引号内。双引号是最常用的,不过使用单引号也没有问题。</p>

    <p>在某些个别的情况下,比如属性值本身就含有双引号,那么您必须使用单引号,例如:</p>

    <pre>name='Bill &quot;HelloWorld&quot; Gates'</pre>
    </div>


    <div>
    <h2>HTML 属性参考手册</h2>

    <p>我们的完整的 HTML 参考手册提供了每个 HTML 元素可使用的合法属性的完整列表:</p>

    <p><a href="/tags/index.asp" title="HTML 4.01 / XHTML 1.0 参考手册">完整的 HTML 参考手册</a></p>

    <p>下面列出了适用于大多数 HTML 元素的属性:</p>

    <table class="dataintable">
    <tr>
    <th>属性</th>
    <th></th>
    <th>描述</th>
    </tr>

    <tr>
    <td>class</td>
    <td><i>classname</i></td>
    <td>规定元素的类名(classname)</td>
    </tr>

    <tr>
    <td>id</td>
    <td><i>id</i></td>
    <td>规定元素的唯一 id</td>
    </tr>

    <tr>
    <td>style</td>
    <td><i>style_definition</i></td>
    <td>规定元素的行内样式(inline style)</td>
    </tr>
    </html>


    调用

            /*************************************
    * 测试导出word----开始
    ************************************
    */
    $view = new View('blog' . DIRECTORY_SEPARATOR . 'test');
    $wordTest = Helper::instance('HtmlToWord');
    $wordTest->start();
    echo $view->render();
    $wordTestName = "/public_html/debug/测试.doc";
    $wordTest->save($wordTestName);
    /*************************************
    * 结束
    ************************************
    */

    我是在框架中使用的,用的时候情况不同就自己改


  • 相关阅读:
    hive、sqoop、MySQL间的数据传递
    centos7配置Hadoop集群环境
    crontab定时时间解释
    Jmeter小技巧以及问题集合
    【总结】梳理下接口功能测试
    【部署问题】解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid" failed(2:No such file or directory)
    【C#公共帮助类】 ToolsHelper帮助类
    【C#公共帮助类】枚举独特类
    【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(4)对前面的一些问题汇总和总结
    【C#公共帮助类】分页逻辑处理类
  • 原文地址:https://www.cnblogs.com/zhaozhilu/p/2362708.html
Copyright © 2011-2022 走看看