gpt4 book ai didi

android - 将收据打印到文件

转载 作者:行者123 更新时间:2023-11-29 00:54:15 24 4
gpt4 key购买 nike

我可以通过热敏打印机打印收据(byte[] 打印机格式),如下所示:

// Print a receipt
OutputStream outputStream = mPrinterSocket.getOutputStream();
for (byte[] packet : content)
outputStream.write(packet);
outputStream.flush();

但我无法将收据(byte[] 打印机格式)保存到文件(pdf 或图像)中。我试过了:

// Save a receipt
try (OutputStream outputStream = new FileOutputStream(filePath)) {
for (byte[] packet : content) {
outputStream.write(packet);
outputStream.flush();
}
} catch (Exception exception) {
exception.printStackTrace();
}

但它返回了一个损坏的文件,其中包含:

䀛琛ᬐšℝ䴑ਊℝ䴀‬੍੍ㄊ⼵㔰ㄯ‹ㄱ㈺‱†††††慔汢⁥਱䔛ਁ′潂獩潳獮†††††††††††ᬊE‱潃慣†††††††††††⸲〲ᬊE‱慆瑮⁡††††††††††⸲〲ⴊⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭਭ䔛吁呏䱁†††††††††䔠剕㐠㐮ਰਊ䔛䴀牥楣‬⃠楢湥⁴ਡਊਊᴊV

“将字节[]打印到文件”的过程与“将字节[]保存到文件”的过程是否不同?例如,我使用字符 {0x1b, 0x45, 0x01} 将文本加粗,这是一个问题吗?我想避免重新格式化所有内容或使用外部库。

最佳答案

我会将 FileOutputStream 包装到 BufferedOutputStream 中,而不是使用普通的 FOS。读取或写入文件时,最好使用缓冲区。

此外,您不需要在每个数据包之后都在循环之外 flush() - 就像您的第一个示例一样。这也提高了性能。

关于android - 将收据打印到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56145613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com