解决方案将PDF转换为图像Centos Stream 8 with Node JS

suzh9iv8  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(173)

试图实现将PDF转换为图像的过程自动化的目标我遇到了许多障碍,如“Linux不支持”,“pdfToCairo不是一个函数”一些库使用poppler,但Centos不会自动安装必要的依赖项。
下面是使用的库和脚本,感谢pdf 2 img-promises和它的创建者。

8ljdwjyq

8ljdwjyq1#

解决方法:
依赖项这些依赖项必须安装在您的服务器上,因为gm软件包会使用它们:
图形魔术幽灵脚本

$ yum  install GraphicsMagick ghostscript

设备安装

$ npm install pdf2img-promises

用途

const fs      = require('fs');
    const path    = require('path');
    const Pdf2Img = require('pdf2img-promises');

    let input   = __dirname + '/test.pdf';
    let fileName = 'test';

    let converter = new Pdf2Img();

    // The event emitter is emitting to the file name
    converter.on(fileName, (msg) => {
        console.log('Received: ', msg);
    });

converter.setOptions({
  type: 'png',                                // png or jpg, default jpg
  size: 1024,                                 // default 1024
  density: 600,                               // default 600
  quality: 100,                               // default 100
  outputdir: __dirname + path.sep + 'output', // output folder, default null (if null given, then it will create folder name same as file name)
  outputname: fileName,                       // output file name, dafault null (if null given, then it will create image name same as input name)
  page: null                                  // convert selected page, default null (if null given, then it will convert all pages)
});

converter.convert(input)
  .then(info => {
    console.log(info);
  })
  .catch(err => {
    console.error(err);
  })

它将返回分割和转换的图像文件数组。

{ result: 'success',
  message: 
   [ { page: 1,
       name: 'test_1.jpg',
       size: 17.275,
       path: '/output/test_1.jpg' },
     { page: 2,
       name: 'test_2.jpg',
       size: 24.518,
       path: '/output/test_2.jpg' },
     { page: 3,
       name: 'test_3.jpg',
       size: 24.055,
       path: '/output/test_3.jpg' } ] }

https://npm.io/package/pdf2img-promises

相关问题