婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > wkhtmltopdf 最好用Html轉pdf的工具

wkhtmltopdf 最好用Html轉pdf的工具

熱門標簽:承德地圖標注公司收費 銀川語音外呼系統(tǒng)中心 華創(chuàng)e路航彩票銷售點地圖標注 臨沂ai電銷機器人招商 揭陽電腦外呼系統(tǒng)公司 suitecrm 地圖標注 外呼系統(tǒng)號顯示星號怎么看 高德地圖標注常顯 鶴壁外呼系統(tǒng)公司

實習時公司需要把一些html頁面中的部分內(nèi)容生成pdf文件,然后我就找一些用php把html頁面圍成pdf文件的類。方法是可謂是找了很多很多,什么html2pdf,pdflib,FPDF這些都試過了,但是都沒有達到我要的求(主要是不能解決中文亂碼的問題以及樣式排版的問題)。

pdflib,FPDF 這兩個方法是需要編寫程序去生成pdf的,就也是講不支持直接把html頁面轉換成pdf;html2pdf這個雖然可以把html頁面轉換成pdf文 件,但是它只能轉換一般簡單的html代碼,如果你的html內(nèi)容要的是通過后臺新聞編輯器排版的那肯定不行的。

糾結了半天,什么百度,谷歌搜索都用了,搜索了半天,功夫不負有心人,終于找到一個非常好用的方法了,下面就隆重介紹。

它就 是:wkhtmltopdf,wkhtmltopdf可以直接把任何一個可以在瀏覽器中瀏覽的網(wǎng)頁直接轉換成一個pdf,首先說明一下它不是一個php 類,而是一個把html頁面轉換成pdf的一個軟件(需要安裝在服務器上),但是它并不是一個簡單的桌面軟件,而且它直接cmd批處理的,使用php中的 shell_exec()函數(shù)就可以調用它。下面就介紹如何用php+js+html來讓它生成pdf文件的方法(不過有個缺陷就是他需要在服務器端生成一個緩存文件,如果你使用thinkphp框架的話就可以將其緩存文件放在runtime 文件夾中暫存就行)。

一,下載并安裝wkhtmltopdf

1、下載地址:http://wkhtmltopdf.org/downloads.html 如圖:

 

2、上面有各種平臺下安裝的安裝包,英文不好的直接谷歌翻譯一下。下面以 windows7平臺上使用舉例,我的下載的是stable(穩(wěn)定版)的wkhtmltopdf-0.12.3.2-installer.exe這個版本,我在win7、win8 32位和64位以及win-sever上安裝測試都沒有問題的,系統(tǒng)時幾位就下載幾位的安裝包。下載好以后直接安裝就可以了,注意安裝路徑要知道,下面會用到的。


3、安裝好以后需要在系統(tǒng)環(huán)境變量變量名為”Path”的后添加:;D:\wkhtmltopdf\bin 也就是你安裝的目錄。安裝好以后重啟電腦。
下圖是如何設置環(huán)境變量:

打開我的電腦右鍵屬性

點擊高級系統(tǒng)設置

找到高級里面點擊環(huán)境變量

找到系統(tǒng)變量中的path,點擊編輯,將剛剛的安裝位置復制到最后,記得前面加一個分號哦!


二,測試使用效果
直接在cmd里輸入:wkhtmltopdf http://www.baidu.com/ D:website1.pdf(注意中間有空格哈)
第一個是:運行軟件名稱(這個是不變的) 第二個是網(wǎng)址 第三個是生成后的路徑及文件名。回車后是不是看生一個生成進度條的提示呢,恭喜您已經(jīng)成功了,到你的生成目錄里看看是不是有一個剛生成的pdf文件呢。
操作方法:1、windows鍵+r打開搜索框,輸入cmd,點擊確定

2、直接在cmd里輸入:wkhtmltopdf http://www.baidu.com/ D:website1.pdf(注意中間有空格哈)

3、點擊回車后,會看到一個進度條,然后就提示轉換成功!

4、之后在相應位置(即剛剛設置的D盤)中會發(fā)現(xiàn)多了一個Pdf文件,就說明成功了

三,php里調用

php里調用是很簡單的,用shell_exec這個函數(shù)就可以了,如果shell_exec函數(shù)不能用看看php.ini里是否補禁用了(找到php.ini中的shell_exec函數(shù),取消注釋就可以了,一般都是可以直接用的)。簡單舉例:

?php shell_exec("wkhtmltopdf https://www.jb51.net/ 1.pdf") ?>

你會發(fā)現(xiàn)在你php文件的同級目錄中會生成一個1.pdf的文件

下面代碼舉例介紹如何在網(wǎng)站開發(fā)中使用它:主要功能是截取網(wǎng)頁的部分傳遞到php中處理成pdf文檔

html頁面代碼:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">

head>
 script src="js/jquery-2.1.4.min.js">/script>
 link rel="stylesheet" href="css/common.css" rel="external nofollow" rel="external nofollow" >
 link rel="stylesheet" href="css/myCenter.css" rel="external nofollow" rel="external nofollow" >
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
title>霍蘭德職業(yè)測試/title>
/head>
body>
!--startprint-->
div class="right5"> 
    div class="right_top" style="background-image:url(images/right-di.png);">
      h3>霍蘭德測試報告/h3>
    /div>
    div class="print">
      input type="button" value="下載報告" id="down" class="print_btn">
    /div> 
    div class="Hollander">
        h6>MBTI測試結果:ESTJ/h6>
        div id="chart">/div>
        p>約翰·霍蘭德(John Holland)是美國約翰·霍普金斯大學心理學教授,美國著名的職業(yè)指導專家。霍蘭德以職業(yè)興趣理論為基礎,先后編制了職業(yè)偏好量表(VocatIonaI Preference lnventory)和自我導向搜尋表(Self-directed Search)兩種職業(yè)興趣量表,霍蘭德力求為每種職業(yè)興趣找出兩種相匹配的職業(yè)能力。興趣測試和能力測試的結合在職業(yè)指導和職業(yè)咨詢的實際操作中起到了促進作用。/p>
    /div>  
    table class="tbl1">
     tbody>
      tr node-type="toolBar">
        td class="tbl11">領導模式:/td>
        td class="tbl12">
          p>①直接領導,快速管理 ②運用過去經(jīng)驗解決問題 ③直接、明確地識別問題的核心 ④決策和執(zhí)行決策非常迅速 ⑤傳統(tǒng)型領導,尊重組織內(nèi)部的等級和組織獲得的成就/p>
        /td>
       /td>
      /tr>
      tr node-type="toolBar">
        td class="tbl11">領導模式:/td>
        td class="tbl12">
          p>①直接領導,快速管理 ②運用過去經(jīng)驗解決問題 ③直接、明確地識別問題的核心 ④決策和執(zhí)行決策非常迅速 ⑤傳統(tǒng)型領導,尊重組織內(nèi)部的等級和組織獲得的成就/p>
        /td>
       /td>
      /tr>
      tr node-type="toolBar">
        td class="tbl11">領導模式:/td>
        td class="tbl12">
          p>①直接領導,快速管理 ②運用過去經(jīng)驗解決問題 ③直接、明確地識別問題的核心 ④決策和執(zhí)行決策非常迅速 ⑤傳統(tǒng)型領導,尊重組織內(nèi)部的等級和組織獲得的成就/p>
        /td>
       /td>
      /tr>
      tr node-type="toolBar">
        td class="tbl11">領導模式:/td>
        td class="tbl12">
          p>①直接領導,快速管理 ②運用過去經(jīng)驗解決問題 ③直接、明確地識別問題的核心 ④決策和執(zhí)行決策非常迅速 ⑤傳統(tǒng)型領導,尊重組織內(nèi)部的等級和組織獲得的成就/p>
        /td>
       /td>
      /tr>
      tr node-type="toolBar">
        td class="tbl11">適合報考專業(yè):/td>
        td class="tbl12">
          a>span>專業(yè)定位卡介紹>>/span>/a>
        /td>
       /td>
     /tr>
    /tbody>
   /table>  
/div>
!--endprint-->
  form action="pdf.php" method="post" name="hld_res" id="hideform">
   input type="hidden" id="hide_content" name="html"/>
  /form> 
/body>
 script>
  $(function () {
   //獲取需要傳遞的Html代碼 通過!--startprint-->!--endprint-->截取
   bdhtml=window.document.body.innerHTML; 
   sprnstr="!--startprint-->"; 
   eprnstr="!--endprint-->"; 
   prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); 
   prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); 
   //將獲取的html代碼添加到隱藏域中傳給php文件處理
   $("#hide_content").val(""+prnhtml+"");
  } );  

  $("#down").click(function(){
   $("#hideform").submit();
  }); 

 /script>
/html>

php頁面:

?php
  //轉成pdf
    $html=$_POST['html'];
    //Turn on output buffering
    ob_start();
    $html='
    link rel="stylesheet" href="css/common.css" rel="external nofollow" rel="external nofollow" >
    link rel="stylesheet" href="css/myCenter.css" rel="external nofollow" rel="external nofollow" >
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'.$html;
    //這兒可以引入生成的Html的樣式表 路徑可以是絕對路徑也可以是相對路徑,也可以把樣式表文件復制到臨時html文件的目錄下 即這兒的demo文件目錄下(默認) 也可以直接把樣式寫在html頁面中直接傳遞過來
    //$html = ob_get_contents();
    //$html=$html1.$html;
    $filename = "hld";

    //save the html page in tmp folder 保存的html臨時文件位置 可以是相對路徑也是可以是絕對路徑 下面用相對路徑
    file_put_contents("{$filename}.html", $html);

    //Clean the output buffer and turn off output buffering
    ob_end_clean();

    //convert HTML to PDF
    shell_exec("wkhtmltopdf -q {$filename}.html {$filename}.pdf");
    if(file_exists("{$filename}.pdf")){
      header("Content-type:application/pdf");
      header("Content-Disposition:attachment;filename={$filename}.pdf");
      echo file_get_contents("{$filename}.pdf");
      //echo "{$filename}.pdf";
    }else{
      exit;
    }
   ?>

點擊頁面中的下載按鈕,

是不是彈出一個下載提示,打開下載的pdf,是不是和網(wǎng)頁上的樣式一模一樣呢,

 

再打開Php文件中的文件保存位置,看看是不是多了兩個臨時文件呢?

這兩個臨時文件在哪兒,你的css就得在哪兒,或者你直接使用相對路徑,引用其他文件中的css樣式也可以的,最簡單的就是把css樣式直接寫在要轉成pdf的html頁面中。

如果存在樣式?jīng)]有,那就是你的樣式路徑?jīng)]有寫對,在檢查一下就可以了!

四,解決分頁問題

wkhtmltopdf 很好用,但也有些不盡人意。就是當一個html頁面很長我需要在指定的地方分頁那怎么辦呢? wkhtmltopdf 開發(fā)者在開發(fā)的時候并不是沒有考慮到這一點,wkhtmltopdf 有個很好的方法,就是在那個div的樣式后添加一個:page-break-inside:avoid;就ok了。

例如

div{ width:800px; min-height:1362px;margin:auto;page-break-inside:avoid;}

以上就是個人總結的轉pdf的方法,很多地方還可以擴展,小伙伴們開動腦筋動起來吧,不過目前一直沒有解決就是沒法用中文名稱命名文件,如果有能解決的伙伴,麻煩在下面留言告知,謝謝么么噠了!

標簽:三沙 咸寧 許昌 七臺河 汕尾 忻州 萊蕪 棗莊

巨人網(wǎng)絡通訊聲明:本文標題《wkhtmltopdf 最好用Html轉pdf的工具》,本文關鍵詞  wkhtmltopdf,最,好用,Html,轉,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《wkhtmltopdf 最好用Html轉pdf的工具》相關的同類信息!
  • 本頁收集關于wkhtmltopdf 最好用Html轉pdf的工具的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美一区二区三区在线| 国产网红主播福利一区二区| 亚洲va韩国va欧美va| 国产精品一二三| 国产中文一区二区三区| 岛国精品在线播放| 久久免费看少妇高潮| 中文在线资源观看网站视频免费不卡 | 久久免费国产精品| 奇米综合一区二区三区精品视频| 不卡的av网站| 久久久精品中文字幕麻豆发布| 亚洲国产一区二区a毛片| 成人国产精品免费网站| 日韩一区二区免费视频| 亚洲欧美一区二区不卡| 精品一区二区三区在线观看国产| 中文字幕亚洲欧美在线不卡| 国产欧美综合在线| 国产剧情一区二区| 日韩一二三区不卡| 欧美aaaaaa午夜精品| 成人午夜碰碰视频| 在线观看日产精品| 亚洲精品一线二线三线| 亚洲精品高清视频在线观看| 狠狠色丁香婷综合久久| 欧美日韩国产三级| 最新国产成人在线观看| 日韩有码一区二区三区| 色老汉一区二区三区| 久久亚洲精品小早川怜子| 日韩精品一级中文字幕精品视频免费观看| av激情成人网| 欧美三级在线视频| 午夜精品福利久久久| 欧美性色综合网| 国产精品久久久久aaaa| jlzzjlzz欧美大全| 亚洲日本一区二区| 国产精品一二三四区| 国产精品久久久久久久久久久免费看| 日本视频中文字幕一区二区三区| 91浏览器打开| 1024亚洲合集| 久久99国产精品麻豆| 4438成人网| 美国毛片一区二区| 欧美成人bangbros| 亚洲成在人线免费| 欧美日韩一区 二区 三区 久久精品| 精品理论电影在线观看| 国产sm精品调教视频网站| 久久久精品综合| 91看片淫黄大片一级在线观看| 日韩理论片在线| 色综合天天综合网天天狠天天| 亚洲欧洲精品一区二区三区不卡| 久久精品国产**网站演员| 欧美天天综合网| 午夜激情久久久| 91精品福利在线一区二区三区 | 国产成人综合在线| 久久精品亚洲乱码伦伦中文| av不卡免费电影| 国产校园另类小说区| 国产很黄免费观看久久| 亚洲欧洲成人自拍| 日韩欧美激情四射| 91丨porny丨在线| 免费av成人在线| 色婷婷av一区二区三区gif| 蜜桃av噜噜一区| 国产三级一区二区| 欧美在线观看视频一区二区 | 欧美亚洲高清一区二区三区不卡| 日日摸夜夜添夜夜添国产精品| 国产精品午夜春色av| 色综合婷婷久久| 成人伦理片在线| 亚洲国产成人tv| 岛国精品在线播放| 韩国女主播成人在线| 亚洲成人中文在线| 最新日韩在线视频| 日韩欧美在线不卡| 欧美精品第一页| 老汉av免费一区二区三区| 欧美成人video| 91精品国产综合久久久久久久 | 欧美一区二区三区四区五区| 性欧美大战久久久久久久久| 欧美日韩情趣电影| 99国产欧美另类久久久精品| 日韩精品一级二级| 亚洲色图丝袜美腿| 久久精品男人天堂av| 色悠悠亚洲一区二区| 精品午夜一区二区三区在线观看| 一区二区三区毛片| 国产精品伦理一区二区| 欧美日韩国产影片| 欧美三级电影网| 99精品国产热久久91蜜凸| 国产精品中文字幕日韩精品 | 国产剧情一区二区| 狠狠久久亚洲欧美| 亚洲成a人v欧美综合天堂| 久久久99免费| 欧美一区二区三区四区五区| 欧美日韩精品一区二区三区| 91在线观看污| 国内精品免费在线观看| 激情欧美一区二区三区在线观看| 亚洲伦理在线精品| 国产精品看片你懂得| 欧美日韩精品福利| 91精品国产综合久久久久久久久久 | 久久久一区二区三区捆绑**| 精品日韩在线观看| 欧美日韩在线免费视频| 欧洲一区二区三区在线| 欧美综合一区二区三区| 91在线视频官网| 91啪九色porn原创视频在线观看| 99久久精品国产导航| 成人免费毛片嘿嘿连载视频| 日韩av成人高清| 麻豆精品久久久| 久久av资源网| 韩国三级在线一区| 久久www免费人成看片高清| 欧美午夜精品一区二区三区| 欧美色图12p| 欧美日韩视频第一区| 欧美精品国产精品| 精品国产乱码久久久久久图片 | 国产精品久久久久久久浪潮网站| 国产精品沙发午睡系列990531| 国产精品久久久久久久久久久免费看 | 黄色资源网久久资源365| 激情综合色播五月| 国产高清视频一区| 国产精品1区二区.| 色婷婷av一区二区三区gif| 欧美福利一区二区| 国产性做久久久久久| 亚洲欧洲精品一区二区三区| 亚洲网友自拍偷拍| 美女视频黄 久久| 韩国理伦片一区二区三区在线播放| 久久99精品国产麻豆不卡| 成人午夜碰碰视频| 欧美视频完全免费看| 欧美成人一区二区三区片免费| 亚洲国产精品成人综合 | 欧美日韩视频在线观看一区二区三区 | 在线播放一区二区三区| 日韩视频一区二区三区| 国产精品沙发午睡系列990531| 一区二区免费看| 精品亚洲国内自在自线福利| 成人精品国产福利| 精品视频一区二区不卡| 91精品国产高清一区二区三区| 久久久精品欧美丰满| 玉足女爽爽91| 国产真实乱子伦精品视频| 91精品在线麻豆| 国产精品久久久久影院| 日本免费在线视频不卡一不卡二| 日韩欧美国产一区在线观看| 中文字幕制服丝袜成人av| 亚洲在线视频一区| 精东粉嫩av免费一区二区三区| 成人av网站免费观看| 一本久道中文字幕精品亚洲嫩| 欧美一区二区视频在线观看| 2021国产精品久久精品| www欧美成人18+| 亚洲午夜激情网页| 国产毛片精品一区| 欧美日韩成人一区| 国产精品久久久久一区二区三区共| 日韩一区中文字幕| 日本中文字幕不卡| 色综合中文字幕| 成人精品电影在线观看| 久久综合九色综合97婷婷| 亚洲精品日产精品乱码不卡| 欧美v国产在线一区二区三区| 在线观看日产精品| 91热门视频在线观看| 久久久国产综合精品女国产盗摄| 午夜久久久影院| 97se亚洲国产综合自在线不卡| 日韩一区二区三免费高清| 五月婷婷久久丁香| 国产成人综合视频| 欧美日韩电影一区|