如何使用NodeJSreplacePDF文件中的string?

我有一个模板PDF文件,我想要replace一些标记string来生成新的PDF文件并保存。 什么是最好/最简单的方法来做到这一点? 我不需要添加graphics或任何幻想,只是一个简单的文本replace,所以我不想任何太复杂。

谢谢!

编辑:刚刚findHummusJS ,我会看看如果我可以取得进展,并张贴在这里。

我通过searchfind了这个问题,所以我认为这是值得的答案。 我在这里find了BrighTide的答案: https : //github.com/galkahana/HummusJS/issues/71#issuecomment-275956347

基本上,有这个非常强大的Hummus软件包,它使用C ++编写的库(当然是跨平台的)。 我认为在github评论中给出的答案可以像这样function化:

var hummus = require('hummus'); function replaceText(sourceFile, targetFile, pageNumber, findText, replaceText) { var writer = hummus.createWriterToModify(sourceFile, { modifiedFilePath: targetFile }); var modifier = new hummus.PDFPageModifier(writer, pageNumber); var sourceParser = writer.createPDFCopyingContextForModifiedFile().getSourceDocumentParser(); var pageObject = sourceParser.parsePage(pageNumber); var textObjectId = pageObject.getDictionary().toJSObject().Contents.getObjectID(); var textStream = sourceParser.queryDictionaryObject(pageObject.getDictionary(), 'Contents'); //read the original block of text data var data = []; var readStream = sourceParser.startReadingFromStream(textStream); while(readStream.notEnded()){ Array.prototype.push.apply(data, readStream.read(10000)); } var string = new Buffer(data).toString().replace(findText, replaceText); //Create and write our new text object var objectsContext = writer.getObjectsContext(); objectsContext.startModifiedIndirectObject(textObjectId); var stream = objectsContext.startUnfilteredPDFStream(); stream.getWriteStream().write(strToByteArray(string)); objectsContext.endPDFStream(stream); objectsContext.endIndirectObject(); writer.end(); } // replaceText('source.pdf', 'output.pdf', 0, /REPLACEME/g, 'My New Custom Text');