ios - 打印 UITextView(使用蓝牙打印机)不会保留换行符

标签 ios swift printing line-breaks

在我的应用程序中,我有一个 UITextView 实例和一个 UIButton 实例拖到我的 View Controller 上。

每当按下按钮时,它都会获取 TextView 中的文本,并将数据发送到打印机进行打印。

在我的 ViewDidLoad() 方法中,我正在编译一个字符串并将其加载到我的 TextView 中。

我的完整类(class)如下所示:

class CSTSummaryViewController: UIViewController {

    @IBOutlet weak var summaryReport: UITextView!

    @IBAction func Print(sender: AnyObject) {
        let printController = UIPrintInteractionController.sharedPrintController()
        let printInfo = UIPrintInfo(dictionary: nil)
        printInfo.outputType = UIPrintInfoOutputType.General
        printInfo.jobName = "Print Summary"
        printController.printInfo = printInfo

        let format = UIMarkupTextPrintFormatter(markupText: summaryReport.text)
        format.contentInsets = UIEdgeInsets(top: 72, left: 72, bottom: 72, right: 72)
        printController.printFormatter = format
        printController.presentAnimated(true, completionHandler: nil)
    }


    override func viewDidLoad() {
        super.viewDidLoad()

        let reportString: String = "Property Owner: John Smith\n\nProperty ID: Main Street Residence\n\nReviewed By: Joe Schmoe\n\nNotes: These are some notes.\n\n"

        summaryReport.text = reportString
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

打印函数工作得很好,除了它全部打印在一行上,而不是保留我准备好的字符串中包含的\n 换行符。

如果有人想知道,我尝试将结果显示到 NSLog 中,当我这样做时,换行符会保留在那里。只有当我发送到打印机时,它们才会被删除。

如有任何帮助,我们将不胜感激。

提前谢谢您!

最佳答案

为了解决这个问题,我只是做了一个字符串函数,将任何换行符 ( \n ) 替换为 HTML 换行符 ( <br/> )

关于ios - 打印 UITextView(使用蓝牙打印机)不会保留换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39650283/

相关文章:

ios - 比较日期与 currentDate Swift 时的奇怪 react

swift - 递归 Swift Sliceable

css - 如何让我的网页的一部分不打印

ios - 调整 UIToolBar 高度的问题 | swift

ios - 覆盖 setContentOffset

ios - 我可以从 "Pending Developer Release"中删除应用程序吗

ios - Swift - 如何在移动到另一个场景时从场景中删除滑动手势?

swift - 快速井字棋 - 获胜线

Pythonic 打印列表项的方法

javascript - 如何更改@media 打印查询中的 css?