Rumah  >  Artikel  >  hujung hadapan web  >  nodejs kepada pdf

nodejs kepada pdf

WBOY
WBOYasal
2023-05-23 12:27:071712semak imbas

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:

  1. Express: Menyediakan rangka kerja pembangunan aplikasi web.
  2. Puppeteer: Pustaka Node.js yang dibangunkan oleh Google untuk mengawal Chrome tanpa kepala.

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:

  1. format: format halaman halaman web. Ia boleh ditetapkan kepada format halaman standard seperti A4, Letter, dsb., atau ia boleh menjadi saiz halaman tersuai.
  2. margin: Jidar halaman web. Boleh ditetapkan kepada jidar atas, jidar bawah, jidar kiri, jidar kanan, dsb.
  3. headerTemplate/footerTemplate: Templat HTML yang boleh menetapkan pengepala dan pengaki. Anda boleh menambah elemen dengan nama kelas halaman dalam templat dan menambah nombor halaman yang ditukar di dalamnya.
  4. displayHeaderFooter: Anda boleh menetapkan sama ada untuk memaparkan pengepala dan pengaki. Tetapkan kepada benar untuk dipaparkan, tetapkan kepada palsu untuk tidak dipaparkan.
  5. skala: Anda boleh menetapkan nisbah penskalaan halaman web untuk menyesuaikan diri dengan fail PDF output.
  6. pageRanges: Anda boleh menetapkan julat nombor halaman yang perlu ditukar untuk menyesuaikan diri dengan penukaran dokumen berbilang halaman. Sebagai contoh, pageRanges: '1-10' bermakna hanya kandungan dari halaman 1 hingga 10 akan ditukar.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:pemalam menu jquery?Artikel seterusnya:pemalam menu jquery?