【发布时间】:2019-10-08 14:53:50
【问题描述】:
在外部窗口中打开 pdf 时,我遇到了事件问题。即使使用“viewerId”属性也不会触发它们。这是我的代码:
HTML
<a *ngIf="document.s3_link" class="document-title" (click)="openDocument(document)">{{ document.description }}</a
>
<ng2-pdfjs-viewer
#externalPdfViewer
viewerId="MyUniqueID"
[externalWindow]="true"
(onDocumentLoad)="highlightSearchTerm()"
></ng2-pdfjs-viewer>
打字稿
openDocument(document): void {
this.getDocumentBlob(document.s3_link).subscribe(res => {
this.externalPdfViewer.pdfSrc = res
this.externalPdfViewer.downloadFileName = document.description
this.externalPdfViewer.refresh()
})
}
getDocumentBlob(link): Observable<any> {
let headers = new HttpHeaders()
headers = headers.set("Accept", "application/pdf")
return this.http.get(link, { headers: headers, responseType: "blob" })
}
highlightSearchTerm() {
this.externalPdfViewer.PDFViewerApplication.findController.executeCommand(
"find",
{
caseSensitive: false,
findPrevious: undefined,
highlightAll: true,
phraseSearch: true,
query: this.initQuery,
}
)
}
【问题讨论】:
-
当您说“外部窗口”时,您是指不同的浏览器窗口吗?
-
我的意思是不同的浏览器标签
-
我认为您应该对您的问题提供更好、更具描述性的解释。现在到底发生了什么,你到底在期待什么?否则,很难提供帮助。
-
我需要知道何时加载 pdf。它有 (onDocumentLoad) 事件。当我打开 pdf 时它的工作原理是相同的选项卡。但是当我尝试通过添加 [externalWindow]="true" 在外部选项卡中打开时 - 所有事件都停止工作。
-
我遇到了这个问题,使用 Angular“ng2-pdfjs-viewer”控件,我的控件是完全相同的选项卡......但没有任何事件被启动。 pdf 显示精美,但 onDocumentLoad() 函数根本没有启动。
标签: javascript angular ng2-pdfjs-viewer