如何使用 pdf.js 获取 pdf 标题?
How to get pdf title using pdf.js?
问题是:如何使用pdf.js获取pdf文件的名称?我正在 运行ning 来自 node 的 pdf.js 示例的变体,我想知道是否有可能获得它。我一直在搜索 pdf.js 的 docs/source,但找不到任何明显的东西。我正在使用这段代码,它(到目前为止)显示了在给定文件夹中找到的每个文件的页数(在本例中,该代码来自 运行 的目录):
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);
});
}
});
我以为文件名在文档 object 中作为属性或类似的东西,但这里似乎不是这种情况,我找不到任何相关信息在文档中。我在这里遗漏了什么或做错了什么吗?
我修好了 :) 代码现在看起来像这样:
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();
});
});
});
希望对大家有所帮助,感谢您的快速回复:)
问题是:如何使用pdf.js获取pdf文件的名称?我正在 运行ning 来自 node 的 pdf.js 示例的变体,我想知道是否有可能获得它。我一直在搜索 pdf.js 的 docs/source,但找不到任何明显的东西。我正在使用这段代码,它(到目前为止)显示了在给定文件夹中找到的每个文件的页数(在本例中,该代码来自 运行 的目录):
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);
});
}
});
我以为文件名在文档 object 中作为属性或类似的东西,但这里似乎不是这种情况,我找不到任何相关信息在文档中。我在这里遗漏了什么或做错了什么吗?
我修好了 :) 代码现在看起来像这样:
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();
});
});
});
希望对大家有所帮助,感谢您的快速回复:)