Dengan perkembangan Internet, semakin banyak halaman web perlu ditukar kepada fail PDF untuk pencetakan, perkongsian dan penyimpanan yang mudah. Kemunculan Node.js memberikan kita persekitaran yang boleh berjalan di bahagian pelayan, menjadikannya lebih mudah dan cekap untuk menukar halaman web kepada fail PDF. Artikel ini menerangkan cara menggunakan Node.js untuk menukar halaman web kepada fail PDF.
1. Pasang Node.js dan modul berkaitan
Untuk menggunakan Node.js untuk menukar halaman web kepada fail PDF, anda perlu memasang persekitaran Node.js pada komputer anda terlebih dahulu. Node.js boleh dimuat turun dan dipasang dari laman web rasmi https://nodejs.org/.
Selepas memasang Node.js, anda perlu memasang beberapa modul berkaitan:
boleh dipasang dalam alat baris arahan melalui arahan berikut:
npm install express puppeteer
2. Tulis kod
Selepas memasang Node.js dan modul berkaitan, mula menulis kod . Di bawah ialah aplikasi Express ringkas yang menukar halaman web kepada fail PDF secara automatik apabila ia dimuatkan dalam penyemak imbas:
const express = require('express') const puppeteer = require('puppeteer') const app = express() const port = 3000 app.get('/', async (req, res) => { const browser = await puppeteer.launch() const page = await browser.newPage() await page.goto('https://www.example.com') const pdf = await page.pdf() res.contentType("application/pdf") res.send(pdf) await browser.close() }) app.listen(port, () => { console.log(`Server running at http://localhost:${port}`) })
Aplikasi ini menggunakan rangka kerja Express untuk mencipta pelayan web dan menggunakan perpustakaan Puppeteer untuk menukar halaman web ke dalam fail PDF. Buka penyemak imbas anda dan masukkan http://localhost:3000 untuk melihat fail PDF yang ditukar.
3. Tetapan parameter
Pustaka Puppeteer boleh menetapkan banyak parameter untuk disesuaikan semasa proses menukar halaman web kepada fail PDF, seperti: saiz halaman, jidar, pengepala/pengaki, Zum dan paging dsb. Beberapa tetapan parameter yang biasa digunakan disenaraikan di bawah:
Berikut ialah contoh menetapkan beberapa parameter apabila menukar halaman web kepada fail PDF:
const express = require('express') const puppeteer = require('puppeteer') const app = express() const port = 3000 app.get('/', async (req, res) => { const browser = await puppeteer.launch() const page = await browser.newPage() await page.goto('https://www.example.com') const pdf = await page.pdf({ format: 'A4', margin: { top: '20mm', right: '20mm', bottom: '20mm', left: '20mm' }, displayHeaderFooter: true, headerTemplate: '<div class="page-number"></div>', footerTemplate: '<div class="page-number"></div>', scale: 0.8 }) res.contentType("application/pdf") res.send(pdf) await browser.close() }) app.listen(port, () => { console.log(`Server running at http://localhost:${port}`) })
Aplikasi ini menetapkan format halaman A4, jidar 20 mm dan pengepala paparan dan templat pengaki, pengepala dan pengaki, nisbah zum 0.8x, dan mengawal fail PDF output supaya hanya memasukkan halaman 1 hingga 10.
4. Ringkasan
Menggunakan Node.js untuk menukar halaman web kepada fail PDF adalah sangat mudah dan cekap. Pustaka Puppeteer menyediakan kawalan penuh ke atas Chrome tanpa kepala, membolehkan anda mengawal saiz halaman, jidar, pengepala/pengaki, penskalaan dan kelui, dsb. dengan mudah untuk memenuhi keperluan yang berbeza. Melalui pengenalan artikel ini, saya percaya bahawa pembaca mempunyai pemahaman tertentu tentang proses menukar halaman web kepada fail PDF, dan boleh menambah baik dan mengoptimumkannya secara berterusan dalam amalan.
Atas ialah kandungan terperinci nodejs kepada pdf. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!