Maison  >  Article  >  interface Web  >  Partagez un exemple de la façon d'exporter du HTML vers PDF à l'aide de phantomjs

Partagez un exemple de la façon d'exporter du HTML vers PDF à l'aide de phantomjs

小云云
小云云original
2018-01-05 14:50:462837parcourir

Récemment, nous allons créer une fonction de conversion PDF pour notre service d'articles. Après comparaison, je pense que phantomjs est meilleur en conversion. Cet article présente principalement un résumé de la méthode d'exportation de HTML vers PDF avec phantomjs. Les amis qui en ont besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.

Environnement

centos x86_64

Télécharger

Vous pouvez le télécharger depuis le site officiel : Site officiel

ou wget :

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

Installer

// 解压
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查看是否安装成功

La configuration

ne suffit plus maintenant. Il y aura quelques problèmes si phantomjs est utilisé uniquement pour la conversion : ​​

  • Caractères chinois tronqués

  • Incohérence de l'épaisseur de la police

Solution :

1 : caractères chinois tronqués

yum -y install bitmap-fonts bitmap- fonts-cjk
2 : Police d'épaisseur incohérente

C'est la raison pour laquelle les polices n'existent pas dans centos. Les polices peuvent être importées.

  • Installez l'outil de gestion des polices : yum install -y fontconfig mkfontscale

  • Visitez c:windowsfonts et copiez les polices requises. Téléchargez-le ensuite sur /usr/share/fonts sur le serveur

  • et exécutez les trois commandes mkfontscale, mkfontdir, fc-cache -fv, puis redémarrez le serveur (Reboot).

Utilisation du code

Commencez maintenant, vous pouvez écrire le 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');

Résultat

ok, maintenant vous pouvez déployer J'ai essayé le code.

Recommandations associées :

js pour convertir le html en pdf,

Utiliser php sous Linux Partagez des exemples de conversion de Word en PDF

Comment installer l'extension PDF PHP de XAMPP dans un environnement Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn