如何获取PDF文件中的页数?

时间:2019-09-24 11:48:20

标签: javascript angular typescript ionic-framework

这是要上传的文档的输入字段

<ion-item>
<ion-input name='File' required type="file" (change)="getNoOfPages($event)"></ion-input>
</ion-item>

这是选择文件后正在调用的函数,正在使用字符串拆分方法查找类型,因为“类型”并不总是包含文件类型信息,我可以使用任何js库查找页数吗?在上传的文档中(在这种情况下为pdf),还是我必须使用任何特定内容才能使其在android上运行?如何 ?

getNoOfPages(event: any) {
const fileInfo = event.target.files[0];
const type =  fileInfo.name.split('.')[1];
console.log('document uploaded ', fileInfo);
switch (type) {
  case 'docx':

    break;
  case 'pdf':
     console.log('this is a pdf file');
     break;
 }
}

1 个答案:

答案 0 :(得分:1)

您可以使用纯javascript(打字稿语法)解决方案:

const reader = new FileReader();
const fileInfo = event.target.files[0];
if (fileInfo) {
     reader.readAsBinaryString(event.target.files[0]);
     reader.onloadend = () => {
         const count = reader.result.match(/\/Type[\s]*\/Page[^s]/g).length;
         console.log('Number of Pages:', count);
     }
}

我在许多pdf文档上进行了测试,并且可以正常工作。

-最好的问候。