Node.js ist eine Open-Source-Plattform zum Ausführen von JavaScript. Aufgrund ihrer Effizienz und Skalierbarkeit ist sie für viele Entwickler die erste Wahl. In Node.js gibt es einige sehr leistungsstarke Pakete und Bibliotheken, mit denen sich verschiedene Funktionen problemlos implementieren lassen. Unter anderem stellen wir heute die Funktion vor, wie man PDF-Dateien in Bilder umwandelt. Die beteiligten Pakete sind pdf-poppler
und gm
. pdf-poppler
和gm
。
在实现PDF转图片前,你需要安装好以下环境:
接下来,我们先安装必要的两个包,打开终端,在项目目录下运行以下命令:
npm install pdf-poppler gm --save
安装完成后,我们就可以开始使用这两个包来实现PDF转图片的功能了。
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); });
代码解释:
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
用于图像处理。path
和fs
模块用于读取文件和路径处理。pdf-image
模块可用于将PDF文件转换为图像。convertPage
方法用于将PDF页面转换为图像。imageMagick(imagePath) .resize(800) .quality(90) .write(filePath, function (err) { if (!err) { console.log('图片生成成功'); } });
代码解释:
resize
方法用于调整图片大小。quality
Als nächstes installieren wir zunächst die notwendigen zwei Pakete, öffnen das Terminal und führen im Projektverzeichnis den folgenden Befehl aus :
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); });
Nach Abschluss der Installation können wir mit der Verwendung dieser beiden Pakete beginnen, um die Funktion der Konvertierung von PDF in Bilder zu realisieren.
#🎜🎜#Implementierungsideen#🎜🎜##🎜🎜#Der Prozess der Konvertierung von PDF in Bilder ist wie folgt: #🎜🎜#gm
Wird zur Bildverarbeitung verwendet. #🎜🎜#path
- und fs
-Module werden zum Lesen von Dateien und zur Pfadverarbeitung verwendet. #🎜🎜#pdf-image
-Modul kann zum Konvertieren von PDF-Dateien in Bilder verwendet werden. #🎜🎜#convertPage
-Methode wird zum Konvertieren von PDF-Seiten in Bilder verwendet. #🎜🎜##🎜🎜#Resize
-Methode Wird verwendet Größe von Bildern ändern. #🎜🎜#quality
-Methode wird zum Anpassen der Bildqualität verwendet. #🎜🎜##🎜🎜##🎜🎜#Vollständiges Codebeispiel: #🎜🎜#rrreee#🎜🎜#Zusammenfassung#🎜🎜##🎜🎜#In diesem Beitrag haben wir vorgestellt, wie man PDF mit Node.js in PDF konvertiert Konvertieren Sie die Datei in ein Bild im JPEG-Format. Der spezifische Implementierungsprozess umfasst drei Schritte: Lesen von PDF-Dateien, Konvertieren von PDF-Dateien in Bilder und Verarbeiten von Bildern. #🎜🎜##🎜🎜#Die Funktion zum Konvertieren von PDF-Dateien in Bilder wird in vielen Geschäftsszenarien benötigt, z. B. bei der elektronischen Dokumentenverwaltung, beim Online-Lesen usw. Ich hoffe, dass dieser Artikel für Sie hilfreich sein kann. Wenn Sie noch Fragen haben oder an anderen Node.js-Entwicklungsthemen interessiert sind, hinterlassen Sie bitte eine Nachricht zur Kommunikation! #🎜🎜#Das obige ist der detaillierte Inhalt vonnodejs pdf zum Bild. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!