javascript - 如何使用 pdf.js 获取 pdf 标题?

标签 javascript pdf.js

<分区>

问题是:如何使用 pdf.js 获取 pdf 文件的名称?我正在运行来自 node 的 pdf.js 示例的变体,我想知道是否有可能获得它。我一直在搜索 pdf.js 的文档/源,但找不到任何明显的东西。我正在使用这段代码,它(到目前为止)显示了在给定文件夹(在本例中是运行此代码的目录)中找到的每个文件的页数:

var fs = require('fs');
var glob = require('glob');

global.window = global;
global.navigator = { userAgent: "node" };
global.PDFJS = {};
global.DOMParser = require('./domparsermock.js').DOMParserMock;

require('../../build/singlefile/build/pdf.combined.js');
glob("**/*.pdf", function (er, files) {
for(var i = 0; i < files.length; i++){
var data = new Uint8Array(fs.readFileSync(files[i]));
PDFJS.getDocument(data).then(function (doc) {
      var numPages = doc.numPages;
      console.log('Number of Pages: ' + numPages);
      console.log();
    }).then(function () {
      console.log('# End of Document');
    }, function (err) {
      console.error('Error: ' + err);
    });
   }
});

我认为文件的名称在 doc 对象中作为属性或类似的东西,但这里似乎不是这种情况,而且我在文档中找不到任何相关信息。我在这里遗漏了什么或做错了什么吗?

最佳答案

我修好了 :) 代码现在看起来像这样:

var fs = require('fs');
var glob = require('glob');

global.window = global;
global.navigator = { userAgent: "node" };
global.PDFJS = {};
global.DOMParser = require('./domparsermock.js').DOMParserMock;

require('../../build/singlefile/build/pdf.combined.js');
glob("**/*.pdf", function (er, files) {

//this is the essential change: use a forEach() instead of the for loop
files.forEach(function(file){
    var data = new Uint8Array(fs.readFileSync(file));
    PDFJS.getDocument(data)
      .then(function (doc) {
        var numPages = doc.numPages;
        console.log('File name: ' + file + ', Number of Pages: ' + numPages);
        console.log();
      });
  });
});

希望它对某人有所帮助,并感谢您的快速回复:)

关于javascript - 如何使用 pdf.js 获取 pdf 标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30945445/

相关文章:

javascript - 如何插入允许用户在开始时选择秒数的功能?

javascript - 在 Node 服务器上使用 pdf.js

PDF.js 无法获得范围/流式 PDF 的工作

javascript - 如何在 Canvas 上添加形状?

twitter-bootstrap - PDF.JS 如何使 pdf-js 查看器 Canvas 响应?

javascript - 网页中的非 Canvas 图形

javascript - 有什么方法可以在单击按钮时删除过滤器

javascript - 如何在 webpack 和 Vuejs 中使用带有工具栏的完整 PDF.js 查看器?

javascript - yarn 失败,类型错误 : Cannot read property 'yarnPath' of null

javascript - 使用 ACE 语法高亮显示 Flask-Admin 字段覆盖