split big chunk of data to write to printer

This commit is contained in:
2026-09-08 17:24:54 +06:30
parent 7bb8778611
commit 5f4a427f3b
3 changed files with 54 additions and 16 deletions

19
img.go
View File

@@ -22,8 +22,6 @@ import (
"golang.org/x/net/html"
"encoding/json"
"github.com/kenshaw/escpos"
)
import (
"log"
@@ -377,30 +375,25 @@ func findNode(n *html.Node, tag string) *html.Node {
return nil
}
func printImg(prt *escpos.Escpos, imgPath string) error {
func imgData(imgPath string) ([]byte, error) {
imgFile, err := os.Open(imgPath)
if err != nil {
fmt.Println(err)
return err
return nil, err
}
img, _, err := image.Decode(imgFile)
defer imgFile.Close()
if err != nil {
fmt.Println(err)
return err
return nil, err
}
data := []byte{0x1D, 0x4C, 0x00, 0x00}
_, err = prt.WriteRaw(data)
if err != nil {
fmt.Println("error 0x1D, 0x4C:", err.Error())
}
gray := toMonochrome(img)
data = escposRaster(gray)
_, err = prt.WriteRaw(data)
return err
imgData := escposRaster(gray)
data = append(data, imgData...)
return data, err
}
func LoadFont(size float64) (*font.Face, error) {