another_brother icon indicating copy to clipboard operation
another_brother copied to clipboard

QL printers cannot cut only at end under iOS

Open grendes-wunder opened this issue 2 years ago • 3 comments

Situation:

  • we use an "etiquette" paper (type W62H29)
  • we aim to print multiple copies and only cut after the last "page" (label)

Relevant parameters we use

  • isAutoCut: false
  • isLabelEndCut / isCutAtEnd: true

Experience:

  • things works as expected under Android with isLabelEndCut = true
  • however, under iOS the cut does not happen (the paper just hangs out of the printer), no matter if we set isLabelEndCut or isCutAtEnd to true (this latter one is supported by the QL- family: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android/printerinfo-property-compatibility.html)

Is this some limitation on iOS of brother_sdk / another_brother, or our approach is incorrect?

Any tip/help is appreciated :)

(ps: yeah we do have a workaround to print n-1 pages without autocut and the last one with autocut, but it seems clumsy/slower)

grendes-wunder avatar Nov 28 '23 10:11 grendes-wunder

I have the same issue on IOS. Android works fine.

Artur512 avatar Nov 28 '23 11:11 Artur512

Hi @grendes-wunder ,

Thanks for reaching out about this and apologies for delayed reply. Looking at the code on the iOS side we seem to be setting the right value here: https://github.com/CodeMinion/another_brother/blob/609ce009592b52a1d1e4363c2b7239f8a0726467/ios/Classes/Method/BrotherUtils.m#L693 and according to their docs it's supported https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/ios_v4/brlmqlprintsettings.html so my first inclination might be either a bug in the translation or in the SDK version we have.

I'll try to set some time aside this weekend to confirm if that's what's going on.

In the meantime if you could print the value from the map under that line it would be a quick way to confirm

Thanks again,

CodeMinion avatar Dec 19 '23 01:12 CodeMinion

Hey @CodeMinion ,

I could print the PrinterInfo value just after it was set, and they do seem correct, still cut is not applied at the end. I have checked it even with the latest another_brother version.

flutter: {printerModel: {id: 53, name: QL_820NWB}, port: {id: 4, name: NET}, ipAddress: 192.168.1.86, macAddress: , localName: , lastConnectedAddress: , paperSize: {id: 1, name: A4}, orientation: {id: 1, name: PORTRAIT}, numberOfCopies: 1, halftone: {id: 2, name: PATTERNDITHER}, printMode: {id: 4, name: FIT_TO_PAPER}, align: {id: 1, name: LEFT}, valign: {id: 1, name: TOP}, margin: {top: 0, left: 0}, pjCarbon: false, pjDensity: 5, pjFeedMode: {id: 2, name: PJ_FEED_MODE_FIXEDPAGE}, customPaperWidth: 0, customPaperLength: 0, customFeed: 0, rjDensity: 0, rotate180: false, peelMode: false, mirrorPrint: false, paperPosition: {id: 2, name: CENTER}, isAutoCut: false, isCutAtEnd: true, mode9: true, skipStatusCheck: false, checkPrintEnd: {id: 1, name: CPE_NO_CHECK}, rollPrinterCase: {id: 1, name: PJ_ROLLCASE_OFF}, pjSpeed: 2, thresholdingValue: 127, timeout: {processTimeoutSec: -1, sendTimeoutSec: 90, receiveTimeoutSec: 180, closeWaitMSec: 500, connectionWaitMSec: 500, closeWaitDisusingStatusCheckSec: 3}, dashLine: false, savePrnPath: , overwrite: true, isHalfCut: false, isSpecialTape: false, labelNameIndex: 8, customPaper: , binCustomPaper: null, customPaperInfo: null, isLabelEndCut: true, printQuality: {id: 2, name: NORMAL}, labelMargin: 0, scaleValue: 1.0, isCutMark: false, softFocusing: false, trimTapeAfterData: false, enabledTethering: false, rawMode: false, workPath: , pjPaperKind: {id: 2, name: PJ_CUT_PAPER}, useLegacyHalftoneEngine: false, banishMargin: false, useCopyCommandInTemplatePrint: false, labelName: {id: 9, name: W62H29, model: QL700}}

(Sorry I just don't know hot to find & edit that BrotherUtils.m file from Xcode)

grendes-wunder avatar Dec 24 '23 15:12 grendes-wunder