2017-03-18 14 views
0

검정색 배경과 흰색 텍스트 (이미지가없고 서식없는 텍스트 만)가있는 NSTextView의 일반 텍스트 콘텐츠 인 프린터로 인쇄하려고합니다.NSTextView 텍스트 내용을 배경 및 텍스트 색 속성없이 (프린터로) 인쇄하는 방법은 무엇입니까?

나는이 코드를 사용하고 있습니다 : 불행하게도

mainTextField.print(Any?.self) 

인쇄 (미리보기), 떨어져 나가 각 용지 카트리지의 잉크를 사용하는 것을에서, 그것은이다 그것에 흰색 텍스트와 검은 색처럼 보인다 환경에도 좋지 않습니다. 배경 및 텍스트 색상 속성없이 텍스트를 인쇄하는 방법이 있습니까?

+0

가 왜 NSPrintInfo를 사용하지 않는로? –

+0

Hi El Tomato, Swift로 프로그램을 배우고 있기 때문에 NSPrintInfo가 내 경험으로 인해 너무 많은 고급 주제가있는 것 같습니다 – Cue

답변

2

인쇄하려면 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) 
} 
+0

Owen Zhao에게 감사합니다. – Cue

+0

@ 텔입니다. –

+0

스위프트 4로 'tv.printView (tv)'로 'tv.print (tv)'를 변경해야했습니다. – Cue