swift 中的收据对齐工作不正常

Receipt alignment is not working properly in swift

我目前正在根据我的数据打印收据 当我打印收据时,对齐数据无法正常工作

我认为我应该将开始索引和结束索引应用于字符串

因为我的产品名称长度不同 所以我应用这段代码来检查字符串的长度

这是收据的截图

可以看到收据对齐错误

这是我提供校准和收据的代码

   if       ProductName.characters.count > 13 {let subStr = ProductName[ProductName.startIndex.advancedBy(0)... ProductName.characters.count(13)]
            strtext.appendString(String (format: "%@ %@                       %@\n", sQuantity,subStr,s))
            textData.appendString(strtext as String)
        }

我的要求是数量、名称和价格应该先来 我的收据排列不正确

谁能帮我解决这个问题?

你的代码也很好, 在

Epson 打印机中有选项
enum EposOcAlign {
 EPOS_OC_ALIGN_LEFT = 0,
 EPOS_OC_ALIGN_CENTER,
 EPOS_OC_ALIGN_RIGHT
};

调用方法 - (int) addTextAlign:(int)align; 使用对齐类型 center 并尝试一次