Así que estoy tratando de crear una pequeña aplicación que tome archivos PDF y los convierta en imágenes en node.js.
Descubrí que el paquete pdf2pic es bastante bueno para lo que quería hacer.
Entonces, como se indica en ese paquete, instalé Ghostscript y Graphicsmagick, luego instalé el paquete. Estoy en Windows por cierto.
aquí está mi código node.js:
const { fromPath } = require("pdf2pic"); const options = { density: 100, saveFilename: "untitled", savePath: "./images", format: "png", width: 600, height: 600 }; const storeAsImage = fromPath("test.pdf", options); const pageToConvertAsImage = 1; storeAsImage(pageToConvertAsImage).then((resolve) => { console.log("Page 1 is now converted as image"); return resolve; }).catch(error => { console.log(error); });
Después de sintonizar este código, aparece este error:
Error: Command failed: gm convert: No decode delegate for this image format (C:\Users\Yosse_M\AppData\Local\Temp\gmRuQc4v). at ChildProcess.onExit (D:\Devs\NodeJS\app07-pdf2pic-test\node_modules\gm\lib\command.js:301:17) at ChildProcess.emit (events.js:315:20) at ChildProcess.cp.emit (D:\Devs\NodeJS\app07-pdf2pic-test\node_modules\cross-spawn\lib\enoent.js:40:29) at maybeClose (internal/child_process.js:1021:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5) { code: 1, signal: null
Esto es lo que devuelve el comando gm -version:
C:\Users\Yosse_M>gm -version GraphicsMagick 1.3.36 20201226 Q16 http://www.GraphicsMagick.org/ Copyright (C) 2002-2020 GraphicsMagick Group. Additional copyrights and licenses apply to this software. See http://www.GraphicsMagick.org/www/Copyright.html for details. Feature Support: Native Thread Safe yes Large Files (> 32 bit) yes Large Memory (> 32 bit) yes BZIP yes DPS no FlashPix no FreeType yes Ghostscript (Library) no JBIG yes JPEG-2000 yes JPEG yes Little CMS yes Loadable Modules yes Solaris mtmalloc no Google perftools tcmalloc no OpenMP yes (200203 "2.0") PNG yes TIFF yes TRIO no Solaris umem no WebP yes WMF yes X11 no XML yes ZLIB yes Windows Build Parameters: MSVC Version: 1500
No tengo idea de cómo solucionar este problema, ¿puedo obtener algún consejo?
Por favor, si necesita más información, hágamelo saber.
Gracias
También estaba luchando con el "problema del delegado de pdf de GM". Y descubrí que GraphicsMagick usa las fuentes Ghostscript (también conocidas como "Fuentes URW") para admitir el conjunto estándar de fuentes Adobe Postscript como "Helvetica" y "Times Roman". Descargue fuentes desde aquí Fuentes de Ghostscript y pegue las fuentes de la carpeta descargada en la carpeta con los archivos de Ghostscript C:Program Files\gs\gs9.52 . Aquí puedes encontrar más información.
const { fromPath } = require("pdf2pic"); const options = { density: 100, saveFilename: "untitled", savePath: "./images", format: "png", width: 600, height: 600 }; try { const convert = fromPath("test.pdf", options); await convert.bulk(-1); } catch (error) { console.log(error); }