Recently we will build a PDF conversion function for our article service. After comparison, I think phantomjs is better at conversion. This article mainly introduces a summary of the method of exporting html to pdf with phantomjs. Friends who need it can refer to it. I hope it can help everyone.
Environment
centos x86_64
Download
You can download it from the official website: Official website
Or wget can also be used:
wget -P /tmp/ https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
INSTALLATION
// 解压 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查看是否安装成功
CONFIGURATION
It’s not enough now. If phantomjs is used for conversion, there will be some problems:
Chinese garbled characters
Inconsistent font thickness
Solution:
1: Chinese garbled characters
yum -y install bitmap-fonts bitmap-fonts-cjk
2: Inconsistent font thickness
This is the reason why fonts do not exist in centos, and fonts can be imported.
Install the font management tool: yum install -y fontconfig mkfontscale
Visit c:\windows\fonts and copy the required fonts. Then upload it to /usr/share/fonts on the server
and execute the three commands mkfontscale, mkfontdir, fc-cache -fv, and then restart the server (Reboot).
Code usage
Start now, you can write the code:
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');
Result
ok, now you can deploy the code to try For a moment.
Related recommendations:
using php under Linux Share examples of converting word to pdf
How to install XAMPP’s PHP PDF extension in Linux environment
The above is the detailed content of Example sharing of how to export html to pdf using phantomjs. For more information, please follow other related articles on the PHP Chinese website!