我正在开发一个Android项目。一个关键要求是通过连接wifi的打印机打印收据。
在这个阶段,我所取得的是打开一个打印机对话框。然后,打印机对话框允许用户进行交互以选择可用打印机列表,然后点击打印。
但我希望有一种方法可以避免用户交互并直接打印html文件,图像等内容。
这是打印位图图像的代码。
private void doPhotoPrint()
{
PrintHelper photoPrinter = new PrintHelper(this);
photoPrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.coffeehost);
photoPrinter.printBitmap("droids.jpg - test print", bitmap);
}
,打印机是Epson Artisan 730。
代码有效,但会弹出一个打印对话框,用户必须选择Epson打印机,然后点击“打印”按钮。
我真正想要的是避免该对话框并直接打印图像。
对于这个项目,我可以决定使用哪种打印机,只要它支持直接打印。
答案 0 :(得分:1)
我找到了一个解决方案。
我们可以直接连接到打印机正在使用的端口。
例如,我的打印机正在侦听端口9100,其地址为192.168.0.10。因此,我们可以使用TCP协议连接到192.168.0.10:9100,然后将文本发送到套接字。打印机将立即打印内容。