Как получить количество страниц a.PDF загружен пользователем?
У меня есть ввод файла, и перед "загрузкой" мне нужно рассчитать количество страниц этого .pdf в JAVASCRIPT (например. На jQuery...)
4 ответов
вы might быть в состоянии сделать что-то с помощью в формате PDF.js, но это потребует некоторых экспериментов.
Если вы используете pdf.js вы можете ссылаться на пример на github ('.../ examples/node / getinfo.js') со следующим кодом, который печатает количество страниц в pdf-файле.
const pdfjsLib = require('pdfjs-dist');
...
pdfjsLib.getDocument(pdfPath).then(function (doc) {
var numPages = doc.numPages;
console.log('# Document Loaded');
console.log('Number of Pages: ' + numPages);
}
и чистое решение javascript:
var input = document.getElementById("files");
var reader = new FileReader();
reader.readAsBinaryString(input.files[0]);
reader.onloadend = function(){
var count = reader.result.match(/\/Type[\s]*\/Page[^s]/g).length;
console.log('Number of Pages:',count );
}
Как было указано в других ответах, что-то вроде pdf.JS-это то, что вы ищете. Я взглянул на API, и он включает функцию numPages() для возврата общего количества страниц. Кажется, что он также считает страницы для меня при просмотре демо-страница от Mozilla.
Это зависит от того, можете ли вы использовать современные браузеры и экспериментальные технологии для вашего решения. документ pdf.js очень впечатляет, но он все еще экспериментальный согласно страница github .
Если вы можете считать страницы на сервере после загрузки, то вы должны посмотреть на pdftools или аналогичные.
что-то вроде pdftools --countpages
Это то, что вы ищете