>웹 프론트엔드 >프런트엔드 Q&A >nodejs PDF를 이미지로

nodejs PDF를 이미지로

WBOY
WBOY원래의
2023-05-25 10:35:071969검색

Node.js는 JavaScript 실행을 위한 오픈 소스 플랫폼으로, 효율성과 확장성으로 인해 많은 개발자가 가장 먼저 선택하는 플랫폼입니다. Node.js에는 다양한 기능을 쉽게 구현할 수 있는 매우 강력한 패키지와 라이브러리가 있습니다. 그중 오늘 소개하는 기능은 PDF 파일을 이미지로 변환하는 방법입니다. 관련된 패키지는 pdf-popplergm입니다. pdf-popplergm

在实现PDF转图片前,你需要安装好以下环境:

  • Node.js
  • poppler-utils(用于PDF处理)
  • GraphicsMagick/ImageMagick(用于图片处理)

接下来,我们先安装必要的两个包,打开终端,在项目目录下运行以下命令:

npm install pdf-poppler gm --save

安装完成后,我们就可以开始使用这两个包来实现PDF转图片的功能了。

实现思路

PDF转图片的流程如下:

  1. 读取PDF文件;
  2. 将PDF文件转换为JPEG格式的图片;
  3. 对图片进行处理。

代码实现

下面给出具体的实现步骤及示例代码。

第一步:读取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);
  });

代码解释:

  • pdf-poppler包中的convert方法用于将PDF文件转换为图片。
  • pdfPath为待转换的PDF文件路径,format为输出格式,这里选择的是JPEG格式,out_dir为输出目录,out_prefix为输出文件名前缀,page为要转换的PDF页面,默认为 null,表示转换所有页面。

第二步:将PDF文件转换为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);
});

代码解释:

  • gm用于图像处理。
  • pathfs模块用于读取文件和路径处理。
  • pdf-image模块可用于将PDF文件转换为图像。
  • convertPage方法用于将PDF页面转换为图像。

第三步:对图片进行处理

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

代码解释:

  • resize方法用于调整图片大小。
  • quality
  • PDF를 이미지로 변환하기 전에 다음 환경을 설치해야 합니다:
  • Node.js

  • poppler-utils(PDF 처리용)
  • GraphicsMagick/ImageMagick(이미지용) 처리 )

    다음으로 먼저 필요한 두 패키지를 설치하고 터미널을 열고 프로젝트 디렉터리에서 다음 명령을 실행합니다.

    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);
      });

    설치가 완료되면 이 두 패키지를 사용하여 PDF를 이미지로 변환할 수 있습니다. 기능의.

    🎜구현 아이디어🎜🎜PDF를 이미지로 변환하는 과정은 다음과 같습니다. 🎜
    1. PDF 파일을 읽습니다. 🎜
    2. PDF 파일을 JPEG 형식의 이미지로 변환합니다. 🎜
    🎜코드 구현🎜🎜구체적인 구현 단계와 샘플 코드는 다음과 같습니다. 🎜

    1단계: PDF 파일 읽기

    rrreee🎜코드 설명: 🎜
    • convert pdf-poppler 패키지의 메소드 PDF 파일을 이미지로 변환합니다. 🎜
    • pdfPath는 변환할 PDF 파일의 경로이고, format은 출력 형식이며, 여기에서 JPEG 형식이 선택되고, out_dir Strong>은 출력 디렉터리이고, out_prefix는 출력 파일 이름 접두사이고, page는 변환할 PDF 페이지이며, 기본값은 null이며, 이는 모든 페이지를 변환한다는 의미입니다. 🎜🎜

      2단계: PDF 파일을 JPEG 형식 이미지로 변환

      rrreee🎜코드 설명: 🎜
      • gm은 이미지 처리에 사용됩니다. 🎜
      • pathfs 모듈은 파일 읽기 및 경로 처리에 사용됩니다. 🎜
      • pdf-image 모듈을 사용하여 PDF 파일을 이미지로 변환할 수 있습니다. 🎜
      • convertPage 메소드는 PDF 페이지를 이미지로 변환하는 데 사용됩니다. 🎜🎜

        3단계: 이미지 처리

        rrreee🎜코드 설명: 🎜
        • resize 메소드는 이미지 크기를 조정하는 데 사용됩니다. 🎜
        • quality 방법은 이미지 품질을 조정하는 데 사용됩니다. 🎜🎜🎜전체 코드 예: 🎜rrreee🎜Summary🎜🎜이 기사에서는 Node.js를 사용하여 PDF 파일을 JPEG 형식 이미지로 변환하는 방법을 소개했습니다. 구체적인 구현 프로세스에는 PDF 파일 읽기, PDF 파일을 이미지로 변환, 이미지 처리의 세 단계가 포함됩니다. 🎜🎜PDF를 이미지로 변환하는 기능은 전자 문서 관리, 온라인 읽기 등 많은 비즈니스 시나리오에서 필요합니다. 이 글이 여러분에게 도움이 되기를 바랍니다. 여전히 질문이 있거나 다른 Node.js 개발 주제에 관심이 있다면 메시지를 남겨서 소통하세요! 🎜

위 내용은 nodejs PDF를 이미지로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.