---
title: NSPrintInfo
framework: appkit
role: symbol
role_heading: Class
path: appkit/nsprintinfo
---

# NSPrintInfo

An object that stores information that’s used to generate printed output.

## Declaration

```swift
class NSPrintInfo
```

## Overview

Overview A shared NSPrintInfo object is automatically created for an app and is used by default for all printing jobs for that app. The printing information in an NSPrintInfo object is stored in a dictionary. To access the standard attributes in the dictionary directly, this class defines a set of keys and provides the dictionary() method. You can also initialize an instance of this class using the init(dictionary:) method. You can use this dictionary to store custom information associated with a print job. Any non-object values should be stored as NSNumber or NSValue objects in the dictionary. See NSNumber for a list of types which should be stored as numbers. For other non-object values, use the NSValue class. To store custom information that belongs in printing presets you should use the dictionary returned by the printSettings method.

## Topics

### Creating the Printing Information Object

- [shared](appkit/nsprintinfo/shared.md)
- [init(dictionary:)](appkit/nsprintinfo/init(dictionary:).md)
- [init()](appkit/nsprintinfo/init().md)
- [init(coder:)](appkit/nsprintinfo/init(coder:).md)

### Managing the Printing Rectangle

- [paperSize](appkit/nsprintinfo/papersize.md)
- [topMargin](appkit/nsprintinfo/topmargin.md)
- [bottomMargin](appkit/nsprintinfo/bottommargin.md)
- [leftMargin](appkit/nsprintinfo/leftmargin.md)
- [rightMargin](appkit/nsprintinfo/rightmargin.md)
- [imageablePageBounds](appkit/nsprintinfo/imageablepagebounds.md)
- [orientation](appkit/nsprintinfo/orientation-swift.property.md)
- [NSPrintInfo.PaperOrientation](appkit/nsprintinfo/paperorientation.md)
- [paperName](appkit/nsprintinfo/papername.md)
- [NSPrinter.PaperName](appkit/nsprinter/papername.md)
- [localizedPaperName](appkit/nsprintinfo/localizedpapername.md)

### Pagination

- [horizontalPagination](appkit/nsprintinfo/horizontalpagination.md)
- [verticalPagination](appkit/nsprintinfo/verticalpagination.md)
- [NSPrintInfo.PaginationMode](appkit/nsprintinfo/paginationmode.md)

### Positioning the Image on the Page

- [isHorizontallyCentered](appkit/nsprintinfo/ishorizontallycentered.md)
- [isVerticallyCentered](appkit/nsprintinfo/isverticallycentered.md)

### Specifying the Printer

- [printer](appkit/nsprintinfo/printer.md)
- [NSPrinter](appkit/nsprinter.md)

### Controlling Printing

- [jobDisposition](appkit/nsprintinfo/jobdisposition-swift.property.md)
- [NSPrintInfo.JobDisposition](appkit/nsprintinfo/jobdisposition-swift.struct.md)
- [setUpPrintOperationDefaultValues()](appkit/nsprintinfo/setupprintoperationdefaultvalues().md)

### Accessing the Print Info Dictionary

- [dictionary()](appkit/nsprintinfo/dictionary().md)

### Print Settings Convenience Methods

- [isSelectionOnly](appkit/nsprintinfo/isselectiononly.md)
- [scalingFactor](appkit/nsprintinfo/scalingfactor.md)

### Accessing Core Printing Information

- [printSettings](appkit/nsprintinfo/printsettings.md)
- [NSPrintInfo.SettingKey](appkit/nsprintinfo/settingkey.md)
- [pmPrintSession()](appkit/nsprintinfo/pmprintsession().md)
- [pmPageFormat()](appkit/nsprintinfo/pmpageformat().md)
- [pmPrintSettings()](appkit/nsprintinfo/pmprintsettings().md)
- [updateFromPMPageFormat()](appkit/nsprintinfo/updatefrompmpageformat().md)
- [updateFromPMPrintSettings()](appkit/nsprintinfo/updatefrompmprintsettings().md)
- [takeSettings(from:)](appkit/nsprintinfo/takesettings(from:).md)

### Constants

- [NSPrintInfo.AttributeKey](appkit/nsprintinfo/attributekey.md)

### Deprecated

- [defaultPrinter](appkit/nsprintinfo/defaultprinter.md)
- [NSPrintInfo.Orientation](appkit/nsprintinfo/orientation-swift.enum.md)
- [Deprecated Printing Keys](appkit/deprecated-printing-keys.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Print Information

- [NSPrinter](appkit/nsprinter.md)
- [NSPrintOperation](appkit/nsprintoperation.md)
