gpt4 book ai didi

codenameone - 在没有 pdf 阅读器的应用程序内显示 pdf

转载 作者:行者123 更新时间:2023-12-04 09:12:37 25 4
gpt4 key购买 nike

我的目标是在表单中查看 pdf,就像浏览器组件在表单中显示的方式一样。我已经尝试了 here 中的代码但这会在外部 pdf 阅读器中打开 pdf。我的目标是在应用程序中显示 pdf 内容。所以我认为我要么必须在浏览器组件中显示 pdf,要么集成外部 pdf 阅读器 api 以在表单中打开 pdf。现在,我需要以下任何一个方面的帮助:

  • 如何在浏览器组件中显示 pdf
  • 是否有我可以集成到我的应用程序中的 pdf 阅读器 api,以便 pdf 在表单或容器中打开?
  • 最佳答案

    在 html 中,“object”标签允许您在支持该标签的浏览器中轻松查看 pdf。不幸的是,在桌面浏览器中显示带有 object 标签的 pdf 是可能的,而在 native 应用程序中它不起作用:特别是,Android 10 根本不支持它(它将显示白屏),而iOS 13 部分支持它,只显示第一页并将其拉伸(stretch)到屏幕大小,而不考虑 pdf 页面的比例(它不允许转到下一页)。
    幸运的是,有一个折衷的解决方案可以在 Android 和 iOS 上运行良好,尽管存在一些差异。如果您启用了 CEF (https://www.codenameone.com/blog/big-changes-jcef.html),它也可以在模拟器中使用。
    这是一个示例代码。请注意,您无需登录 Google,但有使用限制 (Reaching the bandwidth limit for viewing pdf files in WebView through Google docs):

    String pdfUrl = "https://www.galgani.it/pdf/linguaggi_programmazione.pdf";
    Form hi = new Form("PDF Viewer", new BorderLayout());
    BrowserComponent browser = new BrowserComponent();
    browser.setURL("https://docs.google.com/viewer?url=" + pdfUrl);
    hi.add(BorderLayout.CENTER, browser);
    hi.show();
    如果您不想陷入谷歌的鸟笼和使用限制,那么您可以使用以下 javascript 实现自己的跨平台解决方案: https://mozilla.github.io/pdf.js/
    最后,您可以使用原生接口(interface)使用第三方库来查看 pdf,但这是最复杂的情​​况。对此有商业解决方案,但我不想向任何人做广告。

    关于codenameone - 在没有 pdf 阅读器的应用程序内显示 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63324104/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com