绕过对话框或无声打印

问题描述 投票:0回答:2

如何绕过 Android 应用程序中的打印机对话框?我已经尝试过 android 的 PRINTER API,但它提示我一个预览框检查了很多东西,然后发现可以通过谷歌云打印,但不确定是否有人确认并指导相同的操作。非常感谢提前

java android google-cloud-print
2个回答
1
投票

据我所知,https://developers.google.com/cloud-print/docs/android上的文档解释了在应用程序中集成 GCP 功能的两种可能选项:

  • 对于 4.3 及更低版本的设备,它描述了如何显示 GCP Web 元素(如GCP Web 元素部分所述)。
  • 对于 4.4 及更高版本的设备,由于包含 Android.Print API,它们会将您重定向到 Android 文档,了解如何在应用程序中实现打印功能。

使用 Android.Print API 始终会调用操作系统打印对话框,系统将提示您从列表和打印设置中选择打印机。在这种情况下,打印机列表由用户在其设备中安装的不同打印服务提供,Google 云打印就是其中之一。

话虽如此,仍然有一种方法可以实现您所说的无声打印。您可能需要在自己的应用程序中实现 Google 云打印 API 调用。我已经将其作为 Java 应用程序的一部分完成,因此它在 Android 中不会有太大不同。它需要两件事:

  • 实现OAuth2以获取google用户的授权令牌。 API 调用必须包含有效的授权 HTTP 标头。此外,这是必需的,因为 API 调用将根据用户有权访问的打印机进行响应。
  • 实现选择打印机(/搜索)并提交作业(/提交)所需的 API 调用。您可能还需要检查打印机功能和状态(/打印机)。

您可以在 https://developers.google.com/cloud-print/docs/appInterfaces

找到所有必需的信息

有关用于访问 Google API 的 OAuth 2.0 的更多信息,请访问 https://developers.google.com/identity/protocols/OAuth2


0
投票

https://github.com/gmuth/ipp-client-kotlin可以通过ipp网络协议静默提交与打印机兼容的文档。该库不渲染 PDF,因此如果您的打印机或打印服务器不支持您想要打印的文档格式,您需要一个渲染组件。

© www.soinside.com 2019 - 2024. All rights reserved.