在NSTableView中打印数据

时间:2010-02-19 15:00:21

标签: objective-c cocoa printing

如何打印我的NSTableView中的内容? View使用核心数据,因此一切都存储起来,可以作为NSArray抓取。但是我该如何打印呢?当您单击打印按钮时,它似乎只是拍摄了视图并打印出来。

2 个答案:

答案 0 :(得分:3)

是的,这完全符合记录。要求视图显示其PDF表示(对于未修改的表格视图,这正是您在屏幕上看到的内容),然后将其打印出来。

用于打印与屏幕绘图的视图drawing can be customized,但对于表格视图,这比它的价值更麻烦。

最简单的方法是生成表格的HTML表示,然后打印出来。您可以使用WebKit或仅使用普通的NSAttributedString和屏幕外的NSTextView。诀窍是生成HTML,使用HTML数据创建一个属性字符串(这里有一个方法),然后将其交给屏幕外文本视图。文本视图将根据需要调整大小,然后您只需告诉它进行打印。这使您可以控制分页,因为WebKit当前不支持CSS的特定于打印的部分(换句话说,它是“仅限屏幕”)。

答案 1 :(得分:1)

我所做的是获取数据并以最终用户想要打印的方式将其绘制到基于NSView的对象。然后用户打印出来。它在文档中。

我喜欢Joshua Nozzi的想法,可能比定制绘画简单得多......