Home  >  Article  >  Web Front-end  >  Example sharing of how to export html to pdf using phantomjs

Example sharing of how to export html to pdf using phantomjs

小云云
小云云Original
2018-01-05 14:50:462798browse

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:

js to convert html into pdf,

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn