如何打印(使用打印机)没有背景和文本颜色属性的 NSTextView 文本内容?
How to print (with a printer) a NSTextView text content without background and text color attribute?
我正在尝试使用打印机打印 NSTextView 的纯文本内容,它具有黑色背景和白色文本(没有图像,只有未格式化的文本)。
我正在使用此代码:
mainTextField.print(Any?.self)
不幸的是,打印(预览)看起来像黑色,上面有白色文字,除此之外我会为每张纸使用墨盒墨水,即使对环境也不好。有没有办法只打印没有背景和文本颜色属性的文本?
当你想打印的时候,只需要创建一个新的 NSTextView。
@IBAction func printButtonClicked(_ sender: Any) {
let tv = NSTextView(frame: textView.frame)
tv.string = textView.string
tv.print(tv)
}
---更新:富文本。---
@IBAction func printButtonClicked(_ sender: Any) {
let tv = NSTextView(frame: textView.frame)
if textView.isRichText {
let data = textView.rtf(from: NSMakeRange(0, (textView.string! as NSString).length))
tv.replaceCharacters(in: NSMakeRange(0, 0), withRTF: data!)
tv.textColor = .black
}
else {
tv.string = textView.string
}
tv.print(nil)
}
在我的项目中,我通过代码打印文本视图的文本内容。 Swift 4 iOS 10
func printContent() {
let printer = UIPrintInteractionController.shared
printer.printFormatter = UISimpleTextPrintFormatter(attributedText: self.contentView.attributedText)
printer.present(animated: true) { printer, success, error in
print("print success: \(success)")
}
}
我正在尝试使用打印机打印 NSTextView 的纯文本内容,它具有黑色背景和白色文本(没有图像,只有未格式化的文本)。
我正在使用此代码:
mainTextField.print(Any?.self)
不幸的是,打印(预览)看起来像黑色,上面有白色文字,除此之外我会为每张纸使用墨盒墨水,即使对环境也不好。有没有办法只打印没有背景和文本颜色属性的文本?
当你想打印的时候,只需要创建一个新的 NSTextView。
@IBAction func printButtonClicked(_ sender: Any) {
let tv = NSTextView(frame: textView.frame)
tv.string = textView.string
tv.print(tv)
}
---更新:富文本。---
@IBAction func printButtonClicked(_ sender: Any) {
let tv = NSTextView(frame: textView.frame)
if textView.isRichText {
let data = textView.rtf(from: NSMakeRange(0, (textView.string! as NSString).length))
tv.replaceCharacters(in: NSMakeRange(0, 0), withRTF: data!)
tv.textColor = .black
}
else {
tv.string = textView.string
}
tv.print(nil)
}
在我的项目中,我通过代码打印文本视图的文本内容。 Swift 4 iOS 10
func printContent() {
let printer = UIPrintInteractionController.shared
printer.printFormatter = UISimpleTextPrintFormatter(attributedText: self.contentView.attributedText)
printer.present(animated: true) { printer, success, error in
print("print success: \(success)")
}
}