【问题标题】:Accessing multiple pdf's with ngx-extended-pdf-viewer使用 ngx-extended-pdf-viewer 访问多个 pdf
【发布时间】:2019-11-13 11:46:39
【问题描述】:

我在玩 ngx-extended-pdf-viewer 并了解它的作用,但我很好奇它是否足够灵活,可以让用户在 pdf 之间切换?

目前这仅显示一个 pdf,但我很好奇是否可以切换到具有不同设置的另一个 pdf?

<ngx-extended-pdf-viewer
    [src]="'assets/BootsFaces_Deep_Dive_1.0.pdf'"
    backgroundColor="#e8e8ef"
    [mobileZoom]="mobileFriendlyZoom"
    [showZoomButtons]="true"
    [showSidebarButton]="showSidebar"
    [useBrowserLocale]="true"
    [showSidebarOnLoad]="true"
    [(zoom)]="zoom"
    [height]="height"
    [handTool]="handTool"
    [page]="page"
    [filenameForDownload]="filenameForDownload"
    (pagesLoaded)="onPagesLoaded($event)"
    [(spread)]="spread"
    [language]="language"
    [showPresentationModeButton]="true">
</ngx-extended-pdf-viewer>

【问题讨论】:

    标签: angular ngx-extended-pdf-viewer


    【解决方案1】:

    ngx-extended-pdf-author 在这里。是的,当然,&lt;ngx-extended-pdf-viewer&gt; 可以随着时间的推移显示多个 PDF 文件。 [src] 属性对更改做出反应。我已经发布了一个展示示例:https://www.pdfviewer.net/multiple-documents

    实际上,我专门创建了该库,以便在长时间的工作班次中显示大量 PDF 文件,而无需重新启动 Angular 客户端。我想在关闭浏览器之前有几百个,更可能是几千个 PDF。请注意,我的原始客户仍在使用旧版本:与此同时,我和 pdf.js 团队都设法修复了几个内存泄漏。

    但是,有限制。无法在同一页面上显示两个 PDF 文件。如果需要,最好使用 iFrame 解决方案,例如 ng2-pdfjs-viewer。顺便说一句,这也是一个不错的库。

    至于“不同的设置”位:我用方括号记录的每个属性,例如[src][(page)],都会监听变化。只要您更改 TypeScript 代码中的 pageNumber 变量,PDF 查看器就会跳转该页面。

    如果您仍有疑问或遇到错误,请随时告诉我。

    【讨论】:

    • 因此,在您的 github 中的示例中,您有一个单独的工具栏,用户可以在其中检查和取消选中 pdf 查看器中的某些设置,用户如何能够使用该工具栏而不是把它放在 pdf 的顶部,放在 pdf 查看器的左边吗?
    • 嗯...我的演示使用 Angular Material 选项卡在文档之间切换。没有什么能阻止您将选项卡放在 PDF 查看器的左侧。但是,我认为这不是您要的。您的问题听起来像是您想修改 PDF 查看器本身的布局,并在其中注入您自己的 UI 小部件。我说对了吗?
    • 嗨,我试图在同一页面中显示多个文档,因为我这样做就像pdfviewer.net/multiple-documents,但它不会更改文档,如果我下载它,然后下载正确的文档,但是在查看器中始终显示相同,我需要做些什么来强制刷新视图吗?谢谢。
    • @JorgeRocha 恐怕不可能显示两个 PDF 文件。这是因为底层库 pdf.js 用全局变量污染了全局命名空间。但是,如果您愿意将 ngx-extended-pdf-viewer 放入 iFrame,您应该能够并排显示两个 PDF 文件。实际上,这正是npmjs.com/package/ng2-pdfjs-viewer 所做的。
    • 如果你在谈论浏览器标签:也许吧。不同的浏览器选项卡具有单独的全局名称空间,因此应该是可能的。这有点奇怪,因为它相当于打开 Angular 应用程序的多个实例。如果您在谈论 HTML 选项卡:不,那是不可能的。除非……好吧,有两个漏洞。将 PDF 查看器放在 iFrame 中,您应该能够显示多个 PDF 文件。同样 - 并且可能更可取 - 您可以将 PDF 查看器包装在 WebComponent 中。我没有尝试任何一种方法,但我有理由相信它们会奏效。
    猜你喜欢
    • 2021-03-28
    • 2020-05-31
    • 2021-06-17
    • 2019-11-10
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2022-10-20
    相关资源
    最近更新 更多