CodeMinion / another_brother

Another Brother Flutter SDK
BSD 3-Clause "New" or "Revised" License
21 stars 19 forks source link

QL printers cannot cut only at end under iOS #74

Open grendes-wunder opened 9 months ago

grendes-wunder commented 9 months ago

Situation:

Relevant parameters we use

Experience:

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)

Artur512 commented 9 months ago

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

CodeMinion commented 8 months ago

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,

grendes-wunder commented 8 months ago

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)