最近在做一个富媒体项目,希望将原有的PDF文件直接生成HTML数据流,方便进行排版编辑,研究了一下大家的解决方案,决定采用基于xpdf的Poppler进行处理。因为服务器端使用的是Node.js,没有现成的调用源码,所以使用express实现了上传转换输出。与大家共享!
首先安装Poppler,我使用的上MacOS,Linux平台也大同小异,就是下载Poppler的源码进行编译,或者直接使用Mac下的Ports进行安装。
安装完成后在终端运行“pdftohtml”可以看到下面的提示:
这样就能在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",