ファイル入力があり、「アップロード」する前に、JAVASCRIPTでその.pdfのページ数を計算する必要があります(例:JQuery ...)
51461 次
6 に答える
44
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);
})
于 2014-05-30T18:08:51.850 に答える
9
そして純粋な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 );
}
于 2016-08-30T08:41:33.107 に答える
2
他の回答で述べたように、pdf.js のようなものが探しているものです。API を調べたところ、合計ページ数を返す numPages() 関数が含まれています。また、Mozilla からデモ ページを表示すると、ページがカウントされるようです。
ソリューションに最新のブラウザーと実験的なテクノロジーを使用できるかどうかによって異なります。pdf.js は非常に印象的ですが、 github ページによると、まだ実験段階です。
アップロード後にサーバー上のページをカウントできる場合は、pdftoolsなどを確認する必要があります。
pdftools --countpages
あなたが探しているのは次のようなものです
于 2012-04-20T21:34:32.517 に答える
0
Tracker1 が回答を投稿してから、API が少し変更されたと思います。Tracker1 のコードを試してみたところ、次のエラーが表示されました。
Uncaught TypeError: pdfjsLib.getDocument(...).then is not a function
小さな変更で修正されます。
const pdfjsLib = require('pdfjs-dist');
...
pdfjsLib.getDocument(pdfPath).promise.then(function (doc) {
var numPages = doc.numPages;
console.log('# Document Loaded');
console.log('Number of Pages: ' + numPages);
}
于 2020-10-07T04:26:37.100 に答える