LAPP 打印服务 支持条码打印和表单打印 通过Socket或windows打印方式
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.3 KiB

  1. package Engine
  2. import (
  3. "bufio"
  4. "fmt"
  5. "os"
  6. "testing"
  7. )
  8. var testIp = "10.111.245.110"
  9. var testPort = 9100
  10. // 测试端口打印机,打印单行信息
  11. func TestSocketPrinter(t *testing.T) {
  12. sp := Printer{Ip: testIp, Port: testPort}
  13. err := sp.openSocket()
  14. defer sp.closeSocket()
  15. if err!= nil {
  16. t.Errorf("Failed to open the socket: %s:%d", "192.168.4.25",9100)
  17. t.Errorf("%v", err)
  18. }
  19. barcode := `^XA^FO100,100^BY1^FO200,60^A@N,35,35,E:SIMSUN.FNT^FD古麟剑^FS^FO200,
  20. 100^BCN,100,N,N,N,N^FD$BARCODE$^FS^FO200,200^A@N,35,35,E:SIMSUN.FNT^FD$BARCODE$^FS^XZ`
  21. err = sp.printTaskBytesRow([]byte(barcode))
  22. if err!= nil {
  23. t.Errorf("Failed to print the task: %s", barcode)
  24. t.Errorf("%v", err)
  25. }
  26. }
  27. // 将打印文件输出到端口打印机打印
  28. func TestSocketPrinterWithFile(t *testing.T) {
  29. var err error
  30. var file *os.File
  31. sp := Printer{Ip: testIp, Port: testPort}
  32. err = sp.openSocket()
  33. defer sp.closeSocket()
  34. if err!= nil {
  35. fmt.Println(err)
  36. }
  37. file, err = os.Open("D:\\GoVersion\\gopath\\src\\LAPP_SJA_ME\\Template\\Inbox\\00004788.XLSX")
  38. if err!= nil {
  39. fmt.Println(err)
  40. }
  41. defer file.Close()
  42. scanner := bufio.NewScanner(file)
  43. for scanner.Scan(){
  44. lineBytes := scanner.Bytes()
  45. fmt.Println(lineBytes)
  46. err = sp.printTaskBytesRow(lineBytes)
  47. if err!= nil {
  48. fmt.Println(err)
  49. }
  50. }
  51. }