首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift -爱普生POS机- ePOS iOS - addTextSize -如何将文本大小更改回原始大小?

Swift -爱普生POS机- ePOS iOS - addTextSize -如何将文本大小更改回原始大小?
EN

Stack Overflow用户
提问于 2020-06-10 02:26:42
回答 1查看 717关注 0票数 0

我正在iPad上建立一个POS机,使用swift通过以太网连接打印到爱普生打印机。

我正在使用爱普生文档和示例项目来让打印机正常运行。

现在问题来了:

我需要更改文本大小(更大),然后恢复到原始文本大小-我可以最初更改textSize没有问题->,但当我恢复到原始大小时,它确实变小了,但它并不像原始的小。如下所示:

根据Epson docs - addTextSize() -是我正在寻找的方法,它接受1-8之间的Int值来缩放高度和宽度(它声明1是默认值)

https://reference.epson-biz.com/modules/ref_epos_sdk_ios_en/index.php?vid=ref_epos_sdk_ios_en_epos2printerclass_addtextsize#BHIHFBFB

下面是我的代码:

代码语言:javascript
复制
func sendPrint(printer: Epos2Printer) -> Bool {
    var result = EPOS2_SUCCESS.rawValue
    let textData: NSMutableString = NSMutableString()

    result = printer.addFeedLine(2)
    if result != EPOS2_SUCCESS.rawValue {
        printer.clearCommandBuffer()
        MessageView.showErrorEpos(result, method:"addFeedLine")
        return false
    }

    textData.append("Food item       $12.00\n")
    textData.append("Food item       $12.00\n")
    textData.append("Food item       $12.00\n")
    textData.append("Food item       $12.00\n")

    // SEND AT ORIGINAL TEXT SIZE (Should be 1,1)
    result = printer.addText(textData as String)
    if result != EPOS2_SUCCESS.rawValue {
        printer.clearCommandBuffer()
        MessageView.showErrorEpos(result, method:"addText")
        return false
    }
    textData.setString("")

    // CHANGE TEXT SIZE BIGGER WIDTH (2,1)
    result = printer.addTextSize(2, height:1)
    if result != EPOS2_SUCCESS.rawValue {
        printer.clearCommandBuffer()
        MessageView.showErrorEpos(result, method:"addTextSize")
        return false
    }

    textData.append("ADDRESS               \n")
    textData.append("CITY                  \n")
    textData.append("STATE                 \n")
    textData.append("ZIPCODE               \n")

    result = printer.addText(textData as String)
    if result != EPOS2_SUCCESS.rawValue {
        printer.clearCommandBuffer()
        MessageView.showErrorEpos(result, method:"addText")
        return false
    }
    textData.setString("")

    // CHANGE TEXT SIZE BACK TO DEFAULT (1,1)
    result = printer.addTextSize(1, height: 1) 
    if result != EPOS2_SUCCESS.rawValue {
        printer.clearCommandBuffer()
        MessageView.showErrorEpos(result, method:"addTextSize")
        return false
    }

    textData.append("Food item       $12.00\n")
    textData.append("Food item       $12.00\n")
    textData.append("Food item       $12.00\n")
    textData.append("Food item       $12.00\n")

    result = printer.addText(textData as String)
    if result != EPOS2_SUCCESS.rawValue {
        printer.clearCommandBuffer()
        MessageView.showErrorEpos(result, method:"addText")
        return false
    }
    textData.setString("")

    result = printer.addFeedLine(2)
    if result != EPOS2_SUCCESS.rawValue {
        printer.clearCommandBuffer()
        MessageView.showErrorEpos(result, method:"addFeedLine")
        return false
    }

    result = printer.addCut(EPOS2_CUT_FEED.rawValue)
    if result != EPOS2_SUCCESS.rawValue {
        printer.clearCommandBuffer()
        MessageView.showErrorEpos(result, method:"addCut")
        return false
    }

    printer.beginTransaction()
    result = printer.sendData(Int(EPOS2_PARAM_DEFAULT))
    if result != EPOS2_SUCCESS.rawValue {
        printer.clearCommandBuffer()
        MessageView.showErrorEpos(result, method:"sendData")
        printer.disconnect()
        return false
    }
    printer.endTransaction()
    return true
}

现在我知道一个可行的选择是从头开始设置textSize -但我更喜欢保持顶部和底部尽可能小的大小。

我还尝试将EPOS2_PARAM_DEFAULT指定为产生相同结果的参数-我尝试将0作为输入,这会导致textSize更改失败-我尝试使用双精度值,如1.5或.5,但无法编译

有什么想法吗?

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

发布于 2020-06-10 04:33:39

经过无数次的尝试,我终于明白了这一点--我会保持这篇文章,因为它可能会在未来对某些人有所帮助,因为iPads似乎在POS机解决方案中变得越来越流行

因此,当您更改文本大小时,字体似乎也会更改-我认为这可能是Epos SDK中的一个错误,因为他们声明默认字体为EPOS2_FONT_A,但看起来初始字体以EPOS2_FONT_B ->开头,然后当您更改文本大小时,它会将字体恢复为EPOS2_FONT_A (default)

如果您想让它保持较小的字体,只需在准备打印数据的开始设置addTextFont(EPOS2_FONT_B)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62289482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档