javascript - 如何获取PDF文件的页数?

标签 javascript angular typescript ionic-framework

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

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

这是选择文件后调用的函数,我使用字符串分割方法来查找类型,因为“type”并不总是保存文件类型信息,我可以使用任何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;
 }
}

最佳答案

您可以使用纯 JavaScript( typescript 语法)解决方案:

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 文档上测试了它并且它有效。

-最诚挚的问候。

关于javascript - 如何获取PDF文件的页数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58079660/

相关文章:

intellij-idea - 如何在 IntelliJ IDEA 中为 Ionic v2 设置 Typescript

angular - 如何在 angular2 组件中导入 npm 包?

javascript - Regex - 带有 .和 ,

javascript - 从 *ngIf Angular 5 调用函数

TypeScript:可变函数的类型

javascript - react-native - *.js 导入 *.ts 文件

javascript - Gremlin Javascript 折叠、合并和展开

javascript - ASP.Net 从表中动态创建的行获取信息

javascript - Ajax 脚本未更新 PHP 文件及其 var 值

javascript - 如何调整 SVG 的大小?