nodejs pdf ke imej

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2023-05-25 10:35:07
asal
2039 orang telah melayarinya

Node.js ialah platform sumber terbuka untuk menjalankan JavaScript Ia boleh menjalankan kod JavaScript pada bahagian pelayan Ia telah menjadi pilihan pertama banyak pembangun kerana kecekapan dan skalabilitinya. Dalam Node.js, terdapat beberapa pakej dan perpustakaan yang sangat berkuasa yang boleh melaksanakan pelbagai fungsi dengan mudah. Antaranya, fungsi yang kami perkenalkan hari ini ialah cara menukar fail PDF kepada imej, dan pakej yang terlibat ialah pdf-poppler dan gm.

Sebelum menukar PDF kepada imej, anda perlu memasang persekitaran berikut:

  • Node.js
  • poppler-utils (untuk pemprosesan PDF)
  • GraphicsMagick/ImageMagick (untuk pemprosesan imej)

Seterusnya, kami memasang dua pakej yang diperlukan, buka terminal, dan jalankan arahan berikut dalam direktori projek:

npm install pdf-poppler gm --save
Salin selepas log masuk

Selepas pemasangan selesai, kita boleh mula menggunakan kedua-dua pakej ini untuk merealisasikan fungsi menukar PDF kepada imej.

Idea pelaksanaan

Proses menukar PDF kepada imej adalah seperti berikut:

  1. Baca fail PDF;
  2. Tukar fail PDF kepada imej dalam Format JPEG ;
  3. Proses imej.

Pelaksanaan Kod

Langkah pelaksanaan khusus dan kod sampel diberikan di bawah.

Langkah pertama: Baca fail PDF

const pdfPoppler = require('pdf-poppler');

const pdfPath = './example.pdf';

const opts = {
  format: 'jpeg',
  out_dir: './tmp',
  out_prefix: 'converted',
  page: null
};

pdfPoppler.convert(pdfPath, opts)
  .then(() => {
    console.log('PDF转换完成');
  })
  .catch((err) => {
    console.error(err);
  });
Salin selepas log masuk

Penjelasan kod:

  • pdf-popplertukar< dalam pakej 🎜> Kaedah untuk menukar fail PDF kepada imej.
  • pdfPath ialah laluan fail PDF yang hendak ditukar, format ialah format output, format JPEG dipilih di sini, out_dir ialah direktori output, out_prefix ialah awalan nama fail output, halaman ialah halaman PDF yang akan ditukar dan lalainya adalah nol, yang bermaksud menukar semua halaman.
Langkah 2: Tukar fail PDF kepada imej format JPEG

const gm = require('gm').subClass({imageMagick: true});

const imageMagick = gm.subClass({imageMagick: true});
const path = require('path');
const fs = require('fs');
const PDFImage = require('pdf-image').PDFImage;

const pdfPath = './example.pdf';

const pdfImage = new PDFImage(pdfPath);

pdfImage.convertPage(0).then(function (imagePath) {
    const filePath = path.join('./tmp', 'converted-0.jpg');

    // 处理图片
    imageMagick(imagePath)
      //....
      .write(filePath, function (err) {
          if (!err) {
              console.log('图片生成成功');
          }
      });
}).catch(function (err) {
    console.error(err);
});
Salin selepas log masuk

Penjelasan kod:

  • digunakan untuk pemprosesan imej. Modul gm
  • dan path digunakan untuk membaca fail dan pemprosesan laluan. Modul fs
  • boleh digunakan untuk menukar fail PDF kepada imej. Kaedah pdf-image
  • digunakan untuk menukar halaman PDF kepada imej. convertPage
Langkah 3: Proses imej

imageMagick(imagePath)
  .resize(800)
  .quality(90)
  .write(filePath, function (err) {
      if (!err) {
          console.log('图片生成成功');
      }
  });
Salin selepas log masuk

Penerangan kod: Kaedah

  • digunakan untuk mengubah saiz imej. Kaedah resize
  • digunakan untuk melaraskan kualiti imej. quality
Contoh kod penuh:

const pdfPoppler = require('pdf-poppler');
const gm = require('gm').subClass({imageMagick: true});
const imageMagick = gm.subClass({imageMagick: true});
const path = require('path');
const fs = require('fs');
const PDFImage = require('pdf-image').PDFImage;

const pdfPath = './example.pdf';

const opts = {
  format: 'jpeg',
  out_dir: './tmp',
  out_prefix: 'converted',
  page: null
};

pdfPoppler.convert(pdfPath, opts)
  .then(() => {
    console.log('PDF转换完成');

    const pdfImage = new PDFImage(pdfPath);

    pdfImage.convertPage(0).then(function (imagePath) {
      const filePath = path.join('./tmp', 'converted-0.jpg');

      imageMagick(imagePath)
        .resize(800)
        .quality(90)
        .write(filePath, function (err) {
          if (!err) {
            console.log('图片生成成功');
          }
        });
    }).catch(function (err) {
      console.error(err);
    });

  })
  .catch((err) => {
    console.error(err);
  });
Salin selepas log masuk
Ringkasan

Dalam artikel ini, kami memperkenalkan cara menukar fail PDF kepada imej format JPEG menggunakan Node.js . Proses pelaksanaan khusus merangkumi tiga langkah: membaca fail PDF, menukar fail PDF kepada imej dan memproses imej.

Fungsi menukar PDF kepada imej diperlukan dalam banyak senario perniagaan, seperti pengurusan dokumen elektronik, pembacaan dalam talian, dsb. Saya harap artikel ini boleh membantu anda Jika anda masih mempunyai soalan atau berminat dengan topik pembangunan Node.js yang lain, sila tinggalkan mesej untuk berkomunikasi.

Atas ialah kandungan terperinci nodejs pdf ke imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan