在android上运行并打印报告

时间:2012-05-07 11:24:55

标签: android printing crystal-reports report reporting

我创建了一个应用程序,我想运行并打印报告(如水晶报告到.net)。最简单的方法是什么?更具体地说,我创建了一个应用程序,用户将在其客户处创建发票并在蓝牙打印机上打印。有什么简单的方法像Android的水晶报告?我试图使用水晶报告进行日食,但是这些库在android上不起作用(至少我不知道如何)。

1 个答案:

答案 0 :(得分: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+)。至于实际格式化要通过蓝牙打印的数据,我不确定可以打印什么以及使用什么蓝牙版本或协议。我今天早上会做进一步的研究,我会回复一下我能提出的信息。