加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

Node.js实现PDF文件转HTML

发布时间:2018-10-03 02:33:24 所属栏目:创业 来源:站长网
导读:最近在做一个富媒体项目,但愿将原有的PDF文件直接天生HTML数据流,利便举办排版编辑,研究了一下各人的办理方案,抉择回收基于xpdf的Poppler举办处理赏罚。由于处事器端行使的是Node.js,没有现成的挪用源码,以是行使express实现了上传转换输出。与各人共享!

最近在做一个富媒体项目,但愿将原有的PDF文件直接天生HTML数据流,利便举办排版编辑,研究了一下各人的办理方案,抉择回收基于xpdf的Poppler举办处理赏罚。由于处事器端行使的是Node.js,没有现成的挪用源码,以是行使express实现了上传转换输出。与各人共享!

起首安装Poppler,我行使的上MacOS,Linux平台也大同小异,就是下载Poppler的源码举办编译,可能直接行使Mac下的Ports举办安装。

Poppler:http://poppler.freedesktop.org/

安装完成后在终端运行“pdftohtml”可以看到下面的提醒:

Node.js实现PDF文件转HTML

这样就能在Node.js中操作子线程挪用转换了,不多说,实当代码如下: 

function getData(file,callback){
var out="";
last = exec('pdftohtml -p -noframes '+file);
last.stdout.on('data', function (data) {
callback("OK!");
});
}

PDF文件上传处理赏罚部门:

jade: 
form(method="post", enctype="multipart/form-data", action="/upload")
fieldset
legend General
p
label(for="user[pdf]") Picture:
input(type="file", name="pdf")
p.buttons
input(type="submit", value="Save")

Node.js: 
app.post('/upload', function (req, res) {
// 得到文件的姑且路径
var date = new Date();
var tmp_path = req.files.pdf.path;
console.log(tmp_path);
// 指定文件上传后的目次 - 示例为"images"目次。
var target_path = './pdf/' +req.files.pdf.name;
console.log(target_path);
// 移动文件
fs.rename(tmp_path, target_path, function (err) {
if (err) throw err;
// 删除姑且文件夹文件,
fs.unlink(tmp_path, function () {
if (err) throw err;
//res.send('File uploaded to: ' + target_path + ' - ' + req.files.pdf.size + ' bytes');
getData(target_path,function call(data){
//res.send(data);
res.redirect("/"+req.files.pdf.name.replace("pdf","html"));
});
});
});
});

成果的实现大抵就是这样,要什么题目接待各人一路交换!

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读