最近、記事サービス用の 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を使用するだけでは不十分です:
中国語の文字化け
Incon一貫したフォント太さ
解決策:
1: 中国語の文字化け
yum -y install bitmap-fonts bitmap-fonts-cjk
2: フォントの太さが一貫性がない
これがcentosにフォントがない理由です。フォントをインポートします。
フォント管理ツールをインストールします: yum install -y fontconfig mkfontscale
c:windowsfonts にアクセスして、必要なフォントをコピーします。次に、それをサーバー上の /usr/share/fonts にアップロードし、mkfontscale、mkfontdir、fc-cache -fv の 3 つのコマンドを実行して、サーバーを再起動します (リブート)。
コードの使用法
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、これでコードをデプロイして試してみることができます。
関連する推奨事項: HTML を PDF に変換するための js、
Linux で Word を PDF に変換するための php の使用例の共有
Linux 環境に XAMPP の PHP PDF 拡張機能をインストールする方法
以上がphantomjs を使用して HTML を PDF にエクスポートする方法の例の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。