【发布时间】:2014-08-25 12:06:39
【问题描述】:
作为新的 android 蓝牙连接和打印打印机中的内容。但现在可以使用我的 android 设备连接到蓝牙打印机。所以,根据我的项目要求,我必须打印 pdf 文件的内容。以前使用同一个项目,我可以打印字符串变量内容。
现在随着项目需求的变化,将有一个 pdf 文件打印任务。首先,我使用 java 中的 itext 库创建 pdf 以创建 pdf 文件。所以,文件创建部分完成了。我为打印做了什么该文件为pdf文件生成字节数组。
这是代码行
FileInputStream fin=new FileInputStream(pdffile);
fileContent=new byte[(int) pdffile.length()];//file content is the byte array for the pdf file.
下一行将打印机的蓝牙连接到安卓设备。
mBTAdapter = BluetoothAdapter.getDefaultAdapter();
BluetoothDevice mdevice = mBTAdapter.getRemoteDevice(PRINTER_MAC_ID);
Method m = mdevice.getClass().getMethod("createRfcommSocket", new Class[] { int.class });
mBTSocket = (BluetoothSocket) m.invoke(mdevice, 1);
mBTSocket.connect();
使用该套接字(mBTSocket)获取输出流。
然后将字节数组写入该 OutputStream。
os.write(fileContent);
os.flush();
mBTSocket.close();
所以当我尝试通过蓝牙打印机打印 pdf 文件内容时,什么都没有发生,没有异常或应用程序崩溃,但它发出警告 getbluetoothservice() 调用没有 bluetoothmanagercallback 并且没有内容打印论文。所以任何人都可以告诉我我在哪个/哪里做错了。我也搜索这个主题,但我得到的只是字符串打印但没有文件。 其中一个链接讲述了一些名为 StarIOsdk for android 的 sdk 用于打印文件。Android sdk 中的另一个问题是 API 级别 4.4 中引入了新的打印方法,但我们将如何在之前的 API 级别中进行操作。这里使用的打印机是蓝牙热敏打印机(小尺寸 2 英寸纸张尺寸)。提前致谢。
【问题讨论】:
-
你是怎么解决你的问题的..我也有类似的要求
标签: java android pdf printing bluetooth