Я могу распечатать квитанцию (формат принтера в байтах []) через термопринтер, например:
// Print a receipt
OutputStream outputStream = mPrinterSocket.getOutputStream();
for (byte[] packet : content)
outputStream.write(packet);
outputStream.flush();
Но мне не удается сохранить квитанцию (формат принтера в байтах []) в файл (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 ‱ 潃 慣††††††††††† ⸲〲ᬊ Е ‱ 慆 瑮 †††††††††† ⸲〲ლⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ ਭ 䔛 吁 呏 䱁 ††††††††† 䔠 剕 㐠 㐮 ਰਊ 䔛䴀 牥 楣 ⃠ 楢 湥 ⁴ਡਊਊᴊ V </p>
Отличается ли процесс «печати байта [] в файл» от «сохранения байта [] в файл»? Например, я использую символ {0x1b, 0x45, 0x01}, чтобы выделить текст жирным шрифтом, это проблема? Я хотел бы избежать переформатирования всего или использования внешней библиотеки.