ホームページ >ウェブフロントエンド >フロントエンドQ&A >Node.js を使用して HTML を PDF に変換する方法 (ガイド)
インターネットの発展に伴い、ユーザーがオフラインで読んだり印刷したりできるように、ドキュメントを PDF 形式でダウンロードできるようにする Web サイトがますます増えています。 Node.js を使用して HTML を PDF に変換することは、一般的なソリューションになっています。
この記事では、Node.jsを使ってHTMLをPDFに変換する方法を、関連技術や注意点を分析しながら紹介します。
環境の準備:
HTML から PDF への変換を開始する前に、Node.js と関連する依存関係がローカル環境にインストールされていることを確認する必要があります。この記事で使用される依存関係には、html-pdf、ejs、express などが含まれます。
Install html-pdf
html-pdf は、npm 経由でインストールできるオープン ソースの Node.js パッケージです。
npm install -g html-pdf
Install Express
expressこれは、Node.js に基づく Web アプリケーション開発フレームワークであり、npm を通じてインストールできます。
npm install -g express
ejs のインストール
ejs は、npm を通じてインストールできる効率的な JavaScript テンプレート エンジンです。
npm install -g ejs
単純な Web アプリケーションの作成:
次に、HTML を PDF に変換した場合の効果をテストするための単純な Web アプリケーションを作成します。
npm init
<!doctype html> <html> <head> <title>HTML转PDF</title> <meta charset="utf-8"> </head> <body> <h1>HTML转PDF</h1> <p>这是一段需要转换为PDF的HTML内容。</p> </body> </html>
const express = require('express'); const app = express(); const ejs = require('ejs'); const path = require('path'); // 设置模板引擎 app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); // 服务器首页 app.get('/', function(req, res) { res.render('index'); }); // 转换HTML为PDF并进行下载 app.get('/download', function(req, res) { const pdf = require('html-pdf'); const html = ejs.render('<%- include(\'../public/index.html\') %>', {}); const options = { format: 'A4' }; pdf.create(html, options).toStream(function(err, stream) { if (err) return res.send(err.message); res.setHeader('Content-disposition', 'attachment; filename=sample.pdf'); res.setHeader('Content-type', 'application/pdf'); stream.pipe(res); }); }); // 启动服务器 app.listen(3000, function() { console.log('App listening on port 3000!'); });
上記のコードでは、サーバーのホームページにアクセスするルート (/) と、HTML を PDF に変換してダウンロードするルート (/download ) の 2 つのルートを定義しています。 。
その中で、ejs テンプレート エンジンはパブリック フォルダー内のindex.html ファイルをレンダリングするために使用され、html-pdf はレンダリングされた HTML ファイルを変換するために使用され、最後にブラウザーは PDF ファイルを保存するために使用されます。ダウンロードとして。
<!doctype html> <html> <head> <title>HTML转PDF</title> <meta charset="utf-8"> </head> <body> <h1>HTML转PDF</h1> <p>这是一段需要转换为PDF的HTML内容。</p> <a href="/download">下载PDF</a> </body> </html>
node app.js
以上がNode.js を使用して HTML を PDF に変換する方法 (ガイド)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。