溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

phantomjs導出html到pdf的方法總結(jié)

發(fā)布時間:2020-10-05 14:50:40 來源:腳本之家 閱讀:403 作者:mrr 欄目:web開發(fā)

最近要為我們的文章服務做一個轉(zhuǎn)pdf的功能。經(jīng)過比較,我覺得phantomjs是轉(zhuǎn)化比較好的?,F(xiàn)在講講如何使用。

環(huán)境

centos x86_64

下載

可以到官網(wǎng)下載: 官網(wǎng)

或者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/
現(xiàn)在可以在終端執(zhí)行phantomjs --version查看是否安裝成功

配置

現(xiàn)在還不夠,光phantomjs用來轉(zhuǎn)化,會存在一些問題:

  • 中文亂碼
  • 字體粗細不一致

解決方式:

1:中文亂碼

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

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

  • 安裝字體管理工具: yum install -y fontconfig mkfontscale
  • 訪問 c:\windows\fonts,把需要的字體copy出來。然后上傳到服務器上的 /usr/share/fonts下
  • 執(zhí)行 mkfontscale, mkfontdir, fc-cache -fv三個命令,然后重啟服務器(Reboot)即可。

代碼使用

現(xiàn)在開始,就可以寫代碼了:

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');

結(jié)果

ok,現(xiàn)在可以部署代碼試一下了。

phantomjs導出html到pdf的方法總結(jié)

總結(jié)

以上所述是小編給大家介紹的phantomjs導出html到pdf的方法總結(jié),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI