Android 工作室 - PrinterThermal/ESCPOS - 图片来自 url
Android studio - PrinterThermal/ESCPOS - image from url
我正在尝试在 android 工作室的热敏 pos 蓝牙打印机上打印图像之类的二维码,打印机已连接 - 蓝牙,我可以将文本和图像打印为 Drawable,但我可以我无法打印来自 url 的图像,如果有人能提供帮助,我将不胜感激。
我想将二维码作为图像发送到打印机
URL := 'http://www.examples.com/code_1.png';
我使用这个功能(Android工作室),用于打印
try {
myBitSlika = getBitmapFromURL("https://examles.com/temp/code_nn.png") ;
} catch (Exception e) {
Log.e("APP", "url image::", e);
}
BluetoothConnection connection = BluetoothPrintersConnections.selectFirstPaired();
if (connection != null)
{
EscPosPrinter printer = new EscPosPrinter(connection, 203, 48f, 32);
final String text = ""[C]<img>" + PrinterTextParserImg.bitmapToHexadecimalString(printer,myBitSlika )+ "</img>\n" +
"[L]\n" +
"[L]" + df.format(new Date()) + "\n" +
"[C]================================\n" +
"[L]<b>Effective Java</b>\n" +
"[L] 1 pcs[R]" + nf.format(25000) + "\n" +
"[L]<b>Headfirst Android Development</b>\n" +
"[L] 1 pcs[R]" + nf.format(45000) + "\n" +
"[L]<b>The Martian</b>\n" +
"[L] 1 pcs[R]" + nf.format(20000) + "\n" +
"[C]--------------------------------\n" +
"[L]TOTAL[R]" + nf.format(90000) + "\n" +
"[L]DISCOUNT 15%[R]" + nf.format(13500) + "\n" +
"[L]TAX 10%[R]" + nf.format(7650) + "\n" +
"[L]<b>GRAND TOTAL[R]" + nf.format(84150) + "</b>\n" +
"[C]--------------------------------\n" +
"[C]<barcode type='ean13' height='10'>202105160005</barcode>\n" +
"[C]--------------------------------\n" +
"[C]Thanks For Shopping\n" +
"[C]https://kodejava.org\n" +
"[L]\n" +
"[L]<qrcode>https://kodejava.org</qrcode>\n";
printer.printFormattedText(text);
我使用此功能从互联网上检索图像
public static Bitmap getBitmapFromURL(String src) {
try {
URL url = new URL(src);
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (IOException e) {
Log.e("APP", "save image", e);
return null;
}
}
如果不是myBitSlika,我放它来拍照
有 drawable 目录,打印没有问题,(PrinterTextParserImg.bitmapToHexadecimalString(printer,this.getApplicationContext().getResources().getDrawableForDensity(R.drawable.code_232,DisplayMetrics.DENSITY_LOW, getTheme ()))
final String text = "[C]<img>" + PrinterTextParserImg.bitmapToHexadecimalString(printer,this.getApplicationContext().getResources().getDrawableForDensity(R.drawable.code_232,DisplayMetrics.DENSITY_LOW, getTheme())) + "</img>\n" +
二维码
<qrcode></qrcode>
标签允许您打印二维码。标签内需要写入二维码数据。
<qrcode>http://www.developpeur-web.dantsu.com/</qrcode>
:打印一个宽高为20毫米的二维码。
<qrcode size='25'>123456789</qrcode>
:打印一个宽高为25毫米的二维码。
⚠ 警告 ⚠ :这个标签有几个限制:
包含 <qrcode></qrcode>
的行只能有一个对齐标记,并且必须位于行首。
<qrcode>
前面必须没有任何内容或对齐标记 ([L][C][R])。
</qrcode>
后面必须直接跟一个新行 \n。
您不能在包含 <qrcode></qrcode>
.
的行上写入文本
我正在尝试在 android 工作室的热敏 pos 蓝牙打印机上打印图像之类的二维码,打印机已连接 - 蓝牙,我可以将文本和图像打印为 Drawable,但我可以我无法打印来自 url 的图像,如果有人能提供帮助,我将不胜感激。
我想将二维码作为图像发送到打印机
URL := 'http://www.examples.com/code_1.png';
我使用这个功能(Android工作室),用于打印
try {
myBitSlika = getBitmapFromURL("https://examles.com/temp/code_nn.png") ;
} catch (Exception e) {
Log.e("APP", "url image::", e);
}
BluetoothConnection connection = BluetoothPrintersConnections.selectFirstPaired();
if (connection != null)
{
EscPosPrinter printer = new EscPosPrinter(connection, 203, 48f, 32);
final String text = ""[C]<img>" + PrinterTextParserImg.bitmapToHexadecimalString(printer,myBitSlika )+ "</img>\n" +
"[L]\n" +
"[L]" + df.format(new Date()) + "\n" +
"[C]================================\n" +
"[L]<b>Effective Java</b>\n" +
"[L] 1 pcs[R]" + nf.format(25000) + "\n" +
"[L]<b>Headfirst Android Development</b>\n" +
"[L] 1 pcs[R]" + nf.format(45000) + "\n" +
"[L]<b>The Martian</b>\n" +
"[L] 1 pcs[R]" + nf.format(20000) + "\n" +
"[C]--------------------------------\n" +
"[L]TOTAL[R]" + nf.format(90000) + "\n" +
"[L]DISCOUNT 15%[R]" + nf.format(13500) + "\n" +
"[L]TAX 10%[R]" + nf.format(7650) + "\n" +
"[L]<b>GRAND TOTAL[R]" + nf.format(84150) + "</b>\n" +
"[C]--------------------------------\n" +
"[C]<barcode type='ean13' height='10'>202105160005</barcode>\n" +
"[C]--------------------------------\n" +
"[C]Thanks For Shopping\n" +
"[C]https://kodejava.org\n" +
"[L]\n" +
"[L]<qrcode>https://kodejava.org</qrcode>\n";
printer.printFormattedText(text);
我使用此功能从互联网上检索图像
public static Bitmap getBitmapFromURL(String src) {
try {
URL url = new URL(src);
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (IOException e) {
Log.e("APP", "save image", e);
return null;
}
}
如果不是myBitSlika,我放它来拍照 有 drawable 目录,打印没有问题,(PrinterTextParserImg.bitmapToHexadecimalString(printer,this.getApplicationContext().getResources().getDrawableForDensity(R.drawable.code_232,DisplayMetrics.DENSITY_LOW, getTheme ()))
final String text = "[C]<img>" + PrinterTextParserImg.bitmapToHexadecimalString(printer,this.getApplicationContext().getResources().getDrawableForDensity(R.drawable.code_232,DisplayMetrics.DENSITY_LOW, getTheme())) + "</img>\n" +
二维码
<qrcode></qrcode>
标签允许您打印二维码。标签内需要写入二维码数据。
<qrcode>http://www.developpeur-web.dantsu.com/</qrcode>
:打印一个宽高为20毫米的二维码。
<qrcode size='25'>123456789</qrcode>
:打印一个宽高为25毫米的二维码。
⚠ 警告 ⚠ :这个标签有几个限制:
包含 <qrcode></qrcode>
的行只能有一个对齐标记,并且必须位于行首。
<qrcode>
前面必须没有任何内容或对齐标记 ([L][C][R])。
</qrcode>
后面必须直接跟一个新行 \n。
您不能在包含 <qrcode></qrcode>
.