2014-09-03 116 views
2

没有人有使用NodeK的PDFKit的经验。具体来说,我试图将2个PDF文档合并为1,但似乎无法正确获取两个PDF文件的内容,并在合并格式中进行了格式化。PDFKit,nodeJS合并两个PDF文件

这是我做的:

var PDFDocument = require('pdfkit'); 
var fs = require('fs'); 

var doc = new PDFDocument(); 
var fileName = 'test.pdf'; 
doc.pipe(fs.createWriteStream(fileName)); 

var file1 = '1.pdf'; 
var file2 = '2.pdf'; 

var stream1 = fs.createReadStream(file1); 
doc.text(stream1); 

doc.addPage(); 
var stream2 = fs.createReadStream(file2); 
doc.text(stream2); 

doc.end(); 

的输出,这是检验.pdf,应包括含2个PDF文件格式相同的内容,一个PDF的,但我只获得测试.pdf有2页,每页由一行“[Object object]”组成。我似乎无法找到如何重定向doc.text()函数内的流的内容。

任何想法,我做错了什么,我该如何解决它?

+1

嗨闪电战。你有没有得到它的工作?如何?你能分享一下吗?谢谢。 – rahulroy9202 2015-04-01 12:49:31

回答

0
var stream1 = fs.createReadStream(file1); 

stream1.on('data', function(chunk) { 
    console.log('got %d bytes of data', chunk.length); 
    doc.contentStream(chunk); 
}); 

stream1.on('end', function() { 
    console.log('DONE with file1!!'); 
    doc.addPage(); 

    // now time to create and read from next stream. 

}); 

您正在创建流并将流对象写入文件。相反,你应该写下你从流中读取的数据。 但是这不会合并文件,因为您正在阅读pdf标记并将其作为文本写入下一个。

+1

这记录了一个错误:contentStream不是一个函数 – vonwolf 2016-05-31 21:08:00

+0

@vonwolf同在这里 – Mayas 2016-07-13 21:32:35

+1

我去了cloudconvert,它真的很棒。 – vonwolf 2016-07-14 11:51:22