【问题标题】:How do I set the printInfo to print in landscape in OS X?如何在 OS X 中将 printInfo 设置为横向打印?
【发布时间】:2015-08-12 12:38:19
【问题描述】:

我设置了以下代码:

let printInfo = NSPrintInfo.sharedPrintInfo
let textPrint = NSPrintOperation(view: theTextView,printInfo: printInfo())

现在我想将 orientation 设置为 Landscape,但我找不到任何可以执行此操作的 Swift 函数。

【问题讨论】:

    标签: swift cocoa nsprintoperation nsprintinfo


    【解决方案1】:

    这就是我正在使用的。 NSView 称为绘图。

    let pinfo = NSPrintInfo.shared()
    pinfo.orientation = .landscape
    pinfo.bottomMargin = 0.0
    pinfo.topMargin = 0.0
    pinfo.leftMargin = 0.0
    pinfo.rightMargin = 0.0
    drawing!.print(self)
    

    【讨论】:

      【解决方案2】:

      试试这个:

      let pmPageFormat = printInfo.PMPageFormat()
      PMSetOrientation(pmPageFormat, kPMLandscape, kPMUnlocked)
      printInfo.updateFromPMPageFormat()
      

      【讨论】:

      • 我试过这个但得到以下编译错误: () -> NSPrintInfo' 没有名为 'PMPageFormat' 的成员,同样 '() -> NSPrintInfo' 没有名为 'updateFromPMPageFormat' 的成员'
      • 代码的第一行缺少括号。应该是let printInfo = NSPrintInfo.sharedPrintInfo()。您获得了对该函数的引用,而不是调用该函数并获得其结果。当然,在下一行传递printInfo 时,您应该有括号。通过printInfo,而不是printInfo()
      • 谢谢,我确实错过了括号,但是,我仍然在 PMSetOrientation 中使用类型为 '(() UnsafeMutablePointer, Int, Int)' 的参数列表无法调用 'PMSetOrientation' (pmPageFormat, kPMLandscape, kPMUnlocked) 声明
      • 你复制我的代码第一行的括号有没有?
      • 是的。以下是所有代码: let printInfo = NSPrintInfo.sharedPrintInfo() let textPrint = NSPrintOperation(view: theTextView,printInfo: printInfo) let pmPageFormat = printInfo.PMPageFormat PMSetOrientation(PMCreatePageFormat(pmPageFormat, kPMLandscape, kPMUnlocked)
      猜你喜欢
      • 2013-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多