【问题标题】:Run and print reports at android在 android 上运行和打印报告
【发布时间】:2012-05-07 11:24:55
【问题描述】:

我创建了一个应用程序,并且我想运行和打印报告(例如 .net 上的水晶报告)。最简单的方法是什么?更具体地说,我创建了一个应用程序,用户将在他的客户处创建发票并在蓝牙打印机上打印它们。有没有像安卓水晶报告这样的简单方法?我尝试将水晶报告用于 Eclipse,但这些库在 android 上不起作用(至少我不知道如何)。

【问题讨论】:

    标签: android printing crystal-reports report reporting


    【解决方案1】:

    首先,Android 没有内置或本机打印功能,这仅仅是因为 Android 不知道打印机是什么。

    但是,您可以使用第三方库。

    要正确回答您的问题,您必须指定您的应用程序计划支持的 Android 版本。因为一些不同的第三方库只支持某些版本的 Android。

    除了在您的应用程序中包含第三方打印库之外,您还可以发送带有您想要打印的数据的广播意图,并且根据用户设备上安装的应用程序,用户可以选择一个应用程序支持打印您在 Intent 中发送的数据类型。

    您还可以使用 Google 的新云打印服务。这将是我的首选,但要实际打印到物理打印机,用户需要一台台式电脑、服务器或 Mac,它要么连接有打印机,要么安装并配置了支持网络的打印机。在这一点上,这可能是您最好的选择。

    这确实是一个难以解决的问题,原因有几个。首先,您需要确定要打印的内容,您需要以可以打印的方式对其进行格式化(PDF、PostScript 或 ASCII 仅举几例)。接下来,您必须确定是否要支持打印到不支持蓝牙的打印机,因此如果您计划支持打印到支持网络的打印机,则必须与 WLAN 位于同一 LAN/VLAN Android 设备已连接到并且需要禁用 AP 隔离。如果您计划支持共享 Windows 打印机、Mac OS X Bonjour 打印机共享或 Zeroconf Linux 打印机共享,那么您将需要找到支持库并实现一种搜索各种网络共享的方法,然后选择并存储哪个要打印到的网络共享。

    由于您计划支持打印到支持蓝牙的打印机;然后有一些 Ice Cream Sandwich 和 Honeycomb 发行版能够与蓝牙打印机配对(Android 版本需要 3.0 或 3.1+ [我不完全确定实现蓝牙打印协议的 Honeycomb 的 SDK 级别]和 4.0.3+)。至于实际格式化要通过蓝牙打印的数据,我不确定可以打印什么以及使用什么蓝牙版本或协议。今天早上我会做一些进一步的研究,然后我会回复我能想到的信息。

    【讨论】:

    • 感谢您的回答。我开始为 2.1 开发,但如果必须的话,我没有问题去 4.0.3+。我不使用云,因为用户将离线工作。他们的设备不会连接到互联网。他们将是拜访客户的司机。我想从 sqlite 打印发票。这就是我搜索水晶报表之类的解决方案的原因。
    • 很好的详细答案 JBDynamics。请原谅我的无知,但假设您在 3rd 方组件中调用“打印”功能,它使用的格式不是预先确定的吗?我想我的错误是假设这些库甚至可以实现一种打印到 Android 的方法吗?意思是,如果他们本身不这样做,您必须将您的数据按摩成 PDF/PostScript/ASCII/等。然后将其发送到云端或您计划打印的任何地方?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2011-12-03
    • 2014-01-06
    • 1970-01-01
    相关资源
    最近更新 更多