2

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

4

1 回答 1

3

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

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

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

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

您还可以使用 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+)。至于实际格式化要通过蓝牙打印的数据,我不确定可以打印什么以及使用什么蓝牙版本或协议。今天早上我会做一些进一步的研究,我会把我能想到的信息发回来。

于 2012-05-07T11:47:11.283 回答