PDF.js - 将pdf分割成页面并重新构建多个文件

时间:2018-06-11 12:01:37

标签: node.js pdf.js

我目前正在开发Node.js项目。其中一项操作是阅读pdf文档的文本,然后将文档拆分为单独的文件。

由于我在本项目中使用pdf.js进行所有其他pdf解析,我希望也能使用它来完成上述要求。

阅读PDF及其文本内容相对简单。

例如 -

function GetWords(pdfUrl){
var pdf = PDFJS.getDocument(pdfUrl);
return pdf.then(function(pdf) { // calculate total count for document
     var maxPages = pdf.pdfInfo.numPages;
     var countPromises = []; // collecting all page promises
     for (var j = 1; j <= maxPages; j++) {
        var page = pdf.getPage(j);
        var txt = "";
        countPromises.push(page.then(function(page) { // add page promise
            var textContent = page.getTextContent();
            return textContent.then
            (
                function(page)
                { // return content promise

                    for(var i=0;i<page.items.length;i++)
                    {
                        var txtadd = page.items[i].str

                        txt += txtadd.replace(/[^a-zA-Z0-9:;,.?!-() ]/g,'');
                    }
                    return txt.split(" ").length; // value for page words
                });
        }));


     }
     // Wait for all pages and sum counts
     return Promise.all(countPromises).then(function (counts) {
       var count = 0;
       //counts.forEach(function (c) { count += c; });
       return count;
     });
});
}

但是,我似乎无法找到任何从其中一个/多个页面构建PDF的示例。理想情况下,我希望使用pdf.GetPage(j)来获取所需页面的数组。然后将这些文件推送到新文档中并将此新文档保存到磁盘。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

我最终使用了一个单独的库来进行拆分。 http://pdfhummus.com/。因此,与PDF.js结合使用,我能够获得所需的结果。