我上传了不到 2 页的 pdf 文档,pdf 查看器正在工作并快速加载所有页面,如 2 页。但上传超过 2 页(例如:51 页)pdf 查看器正在工作但仅加载前两页,其余页面显示加载图标。帮助解决这个问题。
我的 ng2-pdf-viewer 版本是 7.0.1。并且还使用了 ng2-pdf-viewer@7.0.2。
这是我的 app.module.ts 文件
...
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { PdfViewerModule } from 'ng2-pdf-viewer';
...
@NgModule({
declarations: [
.....
],
imports: [
...
NgbModule,
PdfViewerModule
...
],
providers: [],
bootstrap: [AppComponent]
})
这是我的 HTML 文件
<input type="file" class="fileInput" id="file_select_id" (change)="pdfDocSelect($event)" accept=".pdf, .eps">
<div class="preview_label" (click)="openPdf(PDF)" id="label_id">
<img class="previewimg"src="assets\img\preview.svg">
<span class="preview_text">Preview</span>
</div>
<ng-template #PDF let-modal id="PdfViewer">
<div class="ModalMainBox">
<div class="modal-content ModalContent">
<div class="modal-header">
<div class="PdfTitle">PDFName</div>
<button type="button" class="PdfClose" aria-label="Close" (click)="modal.dismiss('Cross click')">
<span class="modal_close_icon" aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body PdfSize">
<pdf-viewer class="pdfSrc" [src]="File" [rotation]="0" [fit-to-page]="true" [original-size]="true" [show-all]="true"></pdf-viewer>
</div>
</div>
</div>
</ng-template>
这是我的 TS 文件
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
Fie: any;
constructor(private modalService: NgbModal){}
PdfViewerFn(e: any) {
let Pdf: any = document.getElementById('file_select_id');
if (typeof (FileReader) !== 'undefined') {
let reader = new FileReader();
reader.onload = (e) => {
this.File = e.target?.result
}
reader.readAsArrayBuffer(Pdf.files[0]);
}
}
// PDF View for Thesis Upload document
openPdf(pdf: any) {
if (this.File) {
this.modalService.open(pdf, { ariaLabelledBy: 'PdfViewer' }).result;
}
}
pdfDocSelect(event: any): void {
console.log(event.target.files[0]);
this.PdfViewerFn(event)
}