首頁 >web前端 >js教程 >phantomjs匯出html到pdf的方法實例分享

phantomjs匯出html到pdf的方法實例分享

小云云
小云云原創
2018-01-05 14:50:462901瀏覽

最近要為我們的文章服務做一個轉pdf的功能。經過比較,我覺得phantomjs是轉換比較好的。本文主要介紹了phantomjs導出html到pdf的方法總結,需要的朋友可以參考下,希望能幫助大家。

環境

centos x86_64

下載

#可以到官網下載: 官網

或wget也可以:

#wget -P /tmp/ https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2

安裝

// 解压
tar xjf /tmp/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/
// 重命名
mv /usr/local/phantomjs-2.1.1-linux-x86_64 /usr/local/phantomjs
// 建立软连接
ln -s /usr/local/phantomjs/bin/phantomjs /usr/local/bin/
现在可以在终端执行phantomjs --version查看是否安装成功

設定

現在還不夠,光phantomjs用來轉化,會存在一些問題:

  • #中文亂碼

  • 字體粗細不一致

解決方法:

1:中文亂碼

yum -y install bitmap-fonts bitmap-fonts-cjk
2:字型粗細不一致

這是centos不存在字體的原因,可以匯入字體。

  • 安裝字型管理工具: yum install -y fontconfig mkfontscale

  • 造訪 c:\windows\fonts,把需要的字型copy出來。然後上傳到伺服器上的 /usr/share/fonts下

  • 執行 mkfontscale, mkfontdir, fc-cache -fv三個指令,然後重新啟動伺服器(Reboot)即可。

程式碼使用

現在開始,就可以寫程式碼了:

import phantom from 'phantom';
const pageToPdf = (url) => {
 phantom.create().then((ph) {
 ph.createPage().then((page) => {
  page.open(url).then((status) => {
  // 配置存储的pdf地址
  page.render('存储的地址.pdf').then((status) => {
   console.log('Page rendered');
   ph.exit();
  });
  });
 });
 });
};
pageToPdf('https://www.tongbanjie.com');

結果

ok,現在可以部署程式碼試一下了。

相關推薦:

js實作html轉成pdf

Linux下使用php把word轉pdf的實例分享

如何在Linux環境下安裝XAMPP的PHP的PDF擴充

#

以上是phantomjs匯出html到pdf的方法實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn