Я столкнулся с этим сам.
Я решил сделать это в Swift:
let printInfo = NSPrintInfo.sharedPrintInfo()
let printOperation = NSPrintOperation(view: webView.mainFrame.frameView.documentView, printInfo: printInfo)
printOperation.printInfo.orientation = NSPaperOrientation(rawValue: 1)! // switch to landscape
printOperation.printInfo.leftMargin = 10
printOperation.printInfo.rightMargin = 10
printOperation.printInfo.topMargin = 10
printOperation.printInfo.bottomMargin = 10
printOperation.runOperation()
NSPaperOrientation принимает целочисленное значение (0 = портрет, 1 = пейзаж)
Хотя, возможно, может немного привести в порядок вещи.