我一直在寻找一种将pdf和ppt文件转换为图像的方法。我经历了很多网站和链接。随着NodeJS的发明,我希望有一些简单的东西。
我找到了这个:convert pptx/ppt/docx/doc to images。它承诺为我的问题提供更简单的解决方案。但是,它是用 Meteor 编写的,我认为它可能会有更多的东西而不是眼睛。我想要一个简单的NodeJS方法来做这件事,没有 Meteor 涂层,因为我以前没有Metor的知识。
meteorhacks:npm
npm-container
Meteor.startup(function () {
var fs = Npm.require("fs");
var path = Npm.require('path');
var sys = Npm.require('sys');
var exec = Npm.require('child_process').exec;
var child;
var dir = "/home/bhavesh";
fs.watch(dir, {persistent: true}, function (event, fileName) {
console.log("dfs");
console.log("Event: " + event);
console.log(fileName + "\n");
var ext = path.extname(fileName);
if ((ext.toString() == ".pptx" || ext.toString() == ".ppt" || ext.toString() == ".docx" || ext.toString() == ".doc") && event == "change") {
console.log("Powerpoint file");
ppt_or_doc_to_pdf(dir,fileName);
}
if (ext.toString() == ".pdf" && event == "change") {
console.log("PDF file");
pdf_to_ppm(dir,fileName);
}
});
function pdf_to_ppm(dir, file) {
var cmd = "cd " + dir + "; pdftoppm '" + file + "' slide";
exec(cmd, function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
ppm_to_jpg(dir);
});
}
function ppt_or_doc_to_pdf(dir, file) {
var fileName = file.substring(0, file.indexOf('.'));
var cmd = "cd " + dir + "; unoconv -f pdf -o '" + fileName + ".pdf' '" + file + "'";
exec(cmd, function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
pdf_to_ppm(dir, fileName + '.pdf');
});
}
function ppm_to_jpg(dir) {
var cmd = "cd " + dir + "; mogrify -format jpg slide*.ppm";
exec(cmd, function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
}
});
感谢任何帮助...
谢谢..