【发布时间】:2021-03-29 06:18:45
【问题描述】:
请帮忙... 我想使用 android 在热敏打印机中打印收据,如果图像高度大于 350 PX,则此错误显示“高度太大”
我的代码:
private void printVoucher(){
ArrayList<Printable> printables = new ArrayList<>();
Picasso.get()
.load("Path Image")
.into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
printables.add(new ImagePrintable.Builder(bitmap).setNewLinesAfter(0).build());
//printing.print(printables);
Printooth.INSTANCE.printer().print(printables);
}
@Override
public void onBitmapFailed(Exception e, Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});
}
错误:
E/decodeBitmap error: height is too large
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.mirasoft.mirasoftapperp, PID: 20979
java.lang.NullPointerException
at com.mazenrashed.printooth.data.DefaultPrintingImagesHelper.getBitmapAsByteArray(DefaultPrintingImagesHelper.kt:8)
at com.mazenrashed.printooth.data.printable.ImagePrintable.getPrintableByteArray(ImagePrintable.kt:16)
at com.mazenrashed.printooth.utilities.Printing.printPrintables(Printing.kt:66)
at com.mazenrashed.printooth.utilities.Printing.access$printPrintables(Printing.kt:13)
at com.mazenrashed.printooth.utilities.Printing$initDeviceCallback$1.onDeviceConnected(Printing.kt:43)
at com.mazenrashed.printooth.utilities.Bluetooth$ConnectThread.lambda$run$0$Bluetooth$ConnectThread(Bluetooth.java:324)
at com.mazenrashed.printooth.utilities.-$$Lambda$Bluetooth$ConnectThread$PrUWb5GXkpw9YbMT2riXHliWDR8.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
【问题讨论】:
-
您使用的库仅支持最高 255 PX 的图像。请参阅github.com/mazenrashed/Printooth/blob/… 第 67 行。高度必须适合两个十六进制数字。要么获得较小的图像,将其缩小到 255 行,要么找到另一个打印库。
-
谢谢,你知道任何其他库可以打印任何尺寸的图像吗?
标签: android thermal-printer pos